#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
Процедура ЗадатьОписаниеЗаполняемыхРеквизитовПоСтатистике(ОписаниеРеквизитов) Экспорт
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Ответственный";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Ответственный";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(
ОписаниеРеквизитов, "Организация", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Сотрудник";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Сотрудник";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(
ОписаниеРеквизитов, "Подразделение", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Организация, ТипУслуги";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(
ОписаниеРеквизитов, "СтатьяДвиженияДенежныхСредств", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Организация, ХозяйственнаяОперация";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(
ОписаниеРеквизитов, "ГруппаФинансовогоУчета", Параметры);
КонецПроцедуры
Процедура ЗаполнитьНастройкиПолейФормы(Настройки) Экспорт
Финансы = ФинансоваяОтчетностьСервер;
#Область Реквизиты
Элемент = Настройки.Добавить();
Элемент.Поля.Добавить("ДокументОснование");
Финансы.НовыйОтбор(Элемент.Условие, "ДокументОснование",,, ВидСравненияКомпоновкиДанных.Заполнено);
Элемент.Свойства.Вставить("Видимость");
Элемент = Настройки.Добавить();
Элемент.Поля.Добавить("НомерБилета");
Финансы.НовыйОтбор(Элемент.Условие, "ТипБронирования", Перечисления.ТипыБронирования.ЭлектронныйБилет);
Элемент.Свойства.Вставить("Заголовок", НСтр("ru = 'Номер билета'"));
Элемент = Настройки.Добавить();
Элемент.Поля.Добавить("НомерБилета");
Финансы.НовыйОтбор(Элемент.Условие, "ТипБронирования", Перечисления.ТипыБронирования.Бронирование);
Элемент.Свойства.Вставить("Заголовок", НСтр("ru = 'Номер'"));
Элемент = Настройки.Добавить();
Элемент.Поля.Добавить("ХозяйственнаяОперация");
Финансы.НовыйОтбор(Элемент.Условие, "ТипБронирования", Перечисления.ТипыБронирования.ЭлектронныйБилет);
Элемент.Свойства.Вставить("Видимость");
Элемент = Настройки.Добавить();
Элемент.Поля.Добавить("Агент");
Элемент.Поля.Добавить("КонтрагентАгент");
Финансы.НовыйОтбор(Элемент.Условие, "ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.БронированиеЧерезАгента);
Элемент.Свойства.Вставить("Видимость");
Элемент = Настройки.Добавить();
Элемент.Поля.Добавить("ПодотчетноеЛицо");
Элемент.Поля.Добавить("ПодразделениеПодотчетногоЛица");
Финансы.НовыйОтбор(Элемент.Условие, "ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо);
Элемент.Свойства.Вставить("Видимость");
Элемент = Настройки.Добавить();
Элемент.Поля.Добавить("ТекстАвансовыйОтчет");
Финансы.НовыйОтбор(Элемент.Условие, "ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо);
Финансы.НовыйОтбор(Элемент.Условие, "Дополнительно.ПечатьЕдиногоАвансовогоОтчета", Истина);
Элемент.Свойства.Вставить("Видимость");
Элемент = Настройки.Добавить();
Элемент.Поля.Добавить("Договор");
ГруппаИли = Финансы.НовыйОтбор(Элемент.Условие,,, Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
ГруппаИли.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
Финансы.НовыйОтбор(ГруппаИли, "ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.БронированиеЧерезАгента);
Финансы.НовыйОтбор(ГруппаИли, "ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.БронированиеУПоставщика);
Элемент.Свойства.Вставить("Видимость");
Элемент = Настройки.Добавить();
Элемент.Поля.Добавить("Перевозчик");
Элемент.Поля.Добавить("КонтрагентПеревозчик");
Финансы.НовыйОтбор(Элемент.Условие, "ТипБронирования", Перечисления.ТипыБронирования.ЭлектронныйБилет);
Элемент.Свойства.Вставить("Видимость");
Элемент = Настройки.Добавить();
Элемент.Поля.Добавить("ДатаОтправления");
Финансы.НовыйОтбор(Элемент.Условие, "ТипБронирования", Перечисления.ТипыБронирования.ЭлектронныйБилет);
Элемент.Свойства.Вставить("Заголовок", НСтр("ru = 'Дата отправления'"));
Элемент = Настройки.Добавить();
Элемент.Поля.Добавить("ДатаПрибытия");
Финансы.НовыйОтбор(Элемент.Условие, "ТипБронирования", Перечисления.ТипыБронирования.ЭлектронныйБилет);
Элемент.Свойства.Вставить("Заголовок", НСтр("ru = 'Дата прибытия'"));
Элемент = Настройки.Добавить();
Элемент.Поля.Добавить("ДеталиПоездки");
Финансы.НовыйОтбор(Элемент.Условие, "ТипБронирования", Перечисления.ТипыБронирования.ЭлектронныйБилет);
Элемент.Свойства.Вставить("Заголовок", НСтр("ru = 'Детали поездки'"));
Элемент = Настройки.Добавить();
Элемент.Поля.Добавить("ДатаОтправления");
Финансы.НовыйОтбор(Элемент.Условие, "ТипБронирования", Перечисления.ТипыБронирования.Бронирование);
Элемент.Свойства.Вставить("Заголовок", НСтр("ru = 'Дата начала'"));
Элемент = Настройки.Добавить();
Элемент.Поля.Добавить("ДатаПрибытия");
Финансы.НовыйОтбор(Элемент.Условие, "ТипБронирования", Перечисления.ТипыБронирования.Бронирование);
Элемент.Свойства.Вставить("Заголовок", НСтр("ru = 'Дата окончания'"));
Элемент = Настройки.Добавить();
Элемент.Поля.Добавить("ДеталиПоездки");
Финансы.НовыйОтбор(Элемент.Условие, "ТипБронирования", Перечисления.ТипыБронирования.Бронирование);
Элемент.Свойства.Вставить("Заголовок", НСтр("ru = 'Детали бронирования'"));
Элемент = Настройки.Добавить();
Элемент.Поля.Добавить("ГруппаФинансовогоУчета");
Финансы.НовыйОтбор(Элемент.Условие, "ТипБронирования", Перечисления.ТипыБронирования.ЭлектронныйБилет);
Элемент.Свойства.Вставить("Видимость");
Элемент = Настройки.Добавить();
Элемент.Поля.Добавить("СпособСписанияНапрямую");
Финансы.НовыйОтбор(Элемент.Условие, "ТипБронирования", Перечисления.ТипыБронирования.ЭлектронныйБилет);
Элемент.Свойства.Вставить("Видимость");
Элемент = Настройки.Добавить();
Элемент.Поля.Добавить("ГруппаСписание");
Финансы.НовыйОтбор(Элемент.Условие, "СпособСписанияНапрямую", Истина);
Элемент.Свойства.Вставить("Видимость");
Элемент = Настройки.Добавить();
Элемент.Поля.Добавить("ГруппаОтраженияПраво");
Финансы.НовыйОтбор(Элемент.Условие, "СпособСписанияНапрямую", Истина);
Элемент.Свойства.Вставить("Видимость");
Элемент = Настройки.Добавить();
Элемент.Поля.Добавить("ПринятьНДСКВычету");
Финансы.НовыйОтбор(Элемент.Условие, "ЗакупкаПодДеятельность", Перечисления.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС);
Элемент.Свойства.Вставить("Видимость");
Элемент = Настройки.Добавить();
Элемент.Поля.Добавить("ГруппаВидОперации");
Финансы.НовыйОтбор(Элемент.Условие, "ПринятьНДСКВычету", Истина);
Элемент.Свойства.Вставить("Видимость");
Элемент = Настройки.Добавить();
Элемент.Поля.Добавить("Сотрудник");
Финансы.НовыйОтбор(Элемент.Условие, "СпособСписанияНапрямую", Ложь);
Элемент.Свойства.Вставить("Видимость");
Элемент = Настройки.Добавить();
Элемент.Поля.Добавить("СтатьяДвиженияДенежныхСредств");
Финансы.НовыйОтбор(Элемент.Условие, "СпособСписанияНапрямую", Ложь);
Элемент.Свойства.Вставить("Заголовок", НСтр("ru = 'Цель выдачи'"));
Элемент = Настройки.Добавить();
Элемент.Поля.Добавить("СтатьяДвиженияДенежныхСредств");
Финансы.НовыйОтбор(Элемент.Условие, "СпособСписанияНапрямую", Истина);
Элемент.Свойства.Вставить("Заголовок", НСтр("ru = 'Статья движения ДС'"));
#КонецОбласти
КонецПроцедуры
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
КонецПроцедуры
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
Если ПравоДоступа("Добавление", Метаданные.Документы.Бронирование) Тогда
КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.Бронирование.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.Бронирование);
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
Возврат КомандаСоздатьНаОсновании;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст = "РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)
| И ЗначениеРазрешено(Подразделение)
| И ЗначениеРазрешено(Агент)
| И ЗначениеРазрешено(Перевозчик)
|";
КонецПроцедуры
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("РеестрДокументов");
МеханизмыДокумента.Добавить("Взаиморасчеты");
МеханизмыДокумента.Добавить("ОборотныеРегистрыУправленческогоУчета");
МеханизмыДокумента.Добавить("РасчетыСПодотчетниками");
МеханизмыДокумента.Добавить("УчетДоходовРасходов");
МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
МеханизмыДокумента.Добавить("СуммыДокументовВВалютахУчета");
МеханизмыДокумента.Добавить("УчетНДС");
БронированиеЛокализация.ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента);
КонецПроцедуры
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ДопПараметры = Неопределено Тогда
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
КонецЕсли;
Если ТипЗнч(Документ) = Тип("ДокументОбъект.Бронирование") Тогда
ДокументСсылка = Документ.Ссылка;
Иначе
ДокументСсылка = Документ;
КонецЕсли;
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка);
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДенежныеСредстваУПодотчетныхЛиц(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияДенежныеСредстваКонтрагент(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияКонтрагентКонтрагент(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияКонтрагентДоходыРасходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияДенежныеСредстваДоходыРасходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияПоПрочимАктивамПассивам(Запрос, ТекстыЗапроса, Регистры);
ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры);
БронированиеЛокализация.ДополнитьТекстыЗапросовПроведения(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры);
Возврат ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
КонецФункции
Функция ПараметрыВзаиморасчеты(ДанныеЗаполнения = Неопределено) Экспорт
Если ОбщегоНазначения.ЗначениеСсылочногоТипа(ДанныеЗаполнения) Тогда
ТипБронирования = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДанныеЗаполнения, "ТипБронирования").ТипБронирования;
ИначеЕсли ДанныеЗаполнения = Неопределено Тогда
ТипБронирования = Неопределено;
Иначе
ТипБронирования = ДанныеЗаполнения.ТипБронирования;
КонецЕсли;
Если ОбщегоНазначения.ЗначениеСсылочногоТипа(ДанныеЗаполнения) Тогда
СтруктураДанныеЗаполнения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДанныеЗаполнения, "ХозяйственнаяОперация");
Операция = СтруктураДанныеЗаполнения.ХозяйственнаяОперация;
ИначеЕсли ДанныеЗаполнения = Неопределено Тогда
Операция = Неопределено;
Иначе
Операция = ДанныеЗаполнения.ХозяйственнаяОперация;
КонецЕсли;
МассивСтруктур = Новый Массив;
#Область РасчетыСПеревозчиком
СтруктураПараметров = ВзаиморасчетыСервер.ПараметрыМеханизма();
СтруктураПараметров.ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСПоставщиком;
СтруктураПараметров.ПорядокРасчетов = Перечисления.ПорядокРасчетов.ПоНакладным;
Если ТипБронирования = Перечисления.ТипыБронирования.ЭлектронныйБилет Тогда
СтруктураПараметров.ИзменяетПланОплаты = Истина;
Иначе
СтруктураПараметров.ИзменяетПланОплаты = Ложь;
КонецЕсли;
СтруктураПараметров.ИзменяетПланОтгрузкиПоставки = Ложь;
СтруктураПараметров.ИмяРеквизитаТЧСуммаСНДС = "Сумма";
СтруктураПараметров.Соглашение = "";
СтруктураПараметров.БанковскийСчетОрганизации = "";
СтруктураПараметров.БанковскийСчетКонтрагента = "";
СтруктураПараметров.Касса = "";
СтруктураПараметров.ФормаОплаты = "";
СтруктураПараметров.ОплатаВВалюте = "";
СтруктураПараметров.ИдентификаторПлатежа = "";
СтруктураПараметров.НалогообложениеНДС = "";
СтруктураПараметров.ГруппаФинансовогоУчета = "Объект.ГруппаФинансовогоУчета";
СтруктураПараметров.Партнер = "Объект.Перевозчик";
СтруктураПараметров.Контрагент = "Объект.КонтрагентПеревозчик";
СтруктураПараметров.Договор = "";
СтруктураПараметров.ОбъектРасчетов = "Объект.ОбъектРасчетов";
МассивСтруктур.Добавить(СтруктураПараметров);
#КонецОбласти
#Область РасчетыСПеревозчикомИлиАгентомПоДоговоруВЦелом
Если Операция = Перечисления.ХозяйственныеОперации.БронированиеЧерезАгента
Или Операция = Перечисления.ХозяйственныеОперации.БронированиеУПоставщика Тогда
СтруктураПараметров = ВзаиморасчетыСервер.ПараметрыМеханизма();
СтруктураПараметров.ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСПоставщиком;
СтруктураПараметров.ПорядокРасчетов = Перечисления.ПорядокРасчетов.ПоДоговорамКонтрагентов;
СтруктураПараметров.ИзменяетПланОплаты = Истина;
СтруктураПараметров.ИзменяетПланОтгрузкиПоставки = Ложь;
СтруктураПараметров.ИмяРеквизитаТЧСуммаСНДС = "Сумма";
СтруктураПараметров.Соглашение = "";
СтруктураПараметров.БанковскийСчетОрганизации = "";
СтруктураПараметров.БанковскийСчетКонтрагента = "";
СтруктураПараметров.Касса = "";
СтруктураПараметров.ФормаОплаты = "";
СтруктураПараметров.ОплатаВВалюте = "";
СтруктураПараметров.ИдентификаторПлатежа = "";
СтруктураПараметров.НалогообложениеНДС = "";
СтруктураПараметров.ГруппаФинансовогоУчета = "";
Если Операция = Перечисления.ХозяйственныеОперации.БронированиеЧерезАгента Тогда
СтруктураПараметров.Партнер = "Объект.Агент";
СтруктураПараметров.Контрагент = "Объект.КонтрагентАгент";
Иначе
СтруктураПараметров.Партнер = "Объект.Перевозчик";
СтруктураПараметров.Контрагент = "Объект.КонтрагентПеревозчик";
КонецЕсли;
СтруктураПараметров.ОбъектРасчетов = "Объект.ОбъектРасчетовДоговор";
МассивСтруктур.Добавить(СтруктураПараметров);
КонецЕсли;
#КонецОбласти
Возврат МассивСтруктур;
КонецФункции
Функция ПараметрыВыбораСтатейИАналитик() Экспорт
МассивПараметров = Новый Массив;
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект.Операции";
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.ВыборСтатьиАктивовПассивов = Истина;
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.АналитикаАктивовПассивов = "АналитикаАктивовПассивов";
ТипыОперации = Новый Массив;
ТипыОперации.Добавить(Перечисления.ТипыОперацийСБилетами.Возврат);
ПараметрыВыбора.УсловияДоступностиСтатьиВСтроках.Вставить("ТипОперации", ТипыОперации);
МассивПараметров.Добавить(ПараметрыВыбора);
Возврат МассивПараметров;
КонецФункции
Функция ПараметрыВыбораСтатейИАналитикВФормеВводаКорректировки(ТипОперации) Экспорт
МассивПараметровВыбора = Новый Массив;
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.ВыборСтатьиАктивовПассивов = Истина;
ПараметрыВыбора.ЗначениеПоУмолчанию = ПланыВидовХарактеристик.СтатьиРасходов.ПустаяСсылка();
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.ТипСтатьи = "ТипСтатьи";
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.АналитикаАктивовПассивов = "АналитикаАктивовПассивов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("АналитикаРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаАктивовПассивов.Добавить("АналитикаАктивовПассивов");
ПараметрыВыбора.ДоступностьПоОперации = (ТипОперации = Перечисления.ТипыОперацийСБилетами.Возврат);
МассивПараметровВыбора.Добавить(ПараметрыВыбора);
Возврат МассивПараметровВыбора;
КонецФункции
Функция ПараметрыВыбораСтатейИАналитикДляСписанияПрямымМетодом() Экспорт
МассивПараметровВыбора = Новый Массив;
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект";
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.ВыборСтатьиАктивовПассивов = Истина;
ПараметрыВыбора.ЗначениеПоУмолчанию = ПланыВидовХарактеристик.СтатьиРасходов.ПустаяСсылка();
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.ТипСтатьи = "ТипСтатьи";
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.АналитикаАктивовПассивов = "АналитикаАктивовПассивов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("АналитикаРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаАктивовПассивов.Добавить("АналитикаАктивовПассивов");
МассивПараметровВыбора.Добавить(ПараметрыВыбора);
Возврат МассивПараметровВыбора;
КонецФункции
Функция ПараметрыРегистрацииСчетовФактурПолученных(Объект) Экспорт
ПараметрыРегистрации = УчетНДСУПКлиентСервер.ПараметрыРегистрацииСчетовФактурПолученных();
ПараметрыРегистрации.Ссылка = Объект.Ссылка;
ПараметрыРегистрации.Дата = Объект.Дата;
ПараметрыРегистрации.Организация = Объект.Организация;
ПараметрыРегистрации.Контрагент = Объект.КонтрагентПеревозчик;
ПараметрыРегистрации.НалогообложениеНДС = Перечисления.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС;
ПараметрыРегистрации.ИнойДокументПодтвержденияНДС = Истина;
Возврат ПараметрыРегистрации;
КонецФункции
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
Функция ПорядокТиповОпераций() Экспорт
ПорядокТиповОпераций = Новый Соответствие;
ПорядокТиповОпераций.Вставить(Перечисления.ТипыОперацийСБилетами.Возврат,2);
ПорядокТиповОпераций.Вставить(Перечисления.ТипыОперацийСБилетами.Доплата,1);
ПорядокТиповОпераций.Вставить(Перечисления.ТипыОперацийСБилетами.Покупка,0);
Возврат ПорядокТиповОпераций;
КонецФункции
Функция ПараметрыЗаполненияВидаДеятельностиНДС(Документ) Экспорт
Реквизиты = Новый Структура("ДатаПрибытия, Организация");
Если ТипЗнч(Документ) = Тип("ДокументСсылка.Бронирование") Тогда
Реквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Документ, Реквизиты);
Иначе
ЗаполнитьЗначенияСвойств(Реквизиты, Документ);
КонецЕсли;
ПараметрыЗаполнения = УчетНДСУПКлиентСервер.ПараметрыЗаполненияВидаДеятельностиНДС();
ПараметрыЗаполнения.Дата = Реквизиты.ДатаПрибытия;
ПараметрыЗаполнения.Организация = Реквизиты.Организация;
ПараметрыЗаполнения.ПриобретениеНаСтатьи = Истина;
Возврат ПараметрыЗаполнения;
КонецФункции
#КонецОбласти
#КонецЕсли
#Область ОбработчикиСобытий
Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Поля.Добавить("Ссылка");
Поля.Добавить("НомерБилета");
Поля.Добавить("Дата");
Поля.Добавить("ТипУслуги");
КонецПроцедуры
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Представление = СтрШаблон(НСтр("ru = '%1 %2 от %3'"), Строка(Данные.ТипУслуги), Данные.НомерБилета, Данные.Дата);
КонецПроцедуры
#КонецОбласти
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныеПроцедурыИФункции
#Область Проведение
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка)
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Запрос.Текст = "
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.ДатаПрибытия КАК ДатаПрибытия,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.Сотрудник КАК Сотрудник,
| ДанныеДокумента.ПодотчетноеЛицо КАК ПодотчетноеЛицо,
| ДанныеДокумента.ПодразделениеПодотчетногоЛица КАК ПодразделениеПодотчетногоЛица,
| ДанныеДокумента.КонтрагентАгент КАК КонтрагентАгент,
| ДанныеДокумента.Агент КАК Агент,
| ДанныеДокумента.КонтрагентПеревозчик КАК КонтрагентПеревозчик,
| ДанныеДокумента.Перевозчик КАК Перевозчик,
| ДанныеДокумента.Договор КАК Договор,
| ДанныеДокумента.Валюта КАК Валюта,
| ДанныеДокумента.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| ДанныеДокумента.АвансовыйОтчет КАК АвансовыйОтчет,
| ДанныеДокумента.ТипБронирования КАК ТипБронирования,
|
| ДанныеДокумента.НомерБилета КАК Номер,
| ДанныеДокумента.Комментарий КАК Комментарий,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ДанныеДокумента.СуммаДокумента КАК СуммаДокумента,
| ДанныеДокумента.СуммаКВыдаче КАК СуммаКВыдаче,
| ДанныеДокумента.Ответственный КАК Ответственный,
| ДанныеДокумента.ПринятьНДСКВычету КАК ПринятьНДСКВычету,
| ДанныеДокумента.РучнаяКорректировкаЖурналаСФ КАК РучнаяКорректировкаЖурналаСФ,
| ДанныеДокумента.ЗакупкаПодДеятельность КАК ЗакупкаПодДеятельность,
| ДанныеДокумента.СпособСписанияНапрямую КАК СпособСписанияНапрямую,
| ДанныеДокумента.Организация.ВалютаРегламентированногоУчета КАК ВалютаРегламентированногоУчета,
| НастройкиХозяйственныхОпераций.Ссылка КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.Бронирование КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НастройкиХозяйственныхОпераций КАК НастройкиХозяйственныхОпераций
| ПО ДанныеДокумента.ХозяйственнаяОперация = НастройкиХозяйственныхОпераций.ХозяйственнаяОперация
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|";
Результат = Запрос.Выполнить();
Реквизиты = Результат.Выбрать();
Реквизиты.Следующий();
Для каждого Колонка Из Результат.Колонки Цикл
Запрос.УстановитьПараметр(Колонка.Имя, Реквизиты[Колонка.Имя]);
КонецЦикла;
Для каждого КлючИЗначение Из ЗначенияПараметровПроведения(Реквизиты) Цикл
Запрос.УстановитьПараметр(КлючИЗначение.Ключ, КлючИЗначение.Значение);
КонецЦикла;
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализации(Запрос, Реквизиты);
Запрос.УстановитьПараметр("ДатаОстатков", Новый Граница(ДокументСсылка.МоментВремени(), ВидГраницы.Исключая));
КонецПроцедуры
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
Запрос = Новый Запрос();
ТекстыЗапроса = Новый СписокЗначений;
ПолноеИмяДокумента = "Документ.Бронирование";
ПереопределениеРасчетаПараметров = Новый Структура;
ПереопределениеРасчетаПараметров.Вставить("НомерНаПечать", """""");
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ДанныеДокумента";
Иначе
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса, ПолноеИмяДокумента, СинонимТаблицыДокумента, Истина, ПереопределениеРасчетаПараметров);
Иначе
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
ТекстЗапроса, ПолноеИмяДокумента, СинонимТаблицыДокумента);
КонецЕсли;
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ЗначенияПараметров = ЗначенияПараметровПроведения();
Результат.ТекстЗапроса = ТекстЗапроса;
Возврат Результат;
КонецФункции
Функция ЗначенияПараметровПроведения(Реквизиты = Неопределено)
Значения = Новый Структура;
Значения.Вставить("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.Бронирование"));
Значения.Вставить("КонтролироватьВыдачуПодОтчетВРазрезеЦелей", ПолучитьФункциональнуюОпцию("КонтролироватьВыдачуПодОтчетВРазрезеЦелей"));
Значения.Вставить("ИспользоватьУчетПрочихДоходовРасходов", ПолучитьФункциональнуюОпцию("ИспользоватьУчетПрочихДоходовРасходов"));
Значения.Вставить("ИспользоватьУчетПрочихАктивовПассивов", ПолучитьФункциональнуюОпцию("ИспользоватьУчетПрочихАктивовПассивов"));
Значения.Вставить("ИдентификаторНеиспользуемойФинЗаписи", ПроведениеДокументов.ИдентификаторНеиспользуемойФинЗаписи());
ВалютаУпр = Константы.ВалютаУправленческогоУчета.Получить();
Значения.Вставить("ВалютаУправленческогоУчета", ВалютаУпр);
Значения.Вставить("ВалютаУпр", ВалютаУпр);
Если Реквизиты <> Неопределено Тогда
Значения.Вставить("ВалютаРегл", ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Реквизиты.Организация));
Коэффициенты = РаботаСКурсамиВалютУТ.ПолучитьКоэффициентыПересчетаВалюты(
Реквизиты.Валюта, Реквизиты.Валюта, Реквизиты.Период, Реквизиты.Организация);
Значения.Вставить("КоэффициентПересчетаВВалютуУпр", Коэффициенты.КоэффициентПересчетаВВалютуУпр);
Значения.Вставить("КоэффициентПересчетаВВалютуРегл", Коэффициенты.КоэффициентПересчетаВВалютуРегл);
Значения.Вставить("НомерНаПечать", ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Реквизиты.Номер));
КонецЕсли;
Возврат Значения;
КонецФункции
Функция ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РеестрДокументов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &ИдентификаторМетаданных КАК ТипСсылки,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезАгента)
| ТОГДА &Агент
| ИНАЧЕ &Перевозчик
| КОНЕЦ КАК Партнер,
| &Сотрудник КАК МестоХранения,
| ВЫБОР &ХозяйственнаяОперация
| КОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо)
| ТОГДА &ПодотчетноеЛицо
| КОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезАгента)
| ТОГДА &КонтрагентАгент
| КОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеУПоставщика)
| ТОГДА &КонтрагентПеревозчик
| КОНЕЦ КАК Контрагент,
|
| &Подразделение КАК Подразделение,
| &Период КАК ДатаДокументаИБ,
| &Ссылка КАК Ссылка,
|
| ДанныеДокумента.Номер КАК НомерДокументаИБ,
| НЕОПРЕДЕЛЕНО КАК Статус,
| &Ответственный КАК Ответственный,
| ЛОЖЬ КАК ДополнительнаяЗапись,
| НЕОПРЕДЕЛЕНО КАК Дополнительно,
| &Комментарий КАК Комментарий,
| &Проведен КАК Проведен,
| &ПометкаУдаления КАК ПометкаУдаления,
| &Период КАК ДатаПервичногоДокумента,
| &Номер КАК НомерПервичногоДокумента,
| &СуммаДокумента КАК Сумма,
| &Валюта КАК Валюта,
| &Договор КАК Договор,
| НЕОПРЕДЕЛЕНО КАК НаправлениеДеятельности,
| &Период КАК ДатаОтраженияВУчете,
| НЕОПРЕДЕЛЕНО КАК Приоритет
|ИЗ
| Документ.Бронирование КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &ИдентификаторМетаданных КАК ТипСсылки,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВходящийНДСПоПриобретению) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезАгента)
| ТОГДА &Агент
| ИНАЧЕ &Перевозчик
| КОНЕЦ КАК Партнер,
| &Сотрудник КАК МестоХранения,
| ВЫБОР &ХозяйственнаяОперация
| КОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо)
| ТОГДА &ПодотчетноеЛицо
| КОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезАгента)
| ТОГДА &КонтрагентАгент
| КОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеУПоставщика)
| ТОГДА &КонтрагентПеревозчик
| КОНЕЦ КАК Контрагент,
|
| &Подразделение КАК Подразделение,
| &Период КАК ДатаДокументаИБ,
| &Ссылка КАК Ссылка,
|
| ДанныеДокумента.Номер КАК НомерДокументаИБ,
| НЕОПРЕДЕЛЕНО КАК Статус,
| &Ответственный КАК Ответственный,
| ИСТИНА КАК ДополнительнаяЗапись,
| НЕОПРЕДЕЛЕНО КАК Дополнительно,
| &Комментарий КАК Комментарий,
| &Проведен КАК Проведен,
| &ПометкаУдаления КАК ПометкаУдаления,
| &Период КАК ДатаПервичногоДокумента,
| &Номер КАК НомерПервичногоДокумента,
| &СуммаДокумента КАК Сумма,
| &Валюта КАК Валюта,
| &Договор КАК Договор,
| НЕОПРЕДЕЛЕНО КАК НаправлениеДеятельности,
| &Период КАК ДатаОтраженияВУчете,
| НЕОПРЕДЕЛЕНО КАК Приоритет
|ИЗ
| Документ.Бронирование КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И &ПринятьНДСКВычету
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДенежныеСредстваУПодотчетныхЛиц(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДенежныеСредстваУПодотчетныхЛиц";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВТКурсыВалютСтрокОтчета", ТекстыЗапроса) Тогда
ТекстЗапросаВТКурсыВалютСтрокОтчета(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтКоэффициентыПересчетаВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВтКоэффициентыПересчетаВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВТСуммыСписания", ТекстыЗапроса) Тогда
ТекстЗапросаВТСуммыСписания(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ВЫБОР
| КОГДА &Период > &ДатаПрибытия
| И &Период > ДанныеДокумента.Дата
| ТОГДА &Период
| КОГДА ДанныеДокумента.Дата > &ДатаПрибытия
| ТОГДА ДанныеДокумента.Дата
| ИНАЧЕ &ДатаПрибытия
| КОНЕЦ КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| &Сотрудник КАК ПодотчетноеЛицо,
| &Подразделение КАК Подразделение,
| &Валюта КАК Валюта,
| ВЫБОР КОГДА &КонтролироватьВыдачуПодОтчетВРазрезеЦелей ТОГДА
| &СтатьяДвиженияДенежныхСредств
| КОНЕЦ КАК ЦельВыдачи,
|
| ДанныеДокумента.Сумма КАК Сумма,
| ВЫБОР КОГДА (Коэффициенты.КурсЗнаменатель * Коэффициенты.КурсЧислительУпр) = 0
| ТОГДА 0
| ИНАЧЕ ДанныеДокумента.Сумма * Коэффициенты.КурсЧислитель * Коэффициенты.КурсЗнаменательУпр
| / (Коэффициенты.КурсЗнаменатель * Коэффициенты.КурсЧислительУпр)
| КОНЕЦ КАК СуммаУпр,
| ВЫБОР КОГДА Коэффициенты.КурсЗнаменатель = 0
| ТОГДА 0
| ИНАЧЕ ДанныеДокумента.Сумма * Коэффициенты.КурсЧислитель / Коэффициенты.КурсЗнаменатель
| КОНЕЦ КАК СуммаРегл,
| ДанныеДокумента.Сумма КАК КОтчету,
| 0 КАК СуммаЗакупки,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИспользованиеБронированияПодотчетнымЛицом) КАК ХозяйственнаяОперация,
| ВЫБОР КОГДА &КонтролироватьВыдачуПодОтчетВРазрезеЦелей ТОГДА
| &СтатьяДвиженияДенежныхСредств
| КОНЕЦ КАК СтатьяДвиженияДенежныхСредств,
|
| ДанныеДокумента.Ссылка.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ИспользованиеБронированияПодотчетнымЛицом) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК Коэффициенты
| ПО Коэффициенты.Дата = ДанныеДокумента.Дата
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И НЕ &СпособСписанияНапрямую
| И ДанныеДокумента.ТипОперации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Покупка),
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Доплата)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВЫБОР
| КОГДА &Период > &ДатаПрибытия
| И &Период > ДанныеДокумента.Дата
| ТОГДА &Период
| КОГДА ДанныеДокумента.Дата > &ДатаПрибытия
| ТОГДА ДанныеДокумента.Дата
| ИНАЧЕ &ДатаПрибытия
| КОНЕЦ КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| &Сотрудник КАК ПодотчетноеЛицо,
| &Подразделение КАК Подразделение,
| &Валюта КАК Валюта,
| ВЫБОР КОГДА &КонтролироватьВыдачуПодОтчетВРазрезеЦелей ТОГДА
| &СтатьяДвиженияДенежныхСредств
| КОНЕЦ КАК ЦельВыдачи,
|
| -ДанныеДокумента.Сумма КАК Сумма,
| ВЫБОР КОГДА (Коэффициенты.КурсЗнаменатель * Коэффициенты.КурсЧислительУпр) = 0
| ТОГДА 0
| ИНАЧЕ -ДанныеДокумента.Сумма * Коэффициенты.КурсЧислитель * Коэффициенты.КурсЗнаменательУпр
| / (Коэффициенты.КурсЗнаменатель * Коэффициенты.КурсЧислительУпр)
| КОНЕЦ КАК СуммаУпр,
| ВЫБОР КОГДА Коэффициенты.КурсЗнаменатель = 0
| ТОГДА 0
| ИНАЧЕ -ДанныеДокумента.Сумма * Коэффициенты.КурсЧислитель / Коэффициенты.КурсЗнаменатель
| КОНЕЦ КАК СуммаРегл,
| -ДанныеДокумента.Сумма КАК КОтчету,
| 0 КАК СуммаЗакупки,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СторноИспользованияБронированияПодотчетнымЛицом) КАК ХозяйственнаяОперация,
| ВЫБОР КОГДА &КонтролироватьВыдачуПодОтчетВРазрезеЦелей ТОГДА
| &СтатьяДвиженияДенежныхСредств
| КОНЕЦ КАК СтатьяДвиженияДенежныхСредств,
|
| ДанныеДокумента.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноИспользованияБронированияПодотчетнымЛицом) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК Коэффициенты
| ПО Коэффициенты.Дата = ДанныеДокумента.Дата
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И НЕ &СпособСписанияНапрямую
| И ДанныеДокумента.ТипОперации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Возврат)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВЫБОР
| КОГДА ДанныеДокумента.ТипОперации = ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Покупка) ТОГДА
| &Период
| ИНАЧЕ
| ДанныеДокумента.Дата
| КОНЕЦ КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Организация КАК Организация,
| &ПодотчетноеЛицо КАК ПодотчетноеЛицо,
| &ПодразделениеПодотчетногоЛица КАК Подразделение,
| &Валюта КАК Валюта,
| ВЫБОР КОГДА &КонтролироватьВыдачуПодОтчетВРазрезеЦелей ТОГДА
| &СтатьяДвиженияДенежныхСредств
| КОНЕЦ КАК ЦельВыдачи,
|
| ДанныеДокумента.Сумма КАК Сумма,
| ДанныеДокумента.Сумма * ТаблицаКурсыВалютСтрокОтчета.КоэффициентПересчетаУпр КАК СуммаУпр,
| ДанныеДокумента.Сумма * ТаблицаКурсыВалютСтрокОтчета.КоэффициентПересчетаРегл КАК СуммаРегл,
| ДанныеДокумента.Сумма КАК КОтчету,
| 0 КАК СуммаЗакупки,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо) КАК ХозяйственнаяОперация,
| ВЫБОР КОГДА &КонтролироватьВыдачуПодОтчетВРазрезеЦелей ТОГДА
| &СтатьяДвиженияДенежныхСредств
| КОНЕЦ КАК СтатьяДвиженияДенежныхСредств,
|
| ДанныеДокумента.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТКурсыВалютСтрокОтчета КАК ТаблицаКурсыВалютСтрокОтчета
| ПО ТаблицаКурсыВалютСтрокОтчета.ИдентификаторСтроки = ДанныеДокумента.ИдентификаторСтроки
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо)
| И ДанныеДокумента.ТипОперации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Покупка),
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Доплата)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВЫБОР
| КОГДА ДанныеДокумента.ТипОперации = ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Покупка) ТОГДА
| &Период
| ИНАЧЕ
| ДанныеДокумента.Дата
| КОНЕЦ КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Организация КАК Организация,
| &ПодотчетноеЛицо КАК ПодотчетноеЛицо,
| &ПодразделениеПодотчетногоЛица КАК Подразделение,
| &Валюта КАК Валюта,
| ВЫБОР КОГДА &КонтролироватьВыдачуПодОтчетВРазрезеЦелей ТОГДА
| &СтатьяДвиженияДенежныхСредств
| КОНЕЦ КАК ЦельВыдачи,
|
| ДанныеДокумента.Сумма КАК Сумма,
| ВЫБОР КОГДА (Коэффициенты.КурсЗнаменатель * Коэффициенты.КурсЧислительУпр) = 0
| ТОГДА 0
| ИНАЧЕ ДанныеДокумента.Сумма * Коэффициенты.КурсЧислитель * Коэффициенты.КурсЗнаменательУпр
| / (Коэффициенты.КурсЗнаменатель * Коэффициенты.КурсЧислительУпр)
| КОНЕЦ КАК СуммаУпр,
| ВЫБОР КОГДА Коэффициенты.КурсЗнаменатель = 0
| ТОГДА 0
| ИНАЧЕ ДанныеДокумента.Сумма * Коэффициенты.КурсЧислитель / Коэффициенты.КурсЗнаменатель
| КОНЕЦ КАК СуммаРегл,
| ДанныеДокумента.Сумма КАК КОтчету,
| 0 КАК СуммаЗакупки,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо) КАК ХозяйственнаяОперация,
| ВЫБОР КОГДА &КонтролироватьВыдачуПодОтчетВРазрезеЦелей ТОГДА
| &СтатьяДвиженияДенежныхСредств
| КОНЕЦ КАК СтатьяДвиженияДенежныхСредств,
|
| ДанныеДокумента.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТКурсыВалютСтрокОтчета КАК ТаблицаКурсыВалютСтрокОтчета
| ПО ТаблицаКурсыВалютСтрокОтчета.ИдентификаторСтроки = ДанныеДокумента.ИдентификаторСтроки
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК Коэффициенты
| ПО Коэффициенты.Дата = ДанныеДокумента.Дата
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо)
| И ДанныеДокумента.ТипОперации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Покупка),
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Доплата)
| )
| И ТаблицаКурсыВалютСтрокОтчета.ИдентификаторСтроки ЕСТЬ NULL
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВЫБОР
| КОГДА ДанныеДокумента.ТипОперации = ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Покупка) ТОГДА
| &Период
| ИНАЧЕ
| ДанныеДокумента.Дата
| КОНЕЦ КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| &ПодотчетноеЛицо КАК ПодотчетноеЛицо,
| &ПодразделениеПодотчетногоЛица КАК Подразделение,
| &Валюта КАК Валюта,
| ВЫБОР КОГДА &КонтролироватьВыдачуПодОтчетВРазрезеЦелей ТОГДА
| &СтатьяДвиженияДенежныхСредств
| КОНЕЦ КАК ЦельВыдачи,
|
| 0 КАК Сумма,
| 0 КАК СуммаУпр,
| 0 КАК СуммаРегл,
| 0 КАК КОтчету,
| ДанныеДокумента.Сумма КАК СуммаЗакупки,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо) КАК ХозяйственнаяОперация,
| ВЫБОР КОГДА &КонтролироватьВыдачуПодОтчетВРазрезеЦелей ТОГДА
| &СтатьяДвиженияДенежныхСредств
| КОНЕЦ КАК СтатьяДвиженияДенежныхСредств,
|
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо)
| И ДанныеДокумента.ТипОперации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Покупка),
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Доплата)
| )
| И &АвансовыйОтчет = ЗНАЧЕНИЕ(Документ.АвансовыйОтчет.ПустаяСсылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| &ПодотчетноеЛицо КАК ПодотчетноеЛицо,
| &ПодразделениеПодотчетногоЛица КАК Подразделение,
| &Валюта КАК Валюта,
| ВЫБОР КОГДА &КонтролироватьВыдачуПодОтчетВРазрезеЦелей ТОГДА
| &СтатьяДвиженияДенежныхСредств
| КОНЕЦ КАК ЦельВыдачи,
|
| ДанныеДокумента.Сумма КАК Сумма,
| ВЫБОР КОГДА (Коэффициенты.КурсЗнаменатель * Коэффициенты.КурсЧислительУпр) = 0
| ТОГДА 0
| ИНАЧЕ ДанныеДокумента.Сумма * Коэффициенты.КурсЧислитель * Коэффициенты.КурсЗнаменательУпр
| / (Коэффициенты.КурсЗнаменатель * Коэффициенты.КурсЧислительУпр)
| КОНЕЦ КАК СуммаУпр,
| ВЫБОР КОГДА Коэффициенты.КурсЗнаменатель = 0
| ТОГДА 0
| ИНАЧЕ ДанныеДокумента.Сумма * Коэффициенты.КурсЧислитель / Коэффициенты.КурсЗнаменатель
| КОНЕЦ КАК СуммаРегл,
| ДанныеДокумента.Сумма КАК КОтчету,
| ВЫБОР КОГДА &АвансовыйОтчет = ЗНАЧЕНИЕ(Документ.АвансовыйОтчет.ПустаяСсылка)
| ТОГДА -ДанныеДокумента.Сумма
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаЗакупки,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратБронированияПодотчетногоЛица) КАК ХозяйственнаяОперация,
| ВЫБОР КОГДА &КонтролироватьВыдачуПодОтчетВРазрезеЦелей ТОГДА
| &СтатьяДвиженияДенежныхСредств
| КОНЕЦ КАК СтатьяДвиженияДенежныхСредств,
|
| ДанныеДокумента.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратБронированияПодотчетногоЛица) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК Коэффициенты
| ПО Коэффициенты.Дата = ДанныеДокумента.Дата
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо)
| И ДанныеДокумента.ТипОперации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Возврат)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Организация КАК Организация,
| &ПодотчетноеЛицо КАК ПодотчетноеЛицо,
| &ПодразделениеПодотчетногоЛица КАК Подразделение,
| &Валюта КАК Валюта,
| ВЫБОР КОГДА &КонтролироватьВыдачуПодОтчетВРазрезеЦелей ТОГДА
| &СтатьяДвиженияДенежныхСредств
| КОНЕЦ КАК ЦельВыдачи,
|
| ДанныеДокумента.СуммаШтрафа КАК Сумма,
| ВЫБОР КОГДА (Коэффициенты.КурсЗнаменатель * Коэффициенты.КурсЧислительУпр) = 0
| ТОГДА 0
| ИНАЧЕ ДанныеДокумента.СуммаШтрафа * Коэффициенты.КурсЧислитель * Коэффициенты.КурсЗнаменательУпр
| / (Коэффициенты.КурсЗнаменатель * Коэффициенты.КурсЧислительУпр)
| КОНЕЦ КАК СуммаУпр,
| ВЫБОР КОГДА Коэффициенты.КурсЗнаменатель = 0
| ТОГДА 0
| ИНАЧЕ ДанныеДокумента.СуммаШтрафа * Коэффициенты.КурсЧислитель / Коэффициенты.КурсЗнаменатель
| КОНЕЦ КАК СуммаРегл,
| ДанныеДокумента.СуммаШтрафа КАК КОтчету,
| 0 КАК СуммаЗакупки,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ШтрафыПриВозвратеБронированияПодотчетногоЛица) КАК ХозяйственнаяОперация,
| ВЫБОР КОГДА &КонтролироватьВыдачуПодОтчетВРазрезеЦелей ТОГДА
| &СтатьяДвиженияДенежныхСредств
| КОНЕЦ КАК СтатьяДвиженияДенежныхСредств,
|
| ДанныеДокумента.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ШтрафыПриВозвратеБронированияПодотчетногоЛица) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК Коэффициенты
| ПО Коэффициенты.Дата = ДанныеДокумента.Дата
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо)
| И ДанныеДокумента.ТипОперации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Возврат)
| )
| И ДанныеДокумента.СуммаШтрафа <> 0
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ТекстЗапросаВтКоэффициентыПересчетаВалют(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтКоэффициентыПересчетаВалют";
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаПериодов.Дата КАК Дата,
| ТаблицаПериодов.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ПОМЕСТИТЬ ТаблицаПериодов
|ИЗ
| (ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Дата,
| ДанныеДокумента.Ссылка.Валюта КАК ВалютаВзаиморасчетов
| ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
| ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.Ссылка.ТипБронирования =
| ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ДанныеДокумента.ДатаПрибытия,
| ДанныеДокумента.Валюта
| ИЗ
| Документ.Бронирование КАК ДанныеДокумента
| ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.ТипБронирования =
| ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
|) КАК ТаблицаПериодов
|
|СГРУППИРОВАТЬ ПО
| ТаблицаПериодов.Дата,
| ТаблицаПериодов.ВалютаВзаиморасчетов";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
ФинансовыеИнструменты.ТекстЗапросаВтКоэффициентыПересчетаВалют(ТекстыЗапроса);
КонецПроцедуры
Процедура ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры)
#Область КурсыВалютДокумента
ИмяРегистра = "ВременнаяТаблицаКурсыВалютДокумента";
ТекстЗапросаКурсыВалютДокумента =
"ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ТаблицаОперации.Дата КАК ДатаКурса,
| ДанныеДокументаШапка.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.Валюта КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.Бронирование.Операции КАК ТаблицаОперации
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.Бронирование КАК ДанныеДокументаШапка
| ПО ТаблицаОперации.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| ТаблицаОперации.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ТаблицаОперации.Дата КАК ДатаКурса,
| ДанныеДокументаШапка.ОбъектРасчетовДоговор КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.Валюта КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.Бронирование.Операции КАК ТаблицаОперации
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.Бронирование КАК ДанныеДокументаШапка
| ПО ТаблицаОперации.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| ТаблицаОперации.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ВЫБОР
| КОГДА ДанныеДокументаШапка.ДатаПрибытия < ТаблицаОперации.Дата
| ТОГДА ТаблицаОперации.Дата
| ИНАЧЕ ДанныеДокументаШапка.ДатаПрибытия
| КОНЕЦ КАК ДатаКурса,
| ДанныеДокументаШапка.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.Валюта КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.Бронирование.Операции КАК ТаблицаОперации
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.Бронирование КАК ДанныеДокументаШапка
| ПО ТаблицаОперации.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| ТаблицаОперации.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| ДанныеДокументаШапка.ОбъектРасчетовДоговор КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.Валюта КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.Бронирование КАК ДанныеДокументаШапка
|ГДЕ
| ДанныеДокументаШапка.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| ДанныеДокументаШапка.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.Валюта КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.Бронирование КАК ДанныеДокументаШапка
|ГДЕ
| ДанныеДокументаШапка.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.ДатаПрибытия КАК ДатаКурса,
| ДанныеДокументаШапка.ОбъектРасчетовДоговор КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.Валюта КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.Бронирование.Операции КАК ТаблицаОперации
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.Бронирование КАК ДанныеДокументаШапка
| ПО ТаблицаОперации.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| ТаблицаОперации.Ссылка В (&Ссылка)
| И &СпособСписанияНапрямую";
ТекстЗапросаКурсыВалютДокумента = ВзаиморасчетыСервер.ПолучитьТаблицуКурсовВалютНаправленийДеятельности(ТекстЗапросаКурсыВалютДокумента);
ТекстыЗапроса.Добавить(ТекстЗапросаКурсыВалютДокумента, ИмяРегистра);
#КонецОбласти
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВТСуммыСписания", ТекстыЗапроса) Тогда
ТекстЗапросаВТСуммыСписания(Запрос, ТекстыЗапроса);
КонецЕсли;
#Область ЗадолженностьПеревозчикаПоБилетуЗадолженностьПеревозчикуАгентуДатойБилета
ТекстПереносРасчетов = "
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
|
| ДанныеДокумента.Ссылка.Организация КАК Организация,
| ДанныеДокумента.Ссылка.ОбъектРасчетовДоговор КАК ОбъектРасчетовИсточник,
| ДанныеДокумента.Ссылка.ОбъектРасчетов КАК ОбъектРасчетовПриемник,
|
| ДанныеДокумента.Сумма КАК Сумма,
| ДанныеДокумента.Ссылка.Валюта КАК ВалютаДокумента,
| ДанныеДокумента.Сумма КАК СуммаВзаиморасчетов,
| ДанныеДокумента.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| ВЫБОР
| КОГДА ДанныеДокумента.ТипОперации = ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Покупка) ТОГДА
| ДанныеДокумента.Ссылка.Дата
| ИНАЧЕ
| ДанныеДокумента.Дата
| КОНЕЦ КАК ДатаРегистратора,
| ДанныеДокумента.Ссылка.Номер КАК НомерРегистратора,
| ДанныеДокумента.Ссылка.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.Дата КАК ДатаПлатежа,
| ДанныеДокумента.Дата КАК ДатаКурса,
| ДанныеДокумента.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| НастройкиХозяйственныхОпераций.Ссылка КАК НастройкаХозяйственнойОперации,
| Неопределено КАК СтатьяДвиженияДенежныхСредств
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НастройкиХозяйственныхОпераций КАК НастройкиХозяйственныхОпераций
| ПО ДанныеДокумента.Ссылка.ХозяйственнаяОперация = НастройкиХозяйственныхОпераций.ХозяйственнаяОперация
|ГДЕ
| ДанныеДокумента.Ссылка В (&Ссылка)
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И ДанныеДокумента.Ссылка.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезАгента),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеУПоставщика)
| )
| И ДанныеДокумента.ТипОперации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Покупка),
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Доплата)
| )
|
|";
ВзаиморасчетыСервер.ПроведениеПереносаАвансаПоставщику(Запрос, ТекстыЗапроса, Регистры, ТекстПереносРасчетов);
#КонецОбласти
#Область ЗадолженнстьПеревозчикаПриПокупкеЧерезПодотчетноеЛицоДатойБилета
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВТКурсыВалютСтрокОтчета", ТекстыЗапроса) Тогда
ТекстЗапросаВТКурсыВалютСтрокОтчета(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗадолженностьПоставщика = "
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ВЫБОР
| КОГДА ДанныеДокумента.ТипОперации = ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Покупка) ТОГДА
| ДанныеДокумента.Ссылка.Дата
| ИНАЧЕ
| ДанныеДокумента.Дата
| КОНЕЦ КАК ДатаРегистратора,
| ДанныеДокумента.Ссылка.Номер КАК НомерРегистратора,
|
| ДанныеДокумента.Ссылка.Организация КАК Организация,
| ДанныеДокумента.Ссылка.Перевозчик КАК Партнер,
|
| ДанныеДокумента.Ссылка.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокумента.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.Сумма КАК Сумма,
| ДанныеДокумента.Сумма КАК СуммаВзаиморасчетов,
| 0 КАК УменьшениеОплачивается,
| 0 КАК УвеличениеОплачивается,
| ВЫРАЗИТЬ(ДанныеДокумента.Сумма * ЕСТЬNULL(ТаблицаКурсыВалютСтрокОтчета.КоэффициентПересчетаУпр, 0) КАК ЧИСЛО(31,2)) КАК СуммаУпр,
| ВЫРАЗИТЬ(ДанныеДокумента.Сумма * ЕСТЬNULL(ТаблицаКурсыВалютСтрокОтчета.КоэффициентПересчетаРегл, 0) КАК ЧИСЛО(31,2)) КАК СуммаРегл,
| ДанныеДокумента.Ссылка.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.Ссылка.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| НЕОПРЕДЕЛЕНО КАК ЗаявкаНаРасходованиеДенежныхСредств,
| ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Взаимозачет) КАК ФормаОплаты,
| ДанныеДокумента.Ссылка.Валюта КАК ВалютаДокумента,
| ДанныеДокумента.Дата КАК ДатаКурса,
| ДанныеДокумента.Дата КАК ДатаПогашения,
| НЕОПРЕДЕЛЕНО КАК СвязанныйДокумент,
| ВЫБОР
| КОГДА ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо)
| ТОГДА ДанныеДокумента.ИдентификаторСтроки
| ИНАЧЕ ДанныеДокумента.Ссылка.ОбъектРасчетовДоговор.УникальныйИдентификатор
| КОНЕЦ КАК ИдентификаторФинЗаписи,
| НастройкиХозяйственныхОпераций.Ссылка КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НастройкиХозяйственныхОпераций КАК НастройкиХозяйственныхОпераций
| ПО ДанныеДокумента.Ссылка.ХозяйственнаяОперация = НастройкиХозяйственныхОпераций.ХозяйственнаяОперация
| ЛЕВОЕ СОЕДИНЕНИЕ ВТКурсыВалютСтрокОтчета КАК ТаблицаКурсыВалютСтрокОтчета
| ПО ТаблицаКурсыВалютСтрокОтчета.ИдентификаторСтроки = ДанныеДокумента.ИдентификаторСтроки
|ГДЕ
| ДанныеДокумента.Ссылка В (&Ссылка)
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо)
| И ДанныеДокумента.ТипОперации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Покупка),
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Доплата)
| )
|";
ВзаиморасчетыСервер.ПроведениеОплатыПоставщику(Запрос, ТекстыЗапроса, Регистры, ТекстЗадолженностьПоставщика);
#КонецОбласти
#Область ИспользованиеБронированияДатойПрибытия
ТекстЗакупка = "
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Ссылка.Организация КАК Организация,
| ДанныеДокумента.Ссылка.Перевозчик КАК Партнер,
| ВЫБОР
| КОГДА ДанныеДокумента.Ссылка.Дата > ДанныеДокумента.Ссылка.ДатаПрибытия
| И ДанныеДокумента.Ссылка.Дата > ДанныеДокумента.Дата
| ТОГДА ДанныеДокумента.Ссылка.Дата
| КОГДА ДанныеДокумента.Дата > ДанныеДокумента.Ссылка.ДатаПрибытия
| ТОГДА ДанныеДокумента.Дата
| ИНАЧЕ ДанныеДокумента.Ссылка.ДатаПрибытия
| КОНЕЦ КАК ДатаРегистратора,
| ДанныеДокумента.Ссылка.Номер КАК НомерРегистратора,
|
| ДанныеДокумента.Ссылка.ОбъектРасчетов КАК ОбъектРасчетов,
| ВЫБОР
| КОГДА ДанныеДокумента.Ссылка.Дата > ДанныеДокумента.Ссылка.ДатаПрибытия
| И ДанныеДокумента.Ссылка.Дата > ДанныеДокумента.Дата
| ТОГДА ДанныеДокумента.Ссылка.Дата
| КОГДА ДанныеДокумента.Дата > ДанныеДокумента.Ссылка.ДатаПрибытия
| ТОГДА ДанныеДокумента.Дата
| ИНАЧЕ ДанныеДокумента.Ссылка.ДатаПрибытия
| КОНЕЦ КАК ДатаПлатежа,
| Неопределено КАК ВариантОплаты,
| Неопределено КАК ЗаказЗакупки,
| ДанныеДокумента.Сумма КАК Сумма,
| ДанныеДокумента.Сумма КАК СуммаВзаиморасчетов,
| 0 КАК СуммаВзаиморасчетовПоТаре,
| 0 КАК КПоступлению,
|
| ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетов.ПоНакладным) КАК ПорядокРасчетов,
| ЛОЖЬ КАК НакладнаяПоЗаказам,
| ДанныеДокумента.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИспользованиеБронированияПодотчетнымЛицом) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Взаимозачет) КАК ФормаОплаты,
| ДанныеДокумента.Ссылка.Валюта КАК ВалютаДокумента,
| ДанныеДокумента.Дата КАК ДатаКурса,
| Неопределено КАК СвязанныйДокумент,
| """" КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ИспользованиеБронированияПодотчетнымЛицом) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка В (&Ссылка)
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И НЕ &СпособСписанияНапрямую
| И ДанныеДокумента.ТипОперации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Покупка),
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Доплата)
| )
|
| ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Перевозчик КАК Партнер,
| ДанныеДокумента.Дата КАК ДатаРегистратора,
| ДанныеДокумента.Номер КАК НомерРегистратора,
|
| ДанныеДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокумента.Дата КАК ДатаПлатежа,
| Неопределено КАК ВариантОплаты,
| Неопределено КАК ЗаказЗакупки,
| ДанныеДокумента.Сумма КАК Сумма,
| ДанныеДокумента.Сумма КАК СуммаВзаиморасчетов,
| 0 КАК СуммаВзаиморасчетовПоТаре,
| 0 КАК КПоступлению,
|
| ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетов.ПоНакладным) КАК ПорядокРасчетов,
| ЛОЖЬ КАК НакладнаяПоЗаказам,
| ДанныеДокумента.Валюта КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Взаимозачет) КАК ФормаОплаты,
| ДанныеДокумента.Валюта КАК ВалютаДокумента,
| ДанныеДокумента.Дата КАК ДатаКурса,
| Неопределено КАК СвязанныйДокумент,
| """" КАК ИдентификаторФинЗаписи,
| ДанныеДокумента.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| ВТСуммыСписания КАК ДанныеДокумента";
ТекстПланОплаты = "
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Ссылка.Организация КАК Организация,
| ДанныеДокумента.Ссылка.Перевозчик КАК Партнер,
| ВЫБОР
| КОГДА ДанныеДокумента.Ссылка.Дата > ДанныеДокумента.Ссылка.ДатаПрибытия
| И ДанныеДокумента.Ссылка.Дата > ДанныеДокумента.Дата
| ТОГДА ДанныеДокумента.Ссылка.Дата
| КОГДА ДанныеДокумента.Дата > ДанныеДокумента.Ссылка.ДатаПрибытия
| ТОГДА ДанныеДокумента.Дата
| ИНАЧЕ ДанныеДокумента.Ссылка.ДатаПрибытия
| КОНЕЦ КАК ДатаРегистратора,
| ДанныеДокумента.Ссылка.Номер КАК НомерРегистратора,
| ВЫБОР
| КОГДА ДанныеДокумента.Ссылка.Дата > ДанныеДокумента.Ссылка.ДатаПрибытия
| И ДанныеДокумента.Ссылка.Дата > ДанныеДокумента.Дата
| ТОГДА ДанныеДокумента.Ссылка.Дата
| КОГДА ДанныеДокумента.Дата > ДанныеДокумента.Ссылка.ДатаПрибытия
| ТОГДА ДанныеДокумента.Дата
| ИНАЧЕ ДанныеДокумента.Ссылка.ДатаПрибытия
| КОНЕЦ КАК ДатаПлатежа,
|
| ДанныеДокумента.Ссылка.ОбъектРасчетов КАК ОбъектРасчетов,
|
| ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетов.ПоНакладным) КАК ПорядокРасчетов,
| ЛОЖЬ КАК НакладнаяПоЗаказам,
| ЛОЖЬ КАК СверхЗаказа,
| Неопределено КАК ЗаказЗакупки,
| ДанныеДокумента.Сумма КАК КОплате,
| ДанныеДокумента.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИспользованиеБронированияПодотчетнымЛицом) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Взаимозачет) КАК ФормаОплаты,
| ДанныеДокумента.Ссылка.Валюта КАК ВалютаДокумента,
| Неопределено КАК ВариантОплаты,
| Неопределено КАК СвязанныйДокумент,
| """" КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ИспользованиеБронированияПодотчетнымЛицом) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка В (&Ссылка)
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И НЕ &СпособСписанияНапрямую
| И ДанныеДокумента.ТипОперации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Покупка),
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Доплата)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Перевозчик КАК Партнер,
| ДанныеДокумента.Дата КАК ДатаРегистратора,
| ДанныеДокумента.Номер КАК НомерРегистратора,
| ДанныеДокумента.Дата КАК ДатаПлатежа,
| ДанныеДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетов.ПоНакладным) КАК ПорядокРасчетов,
| ЛОЖЬ КАК НакладнаяПоЗаказам,
| ЛОЖЬ КАК СверхЗаказа,
| Неопределено КАК ЗаказЗакупки,
| ДанныеДокумента.Сумма КАК КОплате,
| ДанныеДокумента.Валюта КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Взаимозачет) КАК ФормаОплаты,
| ДанныеДокумента.Валюта КАК ВалютаДокумента,
| Неопределено КАК ВариантОплаты,
| Неопределено КАК СвязанныйДокумент,
| """" КАК ИдентификаторФинЗаписи,
| ДанныеДокумента.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| ВТСуммыСписания КАК ДанныеДокумента
|";
ВзаиморасчетыСервер.ПроведениеЗакупки(Запрос, ТекстыЗапроса, Регистры, ТекстЗакупка, ТекстПланОплаты);
#КонецОбласти
#Область СторноИспользованияБронированияДатойПрибытия
ТекстВозврат = "
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Ссылка.Организация КАК Организация,
| ДанныеДокумента.Ссылка.Перевозчик КАК Партнер,
| ДанныеДокумента.Ссылка.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокумента.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.Ссылка.Валюта КАК ВалютаДокумента,
| ДанныеДокумента.Сумма КАК Сумма,
| ДанныеДокумента.Сумма КАК СуммаВзаиморасчетов,
| ВЫБОР
| КОГДА ДанныеДокумента.Ссылка.Дата > ДанныеДокумента.Ссылка.ДатаПрибытия
| И ДанныеДокумента.Ссылка.Дата > ДанныеДокумента.Дата
| ТОГДА ДанныеДокумента.Ссылка.Дата
| КОГДА ДанныеДокумента.Дата > ДанныеДокумента.Ссылка.ДатаПрибытия
| ТОГДА ДанныеДокумента.Дата
| ИНАЧЕ ДанныеДокумента.Ссылка.ДатаПрибытия
| КОНЕЦ КАК ДатаРегистратора,
| ДанныеДокумента.Ссылка.Номер КАК НомерРегистратора,
| ДанныеДокумента.Дата КАК ДатаКурса,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СторноИспользованияБронированияПодотчетнымЛицом) КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК СтатьяДвиженияДенежныхСредств,
| ДанныеДокумента.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноИспользованияБронированияПодотчетнымЛицом) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка В (&Ссылка)
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И НЕ &СпособСписанияНапрямую
| И ДанныеДокумента.ТипОперации = ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Возврат)
|";
ВзаиморасчетыСервер.ПроведениеВозвратаТоваровПоставщику(Запрос, ТекстыЗапроса, Регистры, ТекстВозврат);
#КонецОбласти
#Область ВозвратАгентуИлиПеревозчику
ТекстПереносРасчетов = "
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
|
| ДанныеДокумента.Ссылка.Организация КАК Организация,
| ДанныеДокумента.Ссылка.ОбъектРасчетов КАК ОбъектРасчетовИсточник,
| ДанныеДокумента.Ссылка.ОбъектРасчетовДоговор КАК ОбъектРасчетовПриемник,
|
| ДанныеДокумента.Сумма КАК Сумма,
| ДанныеДокумента.Ссылка.Валюта КАК ВалютаДокумента,
| ДанныеДокумента.Сумма КАК СуммаВзаиморасчетов,
| ДанныеДокумента.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| ВЫБОР
| КОГДА ДанныеДокумента.Ссылка.Дата > ДанныеДокумента.Дата ТОГДА
| ДанныеДокумента.Ссылка.Дата
| ИНАЧЕ
| ДанныеДокумента.Дата
| КОНЕЦ КАК ДатаРегистратора,
| ДанныеДокумента.Ссылка.Номер КАК НомерРегистратора,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратБронирования) КАК ХозяйственнаяОперация,
| ДанныеДокумента.Дата КАК ДатаПлатежа,
| ДанныеДокумента.Дата КАК ДатаКурса,
| ДанныеДокумента.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратБронирования) КАК НастройкаХозяйственнойОперации,
| ДанныеДокумента.Ссылка.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НастройкиХозяйственныхОпераций КАК НастройкиХозяйственныхОпераций
| ПО ДанныеДокумента.Ссылка.ХозяйственнаяОперация = НастройкиХозяйственныхОпераций.ХозяйственнаяОперация
|ГДЕ
| ДанныеДокумента.Ссылка В (&Ссылка)
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И ДанныеДокумента.Ссылка.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезАгента),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеУПоставщика)
| )
| И ДанныеДокумента.ТипОперации = ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Возврат)
|
|";
ВзаиморасчетыСервер.ПроведениеВозвратаПереносаАвансаПоставщику(Запрос, ТекстыЗапроса, Регистры, ТекстПереносРасчетов);
ТекстВозврат = "
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Ссылка.Организация КАК Организация,
| ДанныеДокумента.Ссылка.Перевозчик КАК Партнер,
| ДанныеДокумента.Ссылка.ОбъектРасчетов КАК ОбъектРасчетов,
|
| ДанныеДокумента.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.Сумма КАК СуммаВзаиморасчетов,
| ДанныеДокумента.Сумма КАК Сумма,
|
| ДанныеДокумента.Дата КАК ДатаРегистратора,
| ДанныеДокумента.Дата КАК ДатаКурса,
| ДанныеДокумента.Ссылка.Номер КАК НомерРегистратора,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратБронированияПодотчетногоЛица) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Взаимозачет) КАК ФормаОплаты,
| ДанныеДокумента.Ссылка.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| ДанныеДокумента.Ссылка.Валюта КАК ВалютаДокумента,
| ДанныеДокумента.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратБронированияПодотчетногоЛица) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка В (&Ссылка)
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо)
| И ДанныеДокумента.ТипОперации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Возврат)
| )
|";
ВзаиморасчетыСервер.ПроведениеВозвратаОплатыОтПоставщика(Запрос, ТекстыЗапроса, Регистры, ТекстВозврат, "");
#КонецОбласти
#Область Штраф
ТекстЗакупка = "
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Ссылка.Организация КАК Организация,
| ВЫБОР КОГДА ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеУПоставщика)
| ТОГДА ДанныеДокумента.Ссылка.Перевозчик
| ИНАЧЕ ДанныеДокумента.Ссылка.Агент
| КОНЕЦ КАК Партнер,
| ДанныеДокумента.Дата КАК ДатаРегистратора,
| ДанныеДокумента.Ссылка.Номер КАК НомерРегистратора,
|
| ДанныеДокумента.Ссылка.ОбъектРасчетовДоговор КАК ОбъектРасчетов,
| ДанныеДокумента.Дата КАК ДатаПлатежа,
| Неопределено КАК ВариантОплаты,
| Неопределено КАК ЗаказЗакупки,
|
| ДанныеДокумента.СуммаШтрафа КАК Сумма,
| ДанныеДокумента.СуммаШтрафа КАК СуммаВзаиморасчетов,
| 0 КАК СуммаВзаиморасчетовПоТаре,
| 0 КАК КПоступлению,
|
| ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетов.ПоДоговорамКонтрагентов) КАК ПорядокРасчетов,
| ЛОЖЬ КАК НакладнаяПоЗаказам,
| ДанныеДокумента.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ШтрафыПриВозвратеБронирования) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Взаимозачет) КАК ФормаОплаты,
| ДанныеДокумента.Ссылка.Валюта КАК ВалютаДокумента,
| ДанныеДокумента.Дата КАК ДатаКурса,
| Неопределено КАК СвязанныйДокумент,
| ДанныеДокумента.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ШтрафыПриВозвратеБронирования) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка В (&Ссылка)
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И ДанныеДокумента.Ссылка.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезАгента),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеУПоставщика)
| )
| И ДанныеДокумента.ТипОперации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Возврат)
| )
|";
ТекстПланОплаты = "
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ВЫБОР КОГДА ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеУПоставщика)
| ТОГДА ДанныеДокумента.Ссылка.Перевозчик
| ИНАЧЕ ДанныеДокумента.Ссылка.Агент
| КОНЕЦ КАК Партнер,
| ДанныеДокумента.Дата КАК ДатаРегистратора,
| ДанныеДокумента.Ссылка.Номер КАК НомерРегистратора,
| ДанныеДокумента.Дата КАК ДатаПлатежа,
|
| ДанныеДокумента.Ссылка.ОбъектРасчетовДоговор КАК ОбъектРасчетов,
|
| ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетов.ПоДоговорамКонтрагентов) КАК ПорядокРасчетов,
| ЛОЖЬ КАК НакладнаяПоЗаказам,
| ЛОЖЬ КАК СверхЗаказа,
| Неопределено КАК ЗаказЗакупки,
| ДанныеДокумента.СуммаШтрафа КАК КОплате,
| ДанныеДокумента.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ШтрафыПриВозвратеБронирования) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Взаимозачет) КАК ФормаОплаты,
| ДанныеДокумента.Ссылка.Валюта КАК ВалютаДокумента,
| Неопределено КАК ВариантОплаты,
| Неопределено КАК СвязанныйДокумент,
| ДанныеДокумента.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ШтрафыПриВозвратеБронирования) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка В (&Ссылка)
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И ДанныеДокумента.Ссылка.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезАгента),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеУПоставщика)
| )
| И ДанныеДокумента.ТипОперации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Возврат)
| )
|";
ВзаиморасчетыСервер.ПроведениеЗакупки(Запрос, ТекстыЗапроса, Регистры, ТекстЗакупка, ТекстПланОплаты);
#КонецОбласти
КонецПроцедуры
Функция ТекстЗапросаТаблицаДвиженияДенежныеСредстваКонтрагент(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияДенежныеСредстваКонтрагент";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВТКурсыВалютСтрокОтчета", ТекстыЗапроса) Тогда
ТекстЗапросаВТКурсыВалютСтрокОтчета(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтКоэффициентыПересчетаВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВтКоэффициентыПересчетаВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ВЫБОР
| КОГДА &ДатаПрибытия < ДанныеДокумента.Дата
| ТОГДА ДанныеДокумента.Дата
| ИНАЧЕ &ДатаПрибытия
| КОНЕЦ КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИспользованиеБронированияПодотчетнымЛицом) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
|
| &Сотрудник КАК ДенежныеСредства,
| ЗНАЧЕНИЕ(Перечисление.ТипыДенежныхСредств.ДенежныеСредстваУПодотчетногоЛица) КАК ТипДенежныхСредств,
| &СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| &Валюта КАК ВалютаПлатежа,
|
| ДанныеДокумента.Ссылка.Перевозчик КАК Партнер,
| ДанныеДокумента.Ссылка.КонтрагентПеревозчик КАК Контрагент,
| ДанныеДокумента.Ссылка.ОбъектРасчетов.Договор КАК Договор,
| ДанныеДокумента.Ссылка.ОбъектРасчетов КАК ОбъектРасчетов,
| НЕОПРЕДЕЛЕНО КАК РасчетныйДокумент,
|
| ДанныеДокумента.Сумма * ЕСТЬNULL(ТаблицаКурсыВалютСтрокОтчета.КоэффициентПересчетаУпр, КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр) КАК СуммаОплаты,
| ДанныеДокумента.Сумма * ЕСТЬNULL(ТаблицаКурсыВалютСтрокОтчета.КоэффициентПересчетаРегл, КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл) КАК СуммаОплатыРегл,
| ДанныеДокумента.Сумма КАК СуммаОплатыВВалютеПлатежа,
|
| 0 КАК СуммаПостоплаты,
| 0 КАК СуммаПостоплатыРегл,
| 0 КАК СуммаПостоплатыВВалютеПлатежа,
|
| 0 КАК СуммаПредоплаты,
| 0 КАК СуммаПредоплатыРегл,
| 0 КАК СуммаПредоплатыВВалютеПлатежа,
|
| &Валюта КАК ВалютаВзаиморасчетов,
|
| ДанныеДокумента.Сумма КАК СуммаОплатыВВалютеВзаиморасчетов,
| 0 КАК СуммаПостоплатыВВалютеВзаиморасчетов,
| 0 КАК СуммаПредоплатыВВалютеВзаиморасчетов,
|
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУДенежныхСредств,
| ДанныеДокумента.Ссылка.ОбъектРасчетов КАК ИсточникГФУРасчетов,
| ЛОЖЬ КАК ОтложенноеПроведение
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТКурсыВалютСтрокОтчета КАК ТаблицаКурсыВалютСтрокОтчета
| ПО ТаблицаКурсыВалютСтрокОтчета.ИдентификаторСтроки = ДанныеДокумента.ИдентификаторСтроки
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = ДанныеДокумента.Дата
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И НЕ &СпособСписанияНапрямую
| И ДанныеДокумента.ТипОперации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Покупка),
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Доплата)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВЫБОР
| КОГДА ДанныеДокумента.Дата < &ДатаПрибытия ТОГДА
| КОНЕЦПЕРИОДА(&ДатаПрибытия, ДЕНЬ)
| ИНАЧЕ
| ДанныеДокумента.Дата
| КОНЕЦ КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИспользованиеБронированияПодотчетнымЛицом) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
|
| &Сотрудник КАК ДенежныеСредства,
| ЗНАЧЕНИЕ(Перечисление.ТипыДенежныхСредств.ДенежныеСредстваУПодотчетногоЛица) КАК ТипДенежныхСредств,
| &СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| &Валюта КАК ВалютаПлатежа,
|
| ДанныеДокумента.Ссылка.Перевозчик КАК Партнер,
| ДанныеДокумента.Ссылка.КонтрагентПеревозчик КАК Контрагент,
| ДанныеДокумента.Ссылка.ОбъектРасчетов.Договор КАК Договор,
| ДанныеДокумента.Ссылка.ОбъектРасчетов КАК ОбъектРасчетов,
| НЕОПРЕДЕЛЕНО КАК РасчетныйДокумент,
|
| -ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК СуммаОплаты,
| -ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК СуммаОплатыРегл,
| -ДанныеДокумента.Сумма КАК СуммаОплатыВВалютеПлатежа,
|
| 0 КАК СуммаПостоплаты,
| 0 КАК СуммаПостоплатыРегл,
| 0 КАК СуммаПостоплатыВВалютеПлатежа,
|
| 0 КАК СуммаПредоплаты,
| 0 КАК СуммаПредоплатыРегл,
| 0 КАК СуммаПредоплатыВВалютеПлатежа,
|
| &Валюта КАК ВалютаВзаиморасчетов,
|
| -ДанныеДокумента.Сумма КАК СуммаОплатыВВалютеВзаиморасчетов,
| 0 КАК СуммаПостоплатыВВалютеВзаиморасчетов,
| 0 КАК СуммаПредоплатыВВалютеВзаиморасчетов,
|
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУДенежныхСредств,
| ДанныеДокумента.Ссылка.ОбъектРасчетов КАК ИсточникГФУРасчетов,
| ЛОЖЬ КАК ОтложенноеПроведение
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = ДанныеДокумента.Дата
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И НЕ &СпособСписанияНапрямую
| И ДанныеДокумента.ТипОперации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Возврат)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &ПодразделениеПодотчетногоЛица КАК Подразделение,
|
| &ПодотчетноеЛицо КАК ДенежныеСредства,
| ЗНАЧЕНИЕ(Перечисление.ТипыДенежныхСредств.ДенежныеСредстваУПодотчетногоЛица) КАК ТипДенежныхСредств,
| &СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| &Валюта КАК ВалютаПлатежа,
|
| ДанныеДокумента.Ссылка.Перевозчик КАК Партнер,
| ДанныеДокумента.Ссылка.КонтрагентПеревозчик КАК Контрагент,
| ДанныеДокумента.Ссылка.ОбъектРасчетов.Договор КАК Договор,
| ДанныеДокумента.Ссылка.ОбъектРасчетов КАК ОбъектРасчетов,
| НЕОПРЕДЕЛЕНО КАК РасчетныйДокумент,
|
| ДанныеДокумента.Сумма * ЕСТЬNULL(ТаблицаКурсыВалютСтрокОтчета.КоэффициентПересчетаУпр, КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр) КАК СуммаОплаты,
| ДанныеДокумента.Сумма * ЕСТЬNULL(ТаблицаКурсыВалютСтрокОтчета.КоэффициентПересчетаРегл, КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл) КАК СуммаОплатыРегл,
| ДанныеДокумента.Сумма КАК СуммаОплатыВВалютеПлатежа,
|
| 0 КАК СуммаПостоплаты,
| 0 КАК СуммаПостоплатыРегл,
| 0 КАК СуммаПостоплатыВВалютеПлатежа,
|
| 0 КАК СуммаПредоплаты,
| 0 КАК СуммаПредоплатыРегл,
| 0 КАК СуммаПредоплатыВВалютеПлатежа,
|
| &Валюта КАК ВалютаВзаиморасчетов,
|
| ДанныеДокумента.Сумма КАК СуммаОплатыВВалютеВзаиморасчетов,
| 0 КАК СуммаПостоплатыВВалютеВзаиморасчетов,
| 0 КАК СуммаПредоплатыВВалютеВзаиморасчетов,
|
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУДенежныхСредств,
| ДанныеДокумента.Ссылка.ОбъектРасчетов КАК ИсточникГФУРасчетов,
| ЛОЖЬ КАК ОтложенноеПроведение
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТКурсыВалютСтрокОтчета КАК ТаблицаКурсыВалютСтрокОтчета
| ПО ТаблицаКурсыВалютСтрокОтчета.ИдентификаторСтроки = ДанныеДокумента.ИдентификаторСтроки
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = ДанныеДокумента.Дата
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо)
| И ДанныеДокумента.ТипОперации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Покупка),
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Доплата)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратБронированияПодотчетногоЛица) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &ПодразделениеПодотчетногоЛица КАК Подразделение,
|
| &ПодотчетноеЛицо КАК ДенежныеСредства,
| ЗНАЧЕНИЕ(Перечисление.ТипыДенежныхСредств.ДенежныеСредстваУПодотчетногоЛица) КАК ТипДенежныхСредств,
| &СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| &Валюта КАК ВалютаПлатежа,
|
| ДанныеДокумента.Ссылка.Перевозчик КАК Партнер,
| ДанныеДокумента.Ссылка.КонтрагентПеревозчик КАК Контрагент,
| ДанныеДокумента.Ссылка.ОбъектРасчетов.Договор КАК Договор,
| ДанныеДокумента.Ссылка.ОбъектРасчетов КАК ОбъектРасчетов,
| НЕОПРЕДЕЛЕНО КАК РасчетныйДокумент,
|
| ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК СуммаОплаты,
| ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК СуммаОплатыРегл,
| ДанныеДокумента.Сумма КАК СуммаОплатыВВалютеПлатежа,
|
| 0 КАК СуммаПостоплаты,
| 0 КАК СуммаПостоплатыРегл,
| 0 КАК СуммаПостоплатыВВалютеПлатежа,
|
| 0 КАК СуммаПредоплаты,
| 0 КАК СуммаПредоплатыРегл,
| 0 КАК СуммаПредоплатыВВалютеПлатежа,
|
| &Валюта КАК ВалютаВзаиморасчетов,
|
| ДанныеДокумента.Сумма КАК СуммаОплатыВВалютеВзаиморасчетов,
| 0 КАК СуммаПостоплатыВВалютеВзаиморасчетов,
| 0 КАК СуммаПредоплатыВВалютеВзаиморасчетов,
|
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУДенежныхСредств,
| ДанныеДокумента.Ссылка.ОбъектРасчетов КАК ИсточникГФУРасчетов,
| ЛОЖЬ КАК ОтложенноеПроведение
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = ДанныеДокумента.Дата
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо)
| И ДанныеДокумента.ТипОперации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Возврат)
| )
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияКонтрагентКонтрагент(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияКонтрагентКонтрагент";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтКоэффициентыПересчетаВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВтКоэффициентыПересчетаВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Ссылка.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.Ссылка.Организация КАК Организация,
| ДанныеДокумента.Ссылка.Подразделение КАК Подразделение,
|
| ДанныеДокумента.Ссылка.Перевозчик КАК Партнер,
| ДанныеДокумента.Ссылка.КонтрагентПеревозчик КАК Контрагент,
| ДанныеДокумента.Ссылка.ОбъектРасчетов.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.Ссылка.ОбъектРасчетов.Договор КАК Договор,
| ДанныеДокумента.Ссылка.ОбъектРасчетовДоговор КАК ОбъектРасчетов,
|
| ДанныеДокумента.Ссылка.Перевозчик КАК КорПартнер,
| ДанныеДокумента.Ссылка.КонтрагентПеревозчик КАК КорКонтрагент,
| ДанныеДокумента.Ссылка.ОбъектРасчетовДоговор.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
| ДанныеДокумента.Ссылка.Договор КАК КорДоговор,
| ДанныеДокумента.Ссылка.ОбъектРасчетов КАК КорОбъектРасчетов,
|
| ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК Сумма,
| ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК СуммаРегл,
| ДанныеДокумента.Сумма КАК СуммаВВалюте,
|
| ДанныеДокумента.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.Сумма КАК СуммаВВалютеВзаиморасчетов,
|
| ДанныеДокумента.Ссылка.Валюта КАК КорВалютаВзаиморасчетов,
| ДанныеДокумента.Сумма КАК КорСуммаВВалютеВзаиморасчетов,
|
| ДанныеДокумента.Ссылка.ОбъектРасчетовДоговор КАК ИсточникГФУРасчетов,
| ДанныеДокумента.Ссылка.ОбъектРасчетов КАК КорИсточникГФУРасчетов
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = ДанныеДокумента.Дата
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеУПоставщика)
| И ДанныеДокумента.ТипОперации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Покупка),
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Доплата)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Ссылка.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.Ссылка.Организация КАК Организация,
| ДанныеДокумента.Ссылка.Подразделение КАК Подразделение,
|
| ДанныеДокумента.Ссылка.Агент КАК Партнер,
| ДанныеДокумента.Ссылка.КонтрагентАгент КАК Контрагент,
| ДанныеДокумента.Ссылка.ОбъектРасчетовДоговор.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.Ссылка.Договор КАК Договор,
| ДанныеДокумента.Ссылка.ОбъектРасчетовДоговор КАК ОбъектРасчетов,
|
| ДанныеДокумента.Ссылка.Перевозчик КАК КорПартнер,
| ДанныеДокумента.Ссылка.КонтрагентПеревозчик КАК КорКонтрагент,
| ДанныеДокумента.Ссылка.ОбъектРасчетов.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
| ДанныеДокумента.Ссылка.ОбъектРасчетов.Договор КАК КорДоговор,
| ДанныеДокумента.Ссылка.ОбъектРасчетов КАК КорОбъектРасчетов,
|
| ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК Сумма,
| ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК СуммаРегл,
| ДанныеДокумента.Сумма КАК СуммаВВалюте,
|
| ДанныеДокумента.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.Сумма КАК СуммаВВалютеВзаиморасчетов,
|
| ДанныеДокумента.Ссылка.Валюта КАК КорВалютаВзаиморасчетов,
| ДанныеДокумента.Сумма КАК КорСуммаВВалютеВзаиморасчетов,
|
| ДанныеДокумента.Ссылка.ОбъектРасчетовДоговор КАК ИсточникГФУРасчетов,
| ДанныеДокумента.Ссылка.ОбъектРасчетов КАК КорИсточникГФУРасчетов
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = ДанныеДокумента.Дата
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезАгента)
| И ДанныеДокумента.ТипОперации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Покупка),
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Доплата)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратБронирования) КАК ХозяйственнаяОперация,
| ДанныеДокумента.Ссылка.Организация КАК Организация,
| ДанныеДокумента.Ссылка.Подразделение КАК Подразделение,
|
| ДанныеДокумента.Ссылка.Перевозчик КАК Партнер,
| ДанныеДокумента.Ссылка.КонтрагентПеревозчик КАК Контрагент,
| ДанныеДокумента.Ссылка.ОбъектРасчетовДоговор.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.Ссылка.Договор КАК Договор,
| ДанныеДокумента.Ссылка.ОбъектРасчетов КАК ОбъектРасчетов,
|
| ДанныеДокумента.Ссылка.Перевозчик КАК КорПартнер,
| ДанныеДокумента.Ссылка.КонтрагентПеревозчик КАК КорКонтрагент,
| ДанныеДокумента.Ссылка.ОбъектРасчетов.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
| ДанныеДокумента.Ссылка.ОбъектРасчетов.Договор КАК КорДоговор,
| ДанныеДокумента.Ссылка.ОбъектРасчетовДоговор КАК КорОбъектРасчетов,
|
| ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК Сумма,
| ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК СуммаРегл,
| ДанныеДокумента.Сумма КАК СуммаВВалюте,
|
| ДанныеДокумента.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.Сумма КАК СуммаВВалютеВзаиморасчетов,
|
| ДанныеДокумента.Ссылка.Валюта КАК КорВалютаВзаиморасчетов,
| ДанныеДокумента.Сумма КАК КорСуммаВВалютеВзаиморасчетов,
|
| ДанныеДокумента.Ссылка.ОбъектРасчетов КАК ИсточникГФУРасчетов,
| ДанныеДокумента.Ссылка.ОбъектРасчетовДоговор КАК КорИсточникГФУРасчетов
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = ДанныеДокумента.Дата
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеУПоставщика)
| И ДанныеДокумента.ТипОперации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Возврат)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратБронирования) КАК ХозяйственнаяОперация,
| ДанныеДокумента.Ссылка.Организация КАК Организация,
| ДанныеДокумента.Ссылка.Подразделение КАК Подразделение,
|
| ДанныеДокумента.Ссылка.Перевозчик КАК Партнер,
| ДанныеДокумента.Ссылка.КонтрагентПеревозчик КАК Контрагент,
| ДанныеДокумента.Ссылка.ОбъектРасчетов.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.Ссылка.ОбъектРасчетов.Договор КАК Договор,
| ДанныеДокумента.Ссылка.ОбъектРасчетов КАК ОбъектРасчетов,
|
| ДанныеДокумента.Ссылка.Агент КАК КорПартнер,
| ДанныеДокумента.Ссылка.КонтрагентАгент КАК КорКонтрагент,
| ДанныеДокумента.Ссылка.ОбъектРасчетовДоговор.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
| ДанныеДокумента.Ссылка.Договор КАК КорДоговор,
| ДанныеДокумента.Ссылка.ОбъектРасчетовДоговор КАК КорОбъектРасчетов,
|
| ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК Сумма,
| ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК СуммаРегл,
| ДанныеДокумента.Сумма КАК СуммаВВалюте,
|
| ДанныеДокумента.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.Сумма КАК СуммаВВалютеВзаиморасчетов,
|
| ДанныеДокумента.Ссылка.Валюта КАК КорВалютаВзаиморасчетов,
| ДанныеДокумента.Сумма КАК КорСуммаВВалютеВзаиморасчетов,
|
| ДанныеДокумента.Ссылка.ОбъектРасчетов КАК ИсточникГФУРасчетов,
| ДанныеДокумента.Ссылка.ОбъектРасчетовДоговор КАК КорИсточникГФУРасчетов
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = ДанныеДокумента.Дата
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезАгента)
| И ДанныеДокумента.ТипОперации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Возврат)
| )
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияКонтрагентДоходыРасходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияКонтрагентДоходыРасходы";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтКоэффициентыПересчетаВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВтКоэффициентыПересчетаВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВТСуммыСписания", ТекстыЗапроса) Тогда
ТекстЗапросаВТСуммыСписания(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ШтрафыПриВозвратеБронирования) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.Ссылка.ОбъектРасчетов.НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
|
| ДанныеДокумента.Ссылка.Агент КАК Партнер,
| ДанныеДокумента.Ссылка.КонтрагентАгент КАК Контрагент,
| ДанныеДокумента.Ссылка.ОбъектРасчетовДоговор.Договор КАК Договор,
| ДанныеДокумента.Ссылка.ОбъектРасчетовДоговор КАК ОбъектРасчетов,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельностиСтатьи,
| ДанныеДокумента.СтатьяРасходов КАК СтатьяДоходовРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаДоходов,
| ДанныеДокумента.АналитикаРасходов КАК АналитикаРасходов,
| ДанныеДокумента.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
|
| ДанныеДокумента.СуммаШтрафа * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК Сумма,
| ДанныеДокумента.СуммаШтрафа * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК СуммаБезНДС,
| ДанныеДокумента.СуммаШтрафа * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК СуммаРегл,
| ДанныеДокумента.СуммаШтрафа * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК СуммаРеглБезНДС,
|
| ДанныеДокумента.Ссылка.Валюта КАК Валюта,
| ДанныеДокумента.СуммаШтрафа КАК СуммаВВалюте,
| ДанныеДокумента.СуммаШтрафа КАК СуммаБезНДСВВалюте,
| ДанныеДокумента.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.СуммаШтрафа КАК СуммаВВалютеВзаиморасчетов,
| ДанныеДокумента.СуммаШтрафа КАК СуммаБезНДСВВалютеВзаиморасчетов,
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУРасчетов,
| ДанныеДокумента.ИдентификаторСтроки КАК ИдентификаторФинЗаписи
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = ДанныеДокумента.Дата
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.ТипОперации = ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Возврат)
| И ДанныеДокумента.СуммаШтрафа <> 0
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И ДанныеДокумента.Ссылка.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезАгента)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ШтрафыПриВозвратеБронирования) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.Ссылка.ОбъектРасчетов.НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
|
| ДанныеДокумента.Ссылка.Перевозчик КАК Партнер,
| ДанныеДокумента.Ссылка.КонтрагентПеревозчик КАК Контрагент,
| ДанныеДокумента.Ссылка.ОбъектРасчетов.Договор КАК Договор,
| ДанныеДокумента.Ссылка.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельностиСтатьи,
| ДанныеДокумента.СтатьяРасходов КАК СтатьяДоходовРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаДоходов,
| ДанныеДокумента.АналитикаРасходов КАК АналитикаРасходов,
| ДанныеДокумента.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
|
| ДанныеДокумента.СуммаШтрафа * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК Сумма,
| ДанныеДокумента.СуммаШтрафа * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК СуммаБезНДС,
| ДанныеДокумента.СуммаШтрафа * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК СуммаРегл,
| ДанныеДокумента.СуммаШтрафа * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК СуммаРеглБезНДС,
|
| ДанныеДокумента.Ссылка.Валюта КАК Валюта,
| ДанныеДокумента.СуммаШтрафа КАК СуммаВВалюте,
| ДанныеДокумента.СуммаШтрафа КАК СуммаБезНДСВВалюте,
| ДанныеДокумента.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.СуммаШтрафа КАК СуммаВВалютеВзаиморасчетов,
| ДанныеДокумента.СуммаШтрафа КАК СуммаБезНДСВВалютеВзаиморасчетов,
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУРасчетов,
| ДанныеДокумента.ИдентификаторСтроки КАК ИдентификаторФинЗаписи
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = ДанныеДокумента.Дата
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.ТипОперации = ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Возврат)
| И ДанныеДокумента.СуммаШтрафа <> 0
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И ДанныеДокумента.Ссылка.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеУПоставщика)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.ОбъектРасчетов.НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
| ДанныеДокумента.Агент КАК Партнер,
| ДанныеДокумента.КонтрагентАгент КАК Контрагент,
| ДанныеДокумента.ОбъектРасчетовДоговор.Договор КАК Договор,
| ДанныеДокумента.ОбъектРасчетовДоговор КАК ОбъектРасчетов,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельностиСтатьи,
| ДанныеДокумента.СтатьяРасходов КАК СтатьяДоходовРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаДоходов,
| ДанныеДокумента.АналитикаРасходов КАК АналитикаРасходов,
| ДанныеДокумента.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК Сумма,
| ДанныеДокумента.СуммаБезНДС * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК СуммаБезНДС,
| ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК СуммаРегл,
| ДанныеДокумента.СуммаБезНДС * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК СуммаРеглБезНДС,
| ДанныеДокумента.Валюта КАК Валюта,
| ДанныеДокумента.Сумма КАК СуммаВВалюте,
| ДанныеДокумента.СуммаБезНДС КАК СуммаБезНДСВВалюте,
| ДанныеДокумента.Валюта КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.Сумма КАК СуммаВВалютеВзаиморасчетов,
| ДанныеДокумента.СуммаБезНДС КАК СуммаБезНДСВВалютеВзаиморасчетов,
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУРасчетов,
| ДанныеДокумента.ИдентификаторСтроки КАК ИдентификаторФинЗаписи
|ИЗ
| ВТСуммыСписания КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = ДанныеДокумента.Дата
|ГДЕ
| ДанныеДокумента.ХозяйственнаяОперацияДокумента В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезАгента)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.ОбъектРасчетов.НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
| ДанныеДокумента.Перевозчик КАК Партнер,
| ДанныеДокумента.КонтрагентПеревозчик КАК Контрагент,
| ДанныеДокумента.ОбъектРасчетов.Договор КАК Договор,
| ДанныеДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельностиСтатьи,
| ДанныеДокумента.СтатьяРасходов КАК СтатьяДоходовРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаДоходов,
| ДанныеДокумента.АналитикаРасходов КАК АналитикаРасходов,
| ДанныеДокумента.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК Сумма,
| ДанныеДокумента.СуммаБезНДС * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК СуммаБезНДС,
| ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК СуммаРегл,
| ДанныеДокумента.СуммаБезНДС * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК СуммаРеглБезНДС,
| ДанныеДокумента.Валюта КАК Валюта,
| ДанныеДокумента.Сумма КАК СуммаВВалюте,
| ДанныеДокумента.СуммаБезНДС КАК СуммаБезНДСВВалюте,
| ДанныеДокумента.Валюта КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.Сумма КАК СуммаВВалютеВзаиморасчетов,
| ДанныеДокумента.СуммаБезНДС КАК СуммаБезНДСВВалютеВзаиморасчетов,
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУРасчетов,
| ДанныеДокумента.ИдентификаторСтроки КАК ИдентификаторФинЗаписи
|ИЗ
| ВТСуммыСписания КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = ДанныеДокумента.Дата
|ГДЕ
| ДанныеДокумента.ХозяйственнаяОперацияДокумента В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеУПоставщика)
| )
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияДенежныеСредстваДоходыРасходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияДенежныеСредстваДоходыРасходы";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтКоэффициентыПересчетаВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВтКоэффициентыПересчетаВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВТСуммыСписания", ТекстыЗапроса) Тогда
ТекстЗапросаВТСуммыСписания(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ШтрафыПриВозвратеБронированияПодотчетногоЛица) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.Ссылка.ОбъектРасчетов.НаправлениеДеятельности КАК НаправлениеДеятельностиДС,
|
| &ПодОтчетноеЛицо КАК ДенежныеСредства,
| ЗНАЧЕНИЕ(Перечисление.ТипыДенежныхСредств.ДенежныеСредстваУПодотчетногоЛица) КАК ТипДенежныхСредств,
| &СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
|
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельностиСтатьи,
| ДанныеДокумента.СтатьяРасходов КАК СтатьяДоходовРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаДоходов,
| ДанныеДокумента.АналитикаРасходов КАК АналитикаРасходов,
| ДанныеДокумента.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
|
| ДанныеДокумента.СуммаШтрафа * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК Сумма,
| ДанныеДокумента.СуммаШтрафа * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК СуммаРегл,
|
| ДанныеДокумента.Ссылка.Валюта КАК Валюта,
| ДанныеДокумента.СуммаШтрафа КАК СуммаВВалюте,
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУДенежныхСредств,
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУДоходовРасходов,
| ДанныеДокумента.ИдентификаторСтроки КАК ИдентификаторФинЗаписи
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = ДанныеДокумента.Дата
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.ТипОперации = ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Возврат)
| И ДанныеДокумента.СуммаШтрафа <> 0
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И ДанныеДокумента.Ссылка.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.ОбъектРасчетов.НаправлениеДеятельности КАК НаправлениеДеятельностиДС,
| &ПодОтчетноеЛицо КАК ДенежныеСредства,
| ЗНАЧЕНИЕ(Перечисление.ТипыДенежныхСредств.ДенежныеСредстваУПодотчетногоЛица) КАК ТипДенежныхСредств,
| &СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельностиСтатьи,
| ДанныеДокумента.СтатьяРасходов КАК СтатьяДоходовРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаДоходов,
| ДанныеДокумента.АналитикаРасходов КАК АналитикаРасходов,
| ДанныеДокумента.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК Сумма,
| ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК СуммаРегл,
| ДанныеДокумента.Валюта КАК Валюта,
| ДанныеДокумента.Сумма КАК СуммаВВалюте,
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУДенежныхСредств,
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУДоходовРасходов,
| ДанныеДокумента.ИдентификаторСтроки КАК ИдентификаторФинЗаписи
|ИЗ
| ВТСуммыСписания КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = ДанныеДокумента.Дата
|ГДЕ
| ДанныеДокумента.ХозяйственнаяОперацияДокумента В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо)
| )
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеРасходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаПрочиеРасходы("ИдентификаторСтроки");
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеАктивыПассивы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВТСуммыСписания", ТекстыЗапроса) Тогда
ТекстЗапросаВТСуммыСписания(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.СтатьяРасходов КАК Статья,
| ВЫБОР
| КОГДА ДанныеДокумента.АналитикаАктивовПассивов = ЗНАЧЕНИЕ(Перечисление.СтатьиБезАналитики.ПустаяСсылка)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ДанныеДокумента.АналитикаАктивовПассивов
| КОНЕЦ КАК Аналитика,
| СУММА(ВЫРАЗИТЬ(ДанныеДокумента.СуммаШтрафа * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))) КАК Сумма
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.ТипОперации = ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Возврат)
| И ДанныеДокумента.СуммаШтрафа <> 0
| И ДанныеДокумента.СтатьяРасходов ССЫЛКА ПланВидовХарактеристик.СтатьиАктивовПассивов
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
|
|СГРУППИРОВАТЬ ПО
| ДанныеДокумента.Дата,
| ДанныеДокумента.СтатьяРасходов,
| ДанныеДокумента.АналитикаАктивовПассивов,
| ДанныеДокумента.НаправлениеДеятельности,
| ДанныеДокумента.Подразделение
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.СтатьяРасходов КАК Статья,
| ВЫБОР
| КОГДА ДанныеДокумента.АналитикаАктивовПассивов = ЗНАЧЕНИЕ(Перечисление.СтатьиБезАналитики.ПустаяСсылка)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ДанныеДокумента.АналитикаАктивовПассивов
| КОНЕЦ КАК Аналитика,
| СУММА(ВЫРАЗИТЬ(ДанныеДокумента.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))) КАК Сумма
|ИЗ
| ВТСуммыСписания КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.СтатьяРасходов ССЫЛКА ПланВидовХарактеристик.СтатьиАктивовПассивов
|
|СГРУППИРОВАТЬ ПО
| ДанныеДокумента.Дата,
| ДанныеДокумента.Организация,
| ДанныеДокумента.СтатьяРасходов,
| ДанныеДокумента.АналитикаАктивовПассивов,
| ДанныеДокумента.НаправлениеДеятельности,
| ДанныеДокумента.Подразделение
|";
ТекстЗапроса = ТекстЗапроса + "ОБЪЕДИНИТЬ ВСЕ"
+ РегистрыНакопления.ПрочиеАктивыПассивы.ТекстЗапросаТаблицаПрочиеАктивыПассивы(Ложь);
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПартииПрочихРасходов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПартииПрочихРасходов.ТекстЗапросаТаблицаПартииПрочихРасходов();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтИсходныеПрочиеРасходы";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтКоэффициентыПересчетаВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВтКоэффициентыПересчетаВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВТСуммыСписания", ТекстыЗапроса) Тогда
ТекстЗапросаВТСуммыСписания(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ДанныеДокумента.СтатьяРасходов КАК СтатьяРасходов,
| ДанныеДокумента.АналитикаРасходов КАК АналитикаРасходов,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
| ВЫРАЗИТЬ(ДанныеДокумента.СуммаШтрафа
| * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК ЧИСЛО(31,2)) КАК СуммаСНДС,
| ВЫРАЗИТЬ(ДанныеДокумента.СуммаШтрафа
| * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК ЧИСЛО(31,2)) КАК СуммаБезНДС,
| ВЫРАЗИТЬ(ДанныеДокумента.СуммаШтрафа
| * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК ЧИСЛО(31,2)) КАК СуммаБезНДСУпр,
| ВЫРАЗИТЬ(ДанныеДокумента.СуммаШтрафа
| * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2)) КАК СуммаСНДСРегл,
| ВЫРАЗИТЬ(ДанныеДокумента.СуммаШтрафа
| * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2)) КАК СуммаБезНДСРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| ВЫБОР КОГДА ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо) ТОГДА
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ШтрафыПриВозвратеБронированияПодотчетногоЛица)
| ИНАЧЕ
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ШтрафыПриВозвратеБронирования)
| КОНЕЦ КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
|
| ВЫБОР
| КОГДА ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо)
| ТОГДА ДанныеДокумента.ИдентификаторСтроки
| ИНАЧЕ ДанныеДокумента.Ссылка.ОбъектРасчетовДоговор.УникальныйИдентификатор
| КОНЕЦ КАК ИдентификаторФинЗаписи,
| """" КАК ИдентификаторСтроки,
| ВЫБОР КОГДА ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо) ТОГДА
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ШтрафыПриВозвратеБронированияПодотчетногоЛица)
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ШтрафыПриВозвратеБронирования)
| КОНЕЦ КАК НастройкаХозяйственнойОперации
|
|ПОМЕСТИТЬ ВтИсходныеПрочиеРасходы
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| ПланВидовХарактеристик.СтатьиРасходов КАК СтатьиРасходов
| ПО
| ДанныеДокумента.СтатьяРасходов = СтатьиРасходов.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = ДанныеДокумента.Дата
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.ТипОперации = ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Возврат)
| И ДанныеДокумента.СуммаШтрафа <> 0
| И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.СтатьяРасходов КАК СтатьяРасходов,
| ДанныеДокумента.АналитикаРасходов КАК АналитикаРасходов,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
| ВЫРАЗИТЬ(ДанныеДокумента.Сумма
| * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК ЧИСЛО(31,2)) КАК СуммаСНДС,
| ВЫБОР
| КОГДА
| ДанныеДокумента.ВидДеятельностиНДС = Значение(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС)
| ТОГДА
| ВЫРАЗИТЬ(ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК ЧИСЛО(31,2))
| - ВЫРАЗИТЬ(ДанныеДокумента.СуммаНДС * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК ЧИСЛО(31,2))
| ИНАЧЕ ВЫРАЗИТЬ(ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаБезНДС,
|
| ВЫБОР
| КОГДА
| ДанныеДокумента.ВидДеятельностиНДС = Значение(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС)
| ТОГДА
| ВЫРАЗИТЬ(ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК ЧИСЛО(31,2))
| - ВЫРАЗИТЬ(ДанныеДокумента.СуммаНДС * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК ЧИСЛО(31,2))
| ИНАЧЕ ВЫРАЗИТЬ(ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаБезНДСУпр,
|
| ВЫРАЗИТЬ(ДанныеДокумента.Сумма
| * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2)) КАК СуммаСНДСРегл,
|
| ВЫБОР
| КОГДА
| ДанныеДокумента.ВидДеятельностиНДС = Значение(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС)
| ТОГДА
| ВЫРАЗИТЬ(ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2))
| - ВЫРАЗИТЬ(ДанныеДокумента.СуммаНДС * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2))
| ИНАЧЕ ВЫРАЗИТЬ(ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаБезНДСРегл,
|
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
| ДанныеДокумента.ИдентификаторОбъектаРасчетов,
| ДанныеДокумента.ИдентификаторСтроки,
| ДанныеДокумента.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| ВТСуммыСписания КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| ПланВидовХарактеристик.СтатьиРасходов КАК СтатьиРасходов
| ПО
| ДанныеДокумента.СтатьяРасходов = СтатьиРасходов.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = ДанныеДокумента.Дата
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ДанныеДокумента.Организация КАК Организация,
| (ВЫБОР
| КОГДА &СтатьяРасходовСписаниеНДС = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| ТОГДА ДанныеДокумента.СтатьяРасходов
| ИНАЧЕ &СтатьяРасходовСписаниеНДС КОНЕЦ) КАК СтатьяРасходов,
| (ВЫБОР
| КОГДА &СтатьяРасходовСписаниеНДС = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| ТОГДА ДанныеДокумента.АналитикаРасходов
| ИНАЧЕ &АналитикаРасходовСписаниеНДС КОНЕЦ) КАК АналитикаРасходов,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
| 0 КАК СуммаСНДС,
| 0 КАК СуммаБезНДС,
| ВЫРАЗИТЬ(ДанныеДокумента.СуммаНДС
| * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК ЧИСЛО(31,2)) КАК СуммаБезНДСУпр,
| ВЫРАЗИТЬ(ДанныеДокумента.СуммаНДС
| * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2)) КАК СуммаСНДСРегл,
| ВЫРАЗИТЬ(ДанныеДокумента.СуммаНДС
| * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2)) КАК СуммаБезНДСРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеНДСПоПриобретеннымЦенностям) КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
| ДанныеДокумента.ИдентификаторОбъектаРасчетов,
| ДанныеДокумента.ИдентификаторСтроки,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СписаниеНДСПоПриобретеннымЦенностям) КАК НастройкаХозяйственнойОперации
|ИЗ
| ВТСуммыСписания КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = ДанныеДокумента.Дата
|ГДЕ
| НЕ ДанныеДокумента.ВидДеятельностиНДС = Значение(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| И НЕ &ПринятьНДСКВычету
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтПрочиеРасходы";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаВтПрочиеРасходы("ИдентификаторСтроки");
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ТекстЗапросаТаблицаВтИсходныеПартииПрочихРасходов(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтИсходныеПартииПрочихРасходов";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтКоэффициентыПересчетаВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВтКоэффициентыПересчетаВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВТСуммыСписания", ТекстыЗапроса) Тогда
ТекстЗапросаВТСуммыСписания(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ДанныеДокумента.НомерСтроки КАК НомерСтроки,
| ДанныеДокумента.Дата КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.СтатьяРасходов КАК СтатьяРасходов,
| ДанныеДокумента.АналитикаРасходов КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаПартий,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| &Ссылка КАК ДокументПоступленияРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
|
| ДанныеДокумента.СуммаШтрафа * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК Стоимость,
| ДанныеДокумента.СуммаШтрафа * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК СтоимостьБезНДС,
| 0 КАК НДСУпр,
| ДанныеДокумента.СуммаШтрафа * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК СтоимостьРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК НДСРегл,
| ВЫБОР КОГДА ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо) ТОГДА
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ШтрафыПриВозвратеБронированияПодотчетногоЛица)
| ИНАЧЕ
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ШтрафыПриВозвратеБронирования)
| КОНЕЦ КАК ХозяйственнаяОперация,
|
| ВЫБОР
| КОГДА ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо)
| ТОГДА ДанныеДокумента.ИдентификаторСтроки
| ИНАЧЕ ДанныеДокумента.Ссылка.ОбъектРасчетовДоговор.УникальныйИдентификатор
| КОНЕЦ КАК ИдентификаторФинЗаписи,
| ВЫБОР КОГДА ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо) ТОГДА
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ШтрафыПриВозвратеБронированияПодотчетногоЛица)
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ШтрафыПриВозвратеБронирования)
| КОНЕЦ КАК НастройкаХозяйственнойОперации
|
|ПОМЕСТИТЬ ВтИсходныеПартииПрочихРасходов
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = ДанныеДокумента.Дата
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.ТипОперации = ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Возврат)
| И ДанныеДокумента.СуммаШтрафа <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.НомерСтроки КАК НомерСтроки,
| ДанныеДокумента.Дата КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.СтатьяРасходов КАК СтатьяРасходов,
| ДанныеДокумента.АналитикаРасходов КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаПартий,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| &Ссылка КАК ДокументПоступленияРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
| ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК Стоимость,
| ДанныеДокумента.СуммаБезНДС * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК СтоимостьБезНДС,
| 0 КАК НДСУпр,
| ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК СтоимостьРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК НДСРегл,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.ИдентификаторФинЗаписи,
| ДанныеДокумента.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВТСуммыСписания КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = ДанныеДокумента.Дата
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
КонецПроцедуры
Функция ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтПартииПрочихРасходов";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПартииПрочихРасходов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПартииПрочихРасходов.ТекстЗапросаТаблицаВтПартииПрочихРасходов();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияПоПрочимАктивамПассивам(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияПоПрочимАктивамПассивам";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтКоэффициентыПересчетаВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВтКоэффициентыПересчетаВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВТСуммыСписания", ТекстыЗапроса) Тогда
ТекстЗапросаВТСуммыСписания(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| &Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.СтатьяРасходов КАК Статья,
| ДанныеДокумента.АналитикаАктивовПассивов КАК Аналитика,
| ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Дебет) КАК ДебетКредит,
|
| ДанныеДокумента.СуммаШтрафа * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК СуммаРегл,
| ДанныеДокумента.СуммаШтрафа * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК СуммаУпр,
| ДанныеДокумента.СуммаШтрафа * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК СуммаСНДС,
| ДанныеДокумента.СуммаШтрафа * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК СуммаБезНДС,
|
| ВЫБОР
| КОГДА ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо)
| ТОГДА ДанныеДокумента.ИдентификаторСтроки
| ИНАЧЕ ДанныеДокумента.Ссылка.ОбъектРасчетовДоговор.УникальныйИдентификатор
| КОНЕЦ КАК ИдентификаторФинЗаписи,
| ВЫБОР КОГДА ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо) ТОГДА
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ШтрафыПриВозвратеБронированияПодотчетногоЛица)
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ШтрафыПриВозвратеБронирования)
| КОНЕЦ КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.Бронирование.Операции КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = ДанныеДокумента.Дата
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.СтатьяРасходов ССЫЛКА ПланВидовХарактеристик.СтатьиАктивовПассивов
| И ДанныеДокумента.СтатьяРасходов <> ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиАктивовПассивов.ПустаяСсылка)
| И ДанныеДокумента.ТипОперации = ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Возврат)
| И ДанныеДокумента.СуммаШтрафа <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.СтатьяРасходов КАК Статья,
| ДанныеДокумента.АналитикаАктивовПассивов КАК Аналитика,
| ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Дебет) КАК ДебетКредит,
| ВЫБОР
| КОГДА ДанныеДокумента.ВидДеятельностиНДС = Значение(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ТОГДА ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл
| ИНАЧЕ ДанныеДокумента.СуммаБезНДС * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл
| КОНЕЦ КАК СуммаРегл,
| ВЫБОР
| КОГДА ДанныеДокумента.ВидДеятельностиНДС = Значение(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ТОГДА ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр
| ИНАЧЕ ДанныеДокумента.СуммаБезНДС * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр
| КОНЕЦ КАК СуммаУпр,
| ДанныеДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК СуммаСНДС,
| ДанныеДокумента.СуммаБезНДС * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК СуммаБезНДС,
| ДанныеДокумента.ИдентификаторОбъектаРасчетов КАК ИдентификаторФинЗаписи,
| ДанныеДокумента.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| ВТСуммыСписания КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = ДанныеДокумента.Дата
|ГДЕ
| ДанныеДокумента.СтатьяРасходов ССЫЛКА ПланВидовХарактеристик.СтатьиАктивовПассивов
| И ДанныеДокумента.СтатьяРасходов <> ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиАктивовПассивов.ПустаяСсылка)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры)
Если Не УчетНДСУП.ТребуетсяПроведениеПоРегистрамНДС(Регистры) Тогда
Возврат;
КонецЕсли;
НастройкиНалоговУчетныхПолитик.ДополнитьМенеджерВременныхТаблицДействующимиПараметрамиНалоговУчетныхПолитик(
Метаданные.РегистрыСведений.НастройкиСистемыНалогообложения.Имя,
Запрос.МенеджерВременныхТаблиц,
Запрос.Параметры.Период,
"ВТНастройкиСистемыНалогообложения",
Запрос.Параметры.Организация);
ТекстЦенности = "
|ВЫБРАТЬ
| ВЫБОР
| КОГДА ОперацииДокумента.Дата > ОперацииДокумента.Ссылка.ДатаПрибытия
| ТОГДА ОперацииДокумента.Дата
| ИНАЧЕ ОперацииДокумента.Ссылка.ДатаПрибытия
| КОНЕЦ КАК Период,
| ОперацииДокумента.Ссылка КАК Ссылка,
| ОперацииДокумента.Ссылка.Организация КАК Организация,
| ОперацииДокумента.Ссылка.Подразделение КАК Подразделение,
| ВЫБОР
| КОГДА ОперацииДокумента.Ссылка.ХозяйственнаяОперация = Значение(Перечисление.ХозяйственныеОперации.БронированиеЧерезАгента)
| ТОГДА ОперацииДокумента.Ссылка.КонтрагентАгент
| ИНАЧЕ ОперацииДокумента.Ссылка.КонтрагентПеревозчик
| КОНЕЦ КАК Контрагент,
| НЕОПРЕДЕЛЕНО КАК Договор,
| ВЫБОР
| КОГДА ОперацииДокумента.Ссылка.ХозяйственнаяОперация = Значение(Перечисление.ХозяйственныеОперации.БронированиеЧерезАгента)
| ТОГДА ОперацииДокумента.Ссылка.КонтрагентАгент
| ИНАЧЕ ОперацииДокумента.Ссылка.КонтрагентПеревозчик
| КОНЕЦ КАК Грузоотправитель,
| ОперацииДокумента.Ссылка КАК ДокументПриобретения,
| ОперацииДокумента.Ссылка КАК ИсходныйТорговыйДокумент,
| ЛОЖЬ КАК ИсправлениеОшибок,
| ЛОЖЬ КАК КорректировкаПоСогласованиюСторон,
| ЛОЖЬ КАК УменьшитьСуммуНДСКВычету,
| НЕОПРЕДЕЛЕНО КАК ДокументКорректировкиПриобретения,
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС) КАК НалогообложениеНДС,
| &ЗакупкаПодДеятельность КАК ВидДеятельностиНДС,
| ОперацииДокумента.СтавкаНДС КАК СтавкаНДС,
| НЕОПРЕДЕЛЕНО КАК Номенклатура,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК НомерГТД,
| ВЫБОР
| КОГДА ОперацииДокумента.Ссылка.ПодразделениеСписания = Значение(Справочник.СтруктураПредприятия.ПустаяСсылка) ТОГДА
| ОперацииДокумента.Ссылка.Подразделение
| ИНАЧЕ ОперацииДокумента.Ссылка.ПодразделениеСписания
| КОНЕЦ КАК ПодразделениеУчета,
| ВЫБОР
| КОГДА ОперацииДокумента.Ссылка.НаправлениеДеятельностиДляСписания = Значение(Справочник.НаправленияДеятельности.ПустаяСсылка) ТОГДА
| ОперацииДокумента.Ссылка.НаправлениеДеятельности
| ИНАЧЕ ОперацииДокумента.Ссылка.НаправлениеДеятельностиДляСписания
| КОНЕЦ КАК НаправлениеДеятельности,
| ЛОЖЬ КАК ПриобретениеНаПартиюПроизводства,
| НЕОПРЕДЕЛЕНО КАК НаправлениеДеятельностиПартииПроизводства,
| НЕОПРЕДЕЛЕНО КАК СписатьНаРасходы,
| ВЫБОР
| КОГДА &ПринятьНДСКВычету
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ &СтатьяРасходовСписаниеНДС
| КОНЕЦ КАК СтатьяРасходов,
| &АналитикаРасходовСписаниеНДС КАК АналитикаРасходов,
| ОперацииДокумента.Ссылка.СтатьяРасходов КАК СтатьяПрочихАктивов,
| ОперацииДокумента.Ссылка.АналитикаАктивовПассивов КАК АналитикаПрочихАктивов,
| НЕОПРЕДЕЛЕНО КАК Назначение,
| ОперацииДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ОписаниеОбъектаРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ПрочиеРасходы) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.Бронирование.Операции КАК ОперацииДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.ОбъектыРасчетов КАК ОписаниеОбъектаРасчетов
| ПО ОперацииДокумента.Ссылка.ОбъектРасчетов = ОписаниеОбъектаРасчетов.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВТНастройкиСистемыНалогообложения КАК НастройкиСистемыНалогообложения
| ПО
| ОперацииДокумента.Ссылка.Организация = НастройкиСистемыНалогообложения.Организация
|ГДЕ
| ОперацииДокумента.Ссылка В (&Ссылка)
| И ОперацииДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И ОперацииДокумента.Ссылка.ЗакупкаПодДеятельность = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС)
| И &СпособСписанияНапрямую
|";
УчетНДСУП.ОтразитьПриобретениеУПоставщика(Запрос, ТекстыЗапроса, Регистры, ТекстЦенности);
ТекстЦенности = "
|ВЫБРАТЬ
| ВЫБОР
| КОГДА ОперацииДокумента.Дата > ОперацииДокумента.Ссылка.ДатаПрибытия
| ТОГДА ОперацииДокумента.Дата
| ИНАЧЕ ОперацииДокумента.Ссылка.ДатаПрибытия
| КОНЕЦ КАК Период,
| ОперацииДокумента.Ссылка КАК Ссылка,
| ОперацииДокумента.Ссылка.Организация КАК Организация,
| ОперацииДокумента.Ссылка.Подразделение КАК Подразделение,
| ВЫБОР
| КОГДА ОперацииДокумента.Ссылка.ХозяйственнаяОперация = Значение(Перечисление.ХозяйственныеОперации.БронированиеЧерезАгента)
| ТОГДА ОперацииДокумента.Ссылка.КонтрагентАгент
| ИНАЧЕ ОперацииДокумента.Ссылка.КонтрагентПеревозчик
| КОНЕЦ КАК Контрагент,
| ОперацииДокумента.Ссылка КАК СчетФактура,
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС) КАК ВидДеятельностиНДС,
| ОперацииДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ОперацииДокумента.СтавкаНДС КАК СтавкаНДС,
| ВЫБОР
| КОГДА ОперацииДокумента.Ссылка.ПодразделениеСписания = Значение(Справочник.СтруктураПредприятия.ПустаяСсылка) ТОГДА
| ОперацииДокумента.Ссылка.Подразделение
| ИНАЧЕ ОперацииДокумента.Ссылка.ПодразделениеСписания
| КОНЕЦ КАК ПодразделениеУчета,
| ВЫБОР
| КОГДА ОперацииДокумента.Ссылка.НаправлениеДеятельностиДляСписания = Значение(Справочник.НаправленияДеятельности.ПустаяСсылка) ТОГДА
| ОперацииДокумента.Ссылка.НаправлениеДеятельности
| ИНАЧЕ ОперацииДокумента.Ссылка.НаправлениеДеятельностиДляСписания
| КОНЕЦ КАК НаправлениеДеятельности,
| ОперацииДокумента.Ссылка.СтатьяРасходов КАК СтатьяРасходов,
| &СтатьяРасходовСписаниеНДС КАК СтатьяРасходовСписаниеНДС,
| &АналитикаРасходовСписаниеНДС КАК АналитикаРасходовСписаниеНДС,
| ОписаниеОбъектаРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СписаниеНДСПоПриобретеннымЦенностям) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.Бронирование.Операции КАК ОперацииДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.ОбъектыРасчетов КАК ОписаниеОбъектаРасчетов
| ПО ОперацииДокумента.Ссылка.ОбъектРасчетов = ОписаниеОбъектаРасчетов.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВТНастройкиСистемыНалогообложения КАК НастройкиСистемыНалогообложения
| ПО
| ОперацииДокумента.Ссылка.Организация = НастройкиСистемыНалогообложения.Организация
|ГДЕ
| ОперацииДокумента.Ссылка В (&Ссылка)
| И ОперацииДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И &СпособСписанияНапрямую
| И ОперацииДокумента.Ссылка.ЗакупкаПодДеятельность = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС)
| И НЕ ЕСТЬNULL(НастройкиСистемыНалогообложения.СистемаНалогообложения, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.СистемыНалогообложения.Упрощенная)
| И НЕ &СписыватьНДСПоРасходамНеПринимаемымВНУ
| И НЕ &ПринятьНДСКВычету
|";
УчетНДСУП.ОтразитьСписаниеНДСНаРасходы(Запрос, ТекстыЗапроса, Регистры, ТекстЦенности);
КонецПроцедуры
Процедура СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры = Неопределено) Экспорт
ИмяРегистра = "СуммыДокументовВВалютахУчета";
Если Регистры <> Неопределено И Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат;
КонецЕсли;
Если ПроведениеДокументов.ЕстьТаблицаЗапроса("СуммыДокументовВВалютахУчета", ТекстыЗапроса) Тогда
Возврат;
КонецЕсли;
ТекстЗапросаТаблицаВтСуммыДокументовВВалютахУчета(Запрос, ТекстыЗапроса);
Текст = "
|////////////////////////////////////////////////////////////////////////////////
|// Таблица СуммыДокументовВВалютахУчета
|"+
"ВЫБРАТЬ
| *
|ИЗ
| ВтСуммыДокументовВВалютахУчета";
ТекстыЗапроса.Добавить(Текст, ИмяРегистра);
КонецПроцедуры
Функция ТекстЗапросаТаблицаВтСуммыДокументовВВалютахУчета(Запрос, ТекстыЗапроса)
ИмяРегистра = "СуммыДокументовВВалютеРегл";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВТКурсыВалютСтрокОтчета", ТекстыЗапроса) Тогда
ТекстЗапросаВТКурсыВалютСтрокОтчета(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтКоэффициентыПересчетаВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВтКоэффициентыПересчетаВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| ТаблицаДокумента.НомерСтроки,
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка.Валюта КАК Валюта,
| ТаблицаДокумента.Ссылка.Валюта КАК ВалютаДокумента,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| (ТаблицаДокумента.Сумма - ТаблицаДокумента.СуммаНДС) КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДокумента.СуммаНДС КАК СуммаНДС,
| ВЫРАЗИТЬ(ТаблицаДокумента.Сумма * ТаблицаКурсыВалютСтрокОтчета.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2))
| - ВЫРАЗИТЬ(ТаблицаДокумента.СуммаНДС * ТаблицаКурсыВалютСтрокОтчета.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2))
| КАК СуммаБезНДСРегл,
|
| ВЫРАЗИТЬ(ТаблицаДокумента.СуммаНДС * ТаблицаКурсыВалютСтрокОтчета.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2))
| КАК СуммаНДСРегл,
| НЕОПРЕДЕЛЕНО КАК ТипРасчетов,
| ВЫРАЗИТЬ(ТаблицаДокумента.Сумма * ТаблицаКурсыВалютСтрокОтчета.КоэффициентПересчетаУпр КАК ЧИСЛО(31,2))
| - ВЫРАЗИТЬ(ТаблицаДокумента.СуммаНДС * ТаблицаКурсыВалютСтрокОтчета.КоэффициентПересчетаУпр КАК ЧИСЛО(31,2))
| КАК СуммаБезНДСУпр,
| ВЫРАЗИТЬ(ТаблицаДокумента.СуммаНДС * ТаблицаКурсыВалютСтрокОтчета.КоэффициентПересчетаУпр КАК ЧИСЛО(31,2))
| КАК СуммаНДСУпр,
| ЛОЖЬ КАК ОтражаетсяВРасчетах,
| ТаблицаДокумента.Сумма КАК СуммаСНДС,
| &Период КАК ПериодБазыНДС,
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетов,
| ВЫРАЗИТЬ(ТаблицаДокумента.Сумма * ТаблицаКурсыВалютСтрокОтчета.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2))
| - ВЫРАЗИТЬ(ТаблицаДокумента.СуммаНДС * ТаблицаКурсыВалютСтрокОтчета.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2))
| КАК БазаНДСРегл,
| ТаблицаДокумента.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| ТаблицаДокумента.Сумма КАК СуммаВзаиморасчетов,
| 0 КАК СуммаНДСВзаиморасчетов
|ПОМЕСТИТЬ ВтСуммыДокументовВВалютахУчета
|ИЗ
| Документ.Бронирование.Операции КАК ТаблицаДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТКурсыВалютСтрокОтчета КАК ТаблицаКурсыВалютСтрокОтчета
| ПО ТаблицаКурсыВалютСтрокОтчета.ИдентификаторСтроки = ТаблицаДокумента.ИдентификаторСтроки
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
| И ТаблицаДокумента.ТипОперации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Покупка),
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Доплата)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| ТаблицаДокумента.НомерСтроки,
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка.Валюта КАК Валюта,
| ТаблицаДокумента.Ссылка.Валюта КАК ВалютаДокумента,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| (ТаблицаДокумента.Сумма - ТаблицаДокумента.СуммаНДС) КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДокумента.СуммаНДС КАК СуммаНДС,
| ВЫРАЗИТЬ(ТаблицаДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2))
| - ВЫРАЗИТЬ(ТаблицаДокумента.СуммаНДС * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2))
| КАК СуммаБезНДСРегл,
| ВЫРАЗИТЬ(ТаблицаДокумента.СуммаНДС * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2))
| КАК СуммаНДСРегл,
| НЕОПРЕДЕЛЕНО КАК ТипРасчетов,
| ВЫРАЗИТЬ(ТаблицаДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК ЧИСЛО(31,2))
| - ВЫРАЗИТЬ(ТаблицаДокумента.СуммаНДС * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК ЧИСЛО(31,2))
| КАК СуммаБезНДСУпр,
| ВЫРАЗИТЬ(ТаблицаДокумента.СуммаНДС * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК ЧИСЛО(31,2))
| КАК СуммаНДСУпр,
| ЛОЖЬ КАК ОтражаетсяВРасчетах,
| ТаблицаДокумента.Сумма КАК СуммаСНДС,
| &Период КАК ПериодБазыНДС,
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетов,
| ВЫРАЗИТЬ(ТаблицаДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2))
| - ВЫРАЗИТЬ(ТаблицаДокумента.СуммаНДС * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2))
| КАК БазаНДСРегл,
| ТаблицаДокумента.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| ТаблицаДокумента.Сумма КАК СуммаВзаиморасчетов,
| 0 КАК СуммаНДСВзаиморасчетов
|ИЗ
| Документ.Бронирование.Операции КАК ТаблицаДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТКурсыВалютСтрокОтчета КАК ТаблицаКурсыВалютСтрокОтчета
| ПО ТаблицаКурсыВалютСтрокОтчета.ИдентификаторСтроки = ТаблицаДокумента.ИдентификаторСтроки
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = ТаблицаДокумента.Дата
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
| И ТаблицаДокумента.ТипОперации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Покупка),
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Доплата)
| )
| И ТаблицаКурсыВалютСтрокОтчета.ИдентификаторСтроки ЕСТЬ NULL
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| ТаблицаДокумента.НомерСтроки,
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка.Валюта КАК Валюта,
| ТаблицаДокумента.Ссылка.Валюта КАК ВалютаДокумента,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| -(ТаблицаДокумента.Сумма - ТаблицаДокумента.СуммаНДС) КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| -ТаблицаДокумента.СуммаНДС КАК СуммаНДС,
| -(ВЫРАЗИТЬ(ТаблицаДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2))
| - ВЫРАЗИТЬ(ТаблицаДокумента.СуммаНДС * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2)))
| КАК СуммаБезНДСРегл,
| -(ВЫРАЗИТЬ(ТаблицаДокумента.СуммаНДС * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2)))
| КАК СуммаНДСРегл,
| НЕОПРЕДЕЛЕНО КАК ТипРасчетов,
| -(ВЫРАЗИТЬ(ТаблицаДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК ЧИСЛО(31,2))
| - ВЫРАЗИТЬ(ТаблицаДокумента.СуммаНДС * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК ЧИСЛО(31,2)))
| КАК СуммаБезНДСУпр,
| -(ВЫРАЗИТЬ(ТаблицаДокумента.СуммаНДС * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК ЧИСЛО(31,2)))
| КАК СуммаНДСУпр,
| ЛОЖЬ КАК ОтражаетсяВРасчетах,
| -ТаблицаДокумента.Сумма КАК СуммаСНДС,
| &Период КАК ПериодБазыНДС,
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетов,
| -(ВЫРАЗИТЬ(ТаблицаДокумента.Сумма * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2))
| - ВЫРАЗИТЬ(ТаблицаДокумента.СуммаНДС * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2)))
| КАК БазаНДСРегл,
| ТаблицаДокумента.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| -ТаблицаДокумента.Сумма КАК СуммаВзаиморасчетов,
| 0 КАК СуммаНДСВзаиморасчетов
|ИЗ
| Документ.Бронирование.Операции КАК ТаблицаДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = ТаблицаДокумента.Дата
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
| И ТаблицаДокумента.ТипОперации НЕ В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Покупка),
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Доплата)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| ТаблицаДокумента.НомерСтроки,
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка.Валюта КАК Валюта,
| ТаблицаДокумента.Ссылка.Валюта КАК ВалютаДокумента,
| ТаблицаДокумента.ИдентификаторСтрокиШтрафа КАК ИдентификаторСтроки,
| ТаблицаДокумента.СуммаШтрафа КАК СуммаБезНДС,
| НЕОПРЕДЕЛЕНО КАК СтавкаНДС,
| 0 КАК СуммаНДС,
| ВЫРАЗИТЬ(ТаблицаДокумента.СуммаШтрафа * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2))
| КАК СуммаБезНДСРегл,
| 0 КАК СуммаНДСРегл,
| НЕОПРЕДЕЛЕНО КАК ТипРасчетов,
| ВЫРАЗИТЬ(ТаблицаДокумента.СуммаШтрафа * КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК ЧИСЛО(31,2))
| КАК СуммаБезНДСУпр,
| 0 КАК СуммаНДСУпр,
|
| ЛОЖЬ КАК ОтражаетсяВРасчетах,
| ТаблицаДокумента.СуммаШтрафа КАК СуммаСНДС,
| &Период КАК ПериодБазыНДС,
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетов,
| ВЫРАЗИТЬ(ТаблицаДокумента.СуммаШтрафа * КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК ЧИСЛО(31,2))
| КАК БазаНДСРегл,
| ТаблицаДокумента.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| ТаблицаДокумента.СуммаШтрафа КАК СуммаВзаиморасчетов,
| 0 КАК СуммаНДСВзаиморасчетов
|ИЗ
| Документ.Бронирование.Операции КАК ТаблицаДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = ТаблицаДокумента.Дата
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаДокумента.СуммаШтрафа <> 0
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВТКурсыВалютСтрокОтчета(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВТКурсыВалютСтрокОтчета";
ТекстыЗапросовПоКоэффициентамПересчета = Новый СписокЗначений;
ТекстЗапросаВтКоэффициентыПересчетаВалют(Запрос, ТекстыЗапросовПоКоэффициентамПересчета);
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтКоэффициентыПересчетаВалют", ТекстыЗапроса) Тогда
Для Каждого ЭлементСписка Из ТекстыЗапросовПоКоэффициентамПересчета Цикл
ТекстыЗапроса.Добавить(ЭлементСписка.Значение, ЭлементСписка.Представление);
КонецЦикла;
КонецЕсли;
ИсключаяТаблицы = Новый Массив;
Для Каждого ВременнаяТаблица Из Запрос.МенеджерВременныхТаблиц.Таблицы Цикл
ИсключаяТаблицы.Добавить(ВременнаяТаблица.ПолноеИмя);
КонецЦикла;
Запрос.Текст = "
|ВЫБРАТЬ
| ДенежныеСредства.СуммаОстаток КАК Получено,
| ДенежныеСредства.СуммаУпрОстаток КАК СуммаУпрОстаток,
| ДенежныеСредства.СуммаРеглОстаток КАК СуммаРеглОстаток,
| ДенежныеСредства.ЦельВыдачи КАК ЦельВыдачи,
| ДенежныеСредства.Валюта КАК Валюта
|ИЗ
| РегистрНакопления.ДенежныеСредстваУПодотчетныхЛиц.Остатки(
| &ДатаОстатков,
| Организация = &Организация
| И Подразделение = &ПодразделениеПодотчетногоЛица
| И ПодотчетноеЛицо = &ПодотчетноеЛицо
| ) КАК ДенежныеСредства
|ГДЕ
| ДенежныеСредства.СуммаОстаток > 0";
Результат = Запрос.Выполнить();
КурсыВалютАвансов = Новый ТаблицаЗначений;
Для Каждого Колонка Из Результат.Колонки Цикл
КурсыВалютАвансов.Колонки.Добавить(Колонка.Имя, Колонка.ТипЗначения);
КонецЦикла;
КурсыВалютАвансов.Колонки.Добавить("КоэффициентПересчетаУпр", Новый ОписаниеТипов("Число"));
КурсыВалютАвансов.Колонки.Добавить("КоэффициентПересчетаРегл", Новый ОписаниеТипов("Число"));
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
НоваяСтрока = КурсыВалютАвансов.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, Выборка);
НоваяСтрока.КоэффициентПересчетаУпр = НоваяСтрока.СуммаУпрОстаток / НоваяСтрока.Получено;
НоваяСтрока.КоэффициентПересчетаРегл = НоваяСтрока.СуммаРеглОстаток / НоваяСтрока.Получено;
КонецЦикла;
ВременныеТаблицы = Новый Массив;
ВременныеТаблицы = ТекстыЗапросовПоКоэффициентамПересчета.ВыгрузитьЗначения();
ТекстЗапросаВременныхТаблиц = "
|ВЫБРАТЬ
| Операции.Ссылка.Валюта КАК Валюта,
| Операции.Ссылка.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| Операции.ИдентификаторСтроки КАК ИдентификаторСтроки,
| Операции.Дата КАК Дата,
| Операции.Сумма КАК Сумма,
| Операции.СуммаИтог КАК СуммаИтог
|ПОМЕСТИТЬ СтрокиОтчета
|ИЗ
| Документ.Бронирование.Операции КАК Операции
|ГДЕ
| Операции.Ссылка = &Ссылка
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо)
| И Операции.ТипОперации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Покупка),
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Доплата)
| )
|;
|ВЫБРАТЬ
| ТаблицаДанных.*
|ПОМЕСТИТЬ КурсыВалютАвансов
|ИЗ
| &КурсыВалютАвансов КАК ТаблицаДанных
|";
ВременныеТаблицы.Добавить(ТекстЗапросаВременныхТаблиц);
Запрос.Текст = СтрСоединить(ВременныеТаблицы, ";");
Запрос.УстановитьПараметр("КурсыВалютАвансов", КурсыВалютАвансов);
Результат = Запрос.Выполнить();
Запрос.Текст = "
|ВЫБРАТЬ
| СтрокиОтчета.ИдентификаторСтроки КАК ИдентификаторСтроки,
| СтрокиОтчета.Сумма + КурсыВалютАвансов.Получено - СтрокиОтчета.СуммаИтог КАК Сумма,
| КурсыВалютАвансов.КоэффициентПересчетаУпр КАК КоэффициентПересчетаУпр,
| КурсыВалютАвансов.КоэффициентПересчетаРегл КАК КоэффициентПересчетаРегл
|ИЗ
| СтрокиОтчета КАК СтрокиОтчета
|
| ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалютАвансов КАК КурсыВалютАвансов
| ПО КурсыВалютАвансов.Валюта = СтрокиОтчета.Валюта
| И (КурсыВалютАвансов.ЦельВыдачи = СтрокиОтчета.СтатьяДвиженияДенежныхСредств
| ИЛИ НЕ &КонтролироватьВыдачуПодОтчетВРазрезеЦелей)
|ГДЕ
| СтрокиОтчета.СуммаИтог - СтрокиОтчета.Сумма < ЕСТЬNULL(КурсыВалютАвансов.Получено, 0)
| И СтрокиОтчета.СуммаИтог > ЕСТЬNULL(КурсыВалютАвансов.Получено, 0)
|
| ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СтрокиОтчета.ИдентификаторСтроки КАК ИдентификаторСтроки,
| СтрокиОтчета.СуммаИтог - КурсыВалютАвансов.Получено КАК Сумма,
| КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК КоэффициентПересчетаУпр,
| КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК КоэффициентПересчетаРегл
|ИЗ
| СтрокиОтчета КАК СтрокиОтчета
|
| ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалютАвансов КАК КурсыВалютАвансов
| ПО КурсыВалютАвансов.Валюта = СтрокиОтчета.Валюта
| И (КурсыВалютАвансов.ЦельВыдачи = СтрокиОтчета.СтатьяДвиженияДенежныхСредств
| ИЛИ НЕ &КонтролироватьВыдачуПодОтчетВРазрезеЦелей)
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = СтрокиОтчета.Дата
|ГДЕ
| СтрокиОтчета.СуммаИтог - СтрокиОтчета.Сумма < ЕСТЬNULL(КурсыВалютАвансов.Получено, 0)
| И СтрокиОтчета.СуммаИтог > ЕСТЬNULL(КурсыВалютАвансов.Получено, 0)
|";
Результат = Запрос.Выполнить();
РазделеннаяСтрокаРасхода = Новый ТаблицаЗначений;
Для Каждого Колонка Из Результат.Колонки Цикл
РазделеннаяСтрокаРасхода.Колонки.Добавить(Колонка.Имя, Колонка.ТипЗначения);
КонецЦикла;
РазделеннаяСтрокаРасхода.Колонки.Добавить("СуммаУпр", Новый ОписаниеТипов("Число"));
РазделеннаяСтрокаРасхода.Колонки.Добавить("СуммаРегл", Новый ОписаниеТипов("Число"));
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
НоваяСтрока = РазделеннаяСтрокаРасхода.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, Выборка);
НоваяСтрока.СуммаУпр = НоваяСтрока.Сумма * НоваяСтрока.КоэффициентПересчетаУпр;
НоваяСтрока.СуммаРегл = НоваяСтрока.Сумма * НоваяСтрока.КоэффициентПересчетаРегл;
КонецЦикла;
РазделеннаяСтрокаРасхода.Свернуть("ИдентификаторСтроки", "СуммаУпр, СуммаРегл, Сумма");
РазделеннаяСтрокаРасхода.Колонки.Добавить("КоэффициентПересчетаУпр", Новый ОписаниеТипов("Число"));
РазделеннаяСтрокаРасхода.Колонки.Добавить("КоэффициентПересчетаРегл", Новый ОписаниеТипов("Число"));
Для Каждого СтрокаТаблицы Из РазделеннаяСтрокаРасхода Цикл
СтрокаТаблицы.КоэффициентПересчетаУпр = СтрокаТаблицы.СуммаУпр / СтрокаТаблицы.Сумма;
СтрокаТаблицы.КоэффициентПересчетаРегл = СтрокаТаблицы.СуммаРегл / СтрокаТаблицы.Сумма;
КонецЦикла;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаДанных.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаДанных.КоэффициентПересчетаУпр КАК КоэффициентПересчетаУпр,
| ТаблицаДанных.КоэффициентПересчетаРегл КАК КоэффициентПересчетаРегл
|ПОМЕСТИТЬ РазделеннаяСтрокаРасхода
|ИЗ
| &РазделеннаяСтрокаРасхода КАК ТаблицаДанных
|;
|
|ВЫБРАТЬ
| СтрокиОтчета.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВЫРАЗИТЬ(КурсыВалютАвансов.КоэффициентПересчетаУпр КАК ЧИСЛО(31,18)) КАК КоэффициентПересчетаУпр,
| ВЫРАЗИТЬ(КурсыВалютАвансов.КоэффициентПересчетаРегл КАК ЧИСЛО(31,18)) КАК КоэффициентПересчетаРегл
|ПОМЕСТИТЬ ВТКурсыВалютСтрокОтчета
|ИЗ
| СтрокиОтчета КАК СтрокиОтчета
|
| ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалютАвансов КАК КурсыВалютАвансов
| ПО КурсыВалютАвансов.Валюта = СтрокиОтчета.Валюта
| И (КурсыВалютАвансов.ЦельВыдачи = СтрокиОтчета.СтатьяДвиженияДенежныхСредств
| ИЛИ НЕ &КонтролироватьВыдачуПодОтчетВРазрезеЦелей)
|
|ГДЕ
| НЕ КурсыВалютАвансов.Получено ЕСТЬ NULL
| И СтрокиОтчета.СуммаИтог <= КурсыВалютАвансов.Получено
| И СтрокиОтчета.СуммаИтог <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СтрокиОтчета.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВЫРАЗИТЬ(КоэффициентыПересчетаВалют.КоэффициентПересчетаУпр КАК ЧИСЛО(31,18)) КАК КоэффициентПересчетаУпр,
| ВЫРАЗИТЬ(КоэффициентыПересчетаВалют.КоэффициентПересчетаРегл КАК ЧИСЛО(31,18)) КАК КоэффициентПересчетаРегл
|ИЗ
| СтрокиОтчета КАК СтрокиОтчета
|
| ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалютАвансов КАК КурсыВалютАвансов
| ПО КурсыВалютАвансов.Валюта = СтрокиОтчета.Валюта
| И (КурсыВалютАвансов.ЦельВыдачи = СтрокиОтчета.СтатьяДвиженияДенежныхСредств
| ИЛИ НЕ &КонтролироватьВыдачуПодОтчетВРазрезеЦелей)
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКоэффициентыПересчетаВалют КАК КоэффициентыПересчетаВалют
| ПО КоэффициентыПересчетаВалют.Дата = СтрокиОтчета.Дата
|ГДЕ
| СтрокиОтчета.СуммаИтог - СтрокиОтчета.Сумма >= ЕСТЬNULL(КурсыВалютАвансов.Получено, 0)
| ИЛИ СтрокиОтчета.СуммаИтог = 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| РазделеннаяСтрокаРасхода.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВЫРАЗИТЬ(РазделеннаяСтрокаРасхода.КоэффициентПересчетаУпр КАК ЧИСЛО(31,18)) КАК КоэффициентПересчетаУпр,
| ВЫРАЗИТЬ(РазделеннаяСтрокаРасхода.КоэффициентПересчетаРегл КАК ЧИСЛО(31,18)) КАК КоэффициентПересчетаРегл
|ИЗ
| РазделеннаяСтрокаРасхода КАК РазделеннаяСтрокаРасхода
|";
Запрос.УстановитьПараметр("РазделеннаяСтрокаРасхода", РазделеннаяСтрокаРасхода);
ИсключаяТаблицы.Добавить("СтрокиОтчета");
ИсключаяТаблицы.Добавить("КурсыВалютАвансов");
ОбщегоНазначенияУТ.УничтожитьВременныеТаблицы(Запрос.МенеджерВременныхТаблиц, , ИсключаяТаблицы);
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВТСуммыСписания(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВТСуммыСписания";
ТекстЗапроса =
"ВЫБРАТЬ
| ОперацииДокумента.Ссылка КАК Ссылка,
| ОперацииДокумента.ТипОперации КАК ТипОперации,
| ДанныеШапкиДокумента.Номер КАК Номер,
| ВЫБОР
| КОГДА ДанныеШапкиДокумента.ДатаПрибытия < ОперацииДокумента.Дата
| ТОГДА ОперацииДокумента.Дата
| ИНАЧЕ ДанныеШапкиДокумента.ДатаПрибытия КОНЕЦ КАК Дата,
| ОперацииДокумента.НомерСтроки КАК НомерСтроки,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА ДанныеШапкиДокумента.ПодразделениеСписания =
| ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА ДанныеШапкиДокумента.Подразделение
| ИНАЧЕ ДанныеШапкиДокумента.ПодразделениеСписания
| КОНЕЦ КАК Подразделение,
| ВЫБОР
| КОГДА ДанныеШапкиДокумента.НаправлениеДеятельностиДляСписания =
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| ТОГДА ДанныеШапкиДокумента.НаправлениеДеятельности
| ИНАЧЕ ДанныеШапкиДокумента.НаправлениеДеятельностиДляСписания
| КОНЕЦ КАК НаправлениеДеятельности,
| ДанныеШапкиДокумента.СтатьяРасходов КАК СтатьяРасходов,
| ДанныеШапкиДокумента.АналитикаРасходов КАК АналитикаРасходов,
| ДанныеШапкиДокумента.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ДанныеШапкиДокумента.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| ОперацииДокумента.Сумма КАК Сумма,
| ОперацииДокумента.Сумма - ОперацииДокумента.СуммаНДС КАК СуммаБезНДС,
| ОперацииДокумента.СуммаНДС КАК СуммаНДС,
| ДанныеШапкиДокумента.Валюта КАК Валюта,
| ДанныеШапкиДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеШапкиДокумента.ОбъектРасчетовДоговор КАК ОбъектРасчетовДоговор,
| ДанныеШапкиДокумента.Агент КАК Агент,
| ДанныеШапкиДокумента.КонтрагентАгент КАК КонтрагентАгент,
| ДанныеШапкиДокумента.Перевозчик КАК Перевозчик,
| ДанныеШапкиДокумента.КонтрагентПеревозчик КАК КонтрагентПеревозчик,
| ДанныеШапкиДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперацияДокумента,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеПрочихУслуг) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ПоступлениеПрочихУслуг) КАК НастройкаХозяйственнойОперации,
| ОперацииДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ДанныеШапкиДокумента.ЗакупкаПодДеятельность КАК ВидДеятельностиНДС,
| ВЫБОР
| КОГДА ДанныеШапкиДокумента.ХозяйственнаяОперация =
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо)
| ТОГДА ОперацииДокумента.ИдентификаторСтроки
| ИНАЧЕ ДанныеШапкиДокумента.ОбъектРасчетовДоговор.УникальныйИдентификатор
| КОНЕЦ КАК ИдентификаторФинЗаписи,
| ДанныеШапкиДокумента.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторОбъектаРасчетов
|ПОМЕСТИТЬ ВТСуммыСписания
|ИЗ
| Документ.Бронирование.Операции КАК ОперацииДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.Бронирование КАК ДанныеШапкиДокумента
| ПО ОперацииДокумента.Ссылка = ДанныеШапкиДокумента.Ссылка
|ГДЕ
| ОперацииДокумента.Ссылка = &Ссылка
| И &СпособСписанияНапрямую
| И ДанныеШапкиДокумента.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И ОперацииДокумента.ТипОперации В (ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Покупка),
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Доплата))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОперацииДокумента.Ссылка КАК Ссылка,
| ОперацииДокумента.ТипОперации КАК ТипОперации,
| ДанныеШапкиДокумента.Номер КАК Номер,
| ВЫБОР
| КОГДА ДанныеШапкиДокумента.ДатаПрибытия < ОперацииДокумента.Дата
| ТОГДА ОперацииДокумента.Дата
| ИНАЧЕ ДанныеШапкиДокумента.ДатаПрибытия КОНЕЦ КАК Дата,
| ОперацииДокумента.НомерСтроки КАК НомерСтроки,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА ДанныеШапкиДокумента.ПодразделениеСписания =
| ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ТОГДА ДанныеШапкиДокумента.Подразделение
| ИНАЧЕ ДанныеШапкиДокумента.ПодразделениеСписания
| КОНЕЦ КАК Подразделение,
| ВЫБОР
| КОГДА ДанныеШапкиДокумента.НаправлениеДеятельностиДляСписания =
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| ТОГДА ДанныеШапкиДокумента.НаправлениеДеятельности
| ИНАЧЕ ДанныеШапкиДокумента.НаправлениеДеятельностиДляСписания
| КОНЕЦ КАК НаправлениеДеятельности,
| ДанныеШапкиДокумента.СтатьяРасходов КАК СтатьяРасходов,
| ДанныеШапкиДокумента.АналитикаРасходов КАК АналитикаРасходов,
| ДанныеШапкиДокумента.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ДанныеШапкиДокумента.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| -ОперацииДокумента.Сумма КАК Сумма,
| -(ОперацииДокумента.Сумма - ОперацииДокумента.СуммаНДС) КАК СуммаБезНДС,
| -ОперацииДокумента.СуммаНДС КАК СуммаНДС,
| ДанныеШапкиДокумента.Валюта КАК Валюта,
| ДанныеШапкиДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеШапкиДокумента.ОбъектРасчетовДоговор КАК ОбъектРасчетовДоговор,
| ДанныеШапкиДокумента.Агент КАК Агент,
| ДанныеШапкиДокумента.КонтрагентАгент КАК КонтрагентАгент,
| ДанныеШапкиДокумента.Перевозчик КАК Перевозчик,
| ДанныеШапкиДокумента.КонтрагентПеревозчик КАК КонтрагентПеревозчик,
| ДанныеШапкиДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперацияДокумента,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеПрочихУслуг) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ПоступлениеПрочихУслуг) КАК НастройкаХозяйственнойОперации,
| ОперацииДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ДанныеШапкиДокумента.ЗакупкаПодДеятельность КАК ВидДеятельностиНДС,
| ВЫБОР
| КОГДА ДанныеШапкиДокумента.ХозяйственнаяОперация =
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо)
| ТОГДА ОперацииДокумента.ИдентификаторСтроки
| ИНАЧЕ ДанныеШапкиДокумента.ОбъектРасчетовДоговор.УникальныйИдентификатор
| КОНЕЦ КАК ИдентификаторФинЗаписи,
| ДанныеШапкиДокумента.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторОбъектаРасчетов
|ИЗ
| Документ.Бронирование.Операции КАК ОперацииДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.Бронирование КАК ДанныеШапкиДокумента
| ПО ОперацииДокумента.Ссылка = ДанныеШапкиДокумента.Ссылка
|ГДЕ
| ОперацииДокумента.Ссылка = &Ссылка
| И &СпособСписанияНапрямую
| И ДанныеШапкиДокумента.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
| И ОперацииДокумента.ТипОперации В (ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Возврат))
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
#КонецОбласти
#Область ОбновлениеИнформационнойБазы
Процедура ПриДобавленииОбработчиковОбновления(Обработчики) Экспорт
Обработчик = Обработчики.Добавить();
Обработчик.Процедура = "Документы.Бронирование.ОбработатьДанныеДляПереходаНаНовуюВерсию";
Обработчик.Версия = "11.5.23.49";
Обработчик.РежимВыполнения = "Отложенно";
Обработчик.Идентификатор = Новый УникальныйИдентификатор("889b810a-2a3b-4906-a027-aea0d23ec512");
Обработчик.Многопоточный = Истина;
Обработчик.ПроцедураЗаполненияДанныхОбновления = "Документы.Бронирование.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию";
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
СписокОписаний = Новый Массив;
СписокОписаний.Добавить(НСтр("ru = 'Обновление документов ""Бронирование"":'"));
СписокОписаний.Добавить(НСтр("ru = '- заполнение реквизита ""ФИО пассажира"" из наименования физического лица, указанного в реквизите ""Сотрудник""';"));
Обработчик.Комментарий = СтрСоединить(СписокОписаний, Символы.ПС);
Обработчик.Порядок = Перечисления.ПорядокОбработчиковОбновления.Некритичный;
Читаемые = Новый Массив;
Читаемые.Добавить(Метаданные.Документы.Бронирование.ПолноеИмя());
Обработчик.ЧитаемыеОбъекты = СтрСоединить(Читаемые, ",");
Изменяемые = Новый Массив;
Изменяемые.Добавить(Метаданные.Документы.Бронирование.ПолноеИмя());
Обработчик.ИзменяемыеОбъекты = СтрСоединить(Изменяемые, ",");
Блокируемые = Новый Массив;
Блокируемые.Добавить(Метаданные.Документы.Бронирование.ПолноеИмя());
Обработчик.БлокируемыеОбъекты = СтрСоединить(Блокируемые, ",");
КонецПроцедуры
Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию(Параметры) Экспорт
ПараметрыВыборки = Параметры.ПараметрыВыборки;
ПараметрыВыборки.ПолныеИменаОбъектов = ПустаяСсылка().Метаданные().ПолноеИмя();
ПараметрыВыборки.СпособВыборки = ОбновлениеИнформационнойБазы.СпособВыборкиСсылки();
ПараметрыВыборки.ПоляУпорядочиванияПриРаботеПользователей.Добавить("Дата УБЫВ");
ПараметрыВыборки.ПоляУпорядочиванияПриОбработкеДанных.Добавить("Дата УБЫВ");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| Бронирование.Ссылка
|ИЗ
| Документ.Бронирование КАК Бронирование
|ГДЕ
| Бронирование.ФИОПассажира = """"
| И НЕ Бронирование.Сотрудник = ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Бронирование.Ссылка КАК Ссылка
|ИЗ
| Документ.Бронирование.Операции КАК Бронирование
|ГДЕ
| Бронирование.ТипОперации В (ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Покупка),
| ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Доплата))
| И НЕ Бронирование.Сумма = 0
| И Бронирование.СуммаИтог = 0
|";
ОбновлениеИнформационнойБазы.ОтметитьКОбработке(Параметры, Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"));
КонецПроцедуры
Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры) Экспорт
Параметры.ОбработкаЗавершена = Ложь;
ПолноеИмяОбъекта = ПустаяСсылка().Метаданные().ПолноеИмя();
ОбновляемыеДанные = ОбновлениеИнформационнойБазы.ДанныеДляОбновленияВМногопоточномОбработчике(Параметры);
Если ОбновляемыеДанные.Количество() = 0 Тогда
Параметры.ОбработкаЗавершена =
ОбновлениеИнформационнойБазы.ОбработкаДанныхЗавершена(Параметры.Очередь, ПолноеИмяОбъекта);
Возврат;
КонецЕсли;
ОбъектовОбработано = 0;
ПроблемныхОбъектов = 0;
ИсключенияПриОбновлении = Новый Массив;
СписокОписаний = Новый Массив;
СписокОписаний.Добавить(НСтр("ru = 'Не удалось обработать документы ""Бронирование"" по обработчику:'"));
СписокОписаний.Добавить(НСтр("ru = '- заполнение реквизита ""ФИО пассажира"" из наименования физического лица, указанного в реквизите ""Сотрудник""';"));
СписокОписаний.Добавить(НСтр("ru = '- пересчет итоговой суммы в табличной части ""Операции""';"));
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДанныеДляОбновления.Ссылка КАК Ссылка
|ПОМЕСТИТЬ ТаблицаДокументов
|ИЗ
| &ДанныеДляОбновления КАК ДанныеДляОбновления
|;
|
|
|ВЫБРАТЬ
| ТаблицаДокументов.Ссылка КАК Ссылка,
| ДанныеДокумента.ВерсияДанных КАК ВерсияДанных,
| ЕСТЬNULL(ФизическиеЛица.Наименование, НЕОПРЕДЕЛЕНО) КАК ФИОПассажира,
| МАКСИМУМ(ВЫБОР
| КОГДА ОперацииДокумента.ТипОперации В (&ТипыОперацийДляПересчета)
| И НЕ ОперацииДокумента.Сумма = 0
| И ОперацииДокумента.СуммаИтог = 0
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ) КАК ТребуетсяПересчетИтогов
|ИЗ
| ТаблицаДокументов КАК ТаблицаДокументов
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.Бронирование КАК ДанныеДокумента
| ПО ТаблицаДокументов.Ссылка = ДанныеДокумента.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица
| ПО (ДанныеДокумента.Сотрудник = ФизическиеЛица.Ссылка)
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.Бронирование.Операции КАК ОперацииДокумента
| ПО ТаблицаДокументов.Ссылка = ОперацииДокумента.Ссылка
|
|СГРУППИРОВАТЬ ПО
| ТаблицаДокументов.Ссылка,
| ДанныеДокумента.ВерсияДанных,
| ЕСТЬNULL(ФизическиеЛица.Наименование, НЕОПРЕДЕЛЕНО)";
Запрос.УстановитьПараметр("ДанныеДляОбновления", ОбновляемыеДанные);
ТипыОперацийДляПересчета = Новый Массив;
ТипыОперацийДляПересчета.Добавить(Перечисления.ТипыОперацийСБилетами.Покупка);
ТипыОперацийДляПересчета.Добавить(Перечисления.ТипыОперацийСБилетами.Доплата);
Запрос.УстановитьПараметр("ТипыОперацийДляПересчета", ТипыОперацийДляПересчета);
ВыборкаДокументов = Запрос.Выполнить().Выбрать();
Пока ВыборкаДокументов.Следующий() Цикл
ПричинаИсключения = 0;
Рекомендация = "";
НачатьТранзакцию();
Попытка
ПричинаИсключения = 1;
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить(ПолноеИмяОбъекта);
ЭлементБлокировки.УстановитьЗначение("Ссылка", ВыборкаДокументов.Ссылка);
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
Блокировка.Заблокировать();
ДокументОбъект = ОбновлениеИнформационнойБазыУТ.ПроверитьПолучитьОбъект(
ВыборкаДокументов.Ссылка, ВыборкаДокументов.ВерсияДанных, Параметры.Очередь);
ПричинаИсключения = 2;
Рекомендация = НСтр("ru = 'Перепроведите документ вручную.'");
Если ДокументОбъект <> Неопределено Тогда
Если Не ЗначениеЗаполнено(ДокументОбъект.ФИОПассажира)
И ЗначениеЗаполнено(ВыборкаДокументов.ФИОПассажира) Тогда
ДокументОбъект.ФИОПассажира = ВыборкаДокументов.ФИОПассажира;
КонецЕсли;
Если ВыборкаДокументов.ТребуетсяПересчетИтогов Тогда
ТекущийИтог = 0;
Для Каждого СтрокаТЧ Из ДокументОбъект.Операции Цикл
Если СтрокаТЧ.ТипОперации = Перечисления.ТипыОперацийСБилетами.Покупка
Или СтрокаТЧ.ТипОперации = Перечисления.ТипыОперацийСБилетами.Доплата Тогда
ТекущийИтог = ТекущийИтог + СтрокаТЧ.Сумма;
СтрокаТЧ.СуммаИтог = ТекущийИтог;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;
ПричинаИсключения = 3;
Если ДокументОбъект.Модифицированность() Тогда
ОбновлениеИнформационнойБазы.ЗаписатьДанные(ДокументОбъект);
Иначе
ОбновлениеИнформационнойБазы.ОтметитьВыполнениеОбработки(ВыборкаДокументов.Ссылка);
КонецЕсли;
ОбъектовОбработано = ОбъектовОбработано + 1;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ПроблемныхОбъектов = ПроблемныхОбъектов + 1;
ОбновлениеИнформационнойБазыУТ.СообщитьОНеудачнойОбработке(ИнформацияОбОшибке(), ВыборкаДокументов.Ссылка);
Если ПричинаИсключения = 2 Тогда
ОписаниеПроблемы = ОбновлениеИнформационнойБазыУТ.ПроблемаСДанными(
ВыборкаДокументов.Ссылка, Рекомендация, ИнформацияОбОшибке());
ИсключенияПриОбновлении.Добавить(ОписаниеПроблемы);
ИначеЕсли ПричинаИсключения = 3 Тогда
ОбновлениеИнформационнойБазыУТ.ЗаписатьПлохиеДанные(
ИсключенияПриОбновлении, ОбъектовОбработано, Параметры);
ВызватьИсключение СтрСоединить(СписокОписаний, Символы.ПС);
КонецЕсли;
КонецПопытки;
КонецЦикла;
Параметры.ОбработкаЗавершена =
ОбновлениеИнформационнойБазы.ОбработкаДанныхЗавершена(Параметры.Очередь, ПолноеИмяОбъекта);
Если ОбъектовОбработано = 0 И ПроблемныхОбъектов <> 0 Тогда
СписокОписаний.Добавить(НСтр("ru = 'Всего пропущено: %1'"));
ТекстСообщения = СтрШаблон(СтрСоединить(СписокОписаний, Символы.ПС), ПроблемныхОбъектов);
ВызватьИсключение ТекстСообщения;
Иначе
ШаблонСообщения = НСтр("ru = 'Обработана порция документов ""Бронирование"": %1'");
ТекстСообщения = СтрШаблон(ШаблонСообщения, ОбъектовОбработано);
ЗаписьЖурналаРегистрации(
ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Информация, , ,
ТекстСообщения);
КонецЕсли;
ОбновлениеИнформационнойБазыУТ.ЗаписатьПлохиеДанные(ИсключенияПриОбновлении, ОбъектовОбработано, Параметры);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецЕсли