Бронирование / Модуль менеджера

файл
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область ПрограммныйИнтерфейс

// Формирует описание реквизитов объекта, заполняемых по статистике их использования.
//
// Параметры:
//  ОписаниеРеквизитов - Структура - описание реквизитов, для которых необходимо получить значения по статистике
//
//
Процедура ЗадатьОписаниеЗаполняемыхРеквизитовПоСтатистике(ОписаниеРеквизитов) Экспорт
	
	Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
	Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Ответственный";
	Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Ответственный";
	ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(
		ОписаниеРеквизитов, "Организация", Параметры);
	
	Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
	Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Сотрудник";
	Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Сотрудник";
	ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(
		ОписаниеРеквизитов, "Подразделение", Параметры);
		
	Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
	Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Организация, ТипУслуги";
	ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(
		ОписаниеРеквизитов, "СтатьяДвиженияДенежныхСредств", Параметры);
		
	Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
	Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Организация, ХозяйственнаяОперация";
	ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(
		ОписаниеРеквизитов, "ГруппаФинансовогоУчета", Параметры);
	
КонецПроцедуры

// Определяет свойства полей формы в зависимости от данных
//
// Параметры:
//	Настройки - ТаблицаЗначений - таблица с колонками:
//		* Поля - Массив - поля, для которых определяются настройки отображения
//		* Условие - ОтборКомпоновкиДанных - условия применения настройки
//		* Свойства - Структура - имена и значения свойств
//
Процедура ЗаполнитьНастройкиПолейФормы(Настройки) Экспорт
	
	Финансы = ФинансоваяОтчетностьСервер;
	
	#Область Реквизиты
	// Заявка на командировку
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("ДокументОснование");
	Финансы.НовыйОтбор(Элемент.Условие, "ДокументОснование",,, ВидСравненияКомпоновкиДанных.Заполнено);
	Элемент.Свойства.Вставить("Видимость");
	
	// Номер
	Элемент = Настройки.Добавить();
	Элемент.Поля.Добавить("НомерБилета");
	Финансы.НовыйОтбор(Элемент.Условие, "ТипБронирования", Перечисления.ТипыБронирования.ЭлектронныйБилет);
	Элемент.Свойства.Вставить("Заголовок", НСтр("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                                                                   КАК КПоступлению,
		|
		|	ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетов.ПоНакладным)                  КАК ПорядокРасчетов,
		|	ЛОЖЬ                                                                КАК НакладнаяПоЗаказам,
		|	ДанныеДокумента.Валюта                                              КАК ВалютаВзаиморасчетов,
		|	ДанныеДокумента.ХозяйственнаяОперация                               КАК ХозяйственнаяОперация,
		|	ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Взаимозачет)                      КАК ФормаОплаты,
		|	ДанныеДокумента.Валюта                                              КАК ВалютаДокумента,
		|	ДанныеДокумента.Дата                                                КАК ДатаКурса,
		|	Неопределено                                                        КАК СвязанныйДокумент,
		|	""""                                                                КАК ИдентификаторФинЗаписи,
		|	ДанныеДокумента.НастройкаХозяйственнойОперации                      КАК НастройкаХозяйственнойОперации
		|ИЗ
		|	ВТСуммыСписания КАК ДанныеДокумента
		|";
	
	ТекстПланОплаты = "
		|ВЫБРАТЬ
		|	ДанныеДокумента.Ссылка                                              КАК Ссылка,
		|	ДанныеДокумента.Организация                                         КАК Организация,
		|	ДанныеДокумента.Перевозчик                                          КАК Партнер,
		|	ДанныеДокумента.Дата                                                КАК ДатаРегистратора,
		|	ДанныеДокумента.Номер                                               КАК НомерРегистратора,
		|	ДанныеДокумента.Дата                                                КАК ДатаПлатежа,
		|	ДанныеДокумента.ОбъектРасчетов                                      КАК ОбъектРасчетов,
		|	ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетов.ПоНакладным)                  КАК ПорядокРасчетов,
		|	ЛОЖЬ                                                                КАК НакладнаяПоЗаказам,
		|	ЛОЖЬ                                                                КАК СверхЗаказа,
		|	Неопределено                                                        КАК ЗаказЗакупки,
		|	ДанныеДокумента.Сумма                                               КАК КОплате,
		|	ДанныеДокумента.Валюта                                              КАК ВалютаВзаиморасчетов,
		|	ДанныеДокумента.ХозяйственнаяОперация                               КАК ХозяйственнаяОперация,
		|	ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Взаимозачет)                      КАК ФормаОплаты,
		|	ДанныеДокумента.Валюта                                              КАК ВалютаДокумента,
		|	Неопределено                                                        КАК ВариантОплаты,
		|	Неопределено                                                        КАК СвязанныйДокумент,
		|	""""                                                                КАК ИдентификаторФинЗаписи,
		|	ДанныеДокумента.НастройкаХозяйственнойОперации                      КАК НастройкаХозяйственнойОперации
		|ИЗ
		|	ВТСуммыСписания КАК ДанныеДокумента
		|";
	
	ВзаиморасчетыСервер.ПроведениеЗакупки(Запрос, ТекстыЗапроса, Регистры, ТекстЗакупка, ТекстПланОплаты,,,"6");
	
	#КонецОбласти

	#Область СторноИспользованияБронированияДатойПрибытия
	ТекстВозврат = "
		|ВЫБРАТЬ
		|	ДанныеДокумента.Ссылка                                              КАК Ссылка,
		|	ДанныеДокумента.Ссылка.Организация                                  КАК Организация,
		|	ДанныеДокумента.Ссылка.Перевозчик                                   КАК Партнер,
		|	ДанныеДокумента.Ссылка.ОбъектРасчетов                               КАК ОбъектРасчетов,
		|	ДанныеДокумента.Ссылка.Валюта                                       КАК ВалютаВзаиморасчетов,
		|	ДанныеДокумента.Ссылка.Валюта                                       КАК ВалютаДокумента,
		|	ДанныеДокумента.Сумма                                               КАК Сумма,
		|	ДанныеДокумента.Сумма                                               КАК СуммаВзаиморасчетов,
		|	ВЫБОР
		|		КОГДА ДанныеДокумента.Ссылка.Дата > ДанныеДокумента.Ссылка.ДатаПрибытия
		|			И ДанныеДокумента.Ссылка.Дата > ДанныеДокумента.Дата
		|			ТОГДА ДанныеДокумента.Ссылка.Дата
		|		КОГДА ДанныеДокумента.Дата > ДанныеДокумента.Ссылка.ДатаПрибытия
		|			ТОГДА ДанныеДокумента.Дата
		|		ИНАЧЕ ДанныеДокумента.Ссылка.ДатаПрибытия
		|	КОНЕЦ                                                               КАК ДатаРегистратора,
		|	ДанныеДокумента.Ссылка.Номер                                        КАК НомерРегистратора,
		|	ДанныеДокумента.Дата                                                КАК ДатаКурса,
		|	ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СторноИспользованияБронированияПодотчетнымЛицом) КАК ХозяйственнаяОперация,
		|	НЕОПРЕДЕЛЕНО КАК СтатьяДвиженияДенежныхСредств,
		|	ДанныеДокумента.ИдентификаторСтроки                                 КАК ИдентификаторФинЗаписи,
		|	ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноИспользованияБронированияПодотчетнымЛицом) КАК НастройкаХозяйственнойОперации
		|ИЗ
		|	Документ.Бронирование.Операции КАК ДанныеДокумента
		|ГДЕ
		|	ДанныеДокумента.Ссылка В (&Ссылка)
		|	И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
		|	И НЕ &СпособСписанияНапрямую
		|	И ДанныеДокумента.ТипОперации = ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Возврат)
		|";
	ВзаиморасчетыСервер.ПроведениеВозвратаТоваровПоставщику(Запрос, ТекстыЗапроса, Регистры, ТекстВозврат);
	#КонецОбласти
	
	#Область ВозвратАгентуИлиПеревозчику
	
	//Для корректной двойной записи задолженность перевозчику или агенту по договору связываем с задолженностью перевозчика по билету
	ТекстПереносРасчетов = "
		|ВЫБРАТЬ
		|	ДанныеДокумента.Ссылка                                                 КАК Ссылка,
		|
		|	ДанныеДокумента.Ссылка.Организация                                     КАК Организация,
		|	ДанныеДокумента.Ссылка.ОбъектРасчетов                                  КАК ОбъектРасчетовИсточник,
		|	ДанныеДокумента.Ссылка.ОбъектРасчетовДоговор                           КАК ОбъектРасчетовПриемник,
		|	
		|	ДанныеДокумента.Сумма                                                  КАК Сумма,
		|	ДанныеДокумента.Ссылка.Валюта                                          КАК ВалютаДокумента,
		|	ДанныеДокумента.Сумма                                                  КАК СуммаВзаиморасчетов,
		|	ДанныеДокумента.Ссылка.Валюта                                          КАК ВалютаВзаиморасчетов,
		|	ВЫБОР
		|		КОГДА ДанныеДокумента.Ссылка.Дата > ДанныеДокумента.Дата ТОГДА
		|			ДанныеДокумента.Ссылка.Дата
		|		ИНАЧЕ
		|			ДанныеДокумента.Дата
		|	КОНЕЦ                                                                  КАК ДатаРегистратора,
		|	ДанныеДокумента.Ссылка.Номер                                           КАК НомерРегистратора,
		|	ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратБронирования)       КАК ХозяйственнаяОперация,
		|	ДанныеДокумента.Дата                                                   КАК ДатаПлатежа,
		|	ДанныеДокумента.Дата                                                   КАК ДатаКурса,
		|	ДанныеДокумента.ИдентификаторСтроки                                    КАК ИдентификаторФинЗаписи,
		|	ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратБронирования) КАК НастройкаХозяйственнойОперации,
		|	ДанныеДокумента.Ссылка.СтатьяДвиженияДенежныхСредств                    КАК СтатьяДвиженияДенежныхСредств
		|ИЗ
		|	Документ.Бронирование.Операции КАК ДанныеДокумента
		|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НастройкиХозяйственныхОпераций КАК НастройкиХозяйственныхОпераций
		|		ПО ДанныеДокумента.Ссылка.ХозяйственнаяОперация = НастройкиХозяйственныхОпераций.ХозяйственнаяОперация
		|ГДЕ
		|	ДанныеДокумента.Ссылка В (&Ссылка)
		|	И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
		|	И ДанныеДокумента.Ссылка.ХозяйственнаяОперация В (
		|		ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезАгента),
		|		ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеУПоставщика)
		|	)
		|	И ДанныеДокумента.ТипОперации = ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Возврат)
		|	
		|";
	
	ВзаиморасчетыСервер.ПроведениеВозвратаПереносаАвансаПоставщику(Запрос, ТекстыЗапроса, Регистры, ТекстПереносРасчетов);
	
	ТекстВозврат = "
		|ВЫБРАТЬ
		|	ДанныеДокумента.Ссылка                                                 КАК Ссылка,
		|	ДанныеДокумента.Ссылка.Организация                                     КАК Организация,
		|	ДанныеДокумента.Ссылка.Перевозчик                                      КАК Партнер,
		|	ДанныеДокумента.Ссылка.ОбъектРасчетов                                  КАК ОбъектРасчетов,
		|	
		|	ДанныеДокумента.Ссылка.Валюта                                          КАК ВалютаВзаиморасчетов,
		|	ДанныеДокумента.Сумма                                                  КАК СуммаВзаиморасчетов,
		|	ДанныеДокумента.Сумма                                                  КАК Сумма,
		|	
		|	ДанныеДокумента.Дата                                                   КАК ДатаРегистратора,
		|	ДанныеДокумента.Дата                                                   КАК ДатаКурса,
		|	ДанныеДокумента.Ссылка.Номер                                           КАК НомерРегистратора,
		|	ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратБронированияПодотчетногоЛица) КАК ХозяйственнаяОперация,
		|	ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Взаимозачет)                         КАК ФормаОплаты,
		|	ДанныеДокумента.Ссылка.СтатьяДвиженияДенежныхСредств                   КАК СтатьяДвиженияДенежныхСредств,
		|	ДанныеДокумента.Ссылка.Валюта                                          КАК ВалютаДокумента,
		|	ДанныеДокумента.ИдентификаторСтроки                                    КАК ИдентификаторФинЗаписи,
		|	ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратБронированияПодотчетногоЛица) КАК НастройкаХозяйственнойОперации
		|ИЗ
		|	Документ.Бронирование.Операции КАК ДанныеДокумента
		|ГДЕ
		|	ДанныеДокумента.Ссылка В (&Ссылка)
		|	И ДанныеДокумента.Ссылка.ТипБронирования = ЗНАЧЕНИЕ(Перечисление.ТипыБронирования.ЭлектронныйБилет)
		|	И ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеЧерезПодотчетноеЛицо)
		|	И ДанныеДокумента.ТипОперации В (
		|		ЗНАЧЕНИЕ(Перечисление.ТипыОперацийСБилетами.Возврат)
		|	)
		|";
	
	ВзаиморасчетыСервер.ПроведениеВозвратаОплатыОтПоставщика(Запрос, ТекстыЗапроса, Регистры, ТекстВозврат, "");
	
	#КонецОбласти
	
	#Область Штраф
	
	ТекстЗакупка = "
		|ВЫБРАТЬ
		|	ДанныеДокумента.Ссылка                                              КАК Ссылка,
		|	ДанныеДокумента.Ссылка.Организация                                  КАК Организация,
		|	ВЫБОР КОГДА ДанныеДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.БронированиеУПоставщика)
		|		ТОГДА ДанныеДокумента.Ссылка.Перевозчик
		|		ИНАЧЕ ДанныеДокумента.Ссылка.Агент
		|	КОНЕЦ                                                               КАК Партнер,
		|	ДанныеДокумента.Дата                                                КАК ДатаРегистратора,
		|	ДанныеДокумента.Ссылка.Номер                                        КАК НомерРегистратора,
		|
		|	ДанныеДокумента.Ссылка.ОбъектРасчетовДоговор                        КАК ОбъектРасчетов,
		|	ДанныеДокумента.Дата                                                КАК ДатаПлатежа,
		|	Неопределено                                                        КАК ВариантОплаты,
		|	Неопределено                                                        КАК ЗаказЗакупки,
		|	
		|	ДанныеДокумента.СуммаШтрафа                                         КАК Сумма,
		|	ДанныеДокумента.СуммаШтрафа                                         КАК СуммаВзаиморасчетов,
		|	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.24.15";
	Обработчик.РежимВыполнения = "Отложенно";
	Обработчик.Идентификатор = Новый УникальныйИдентификатор("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'");
		ТекстСообщения = СтрШаблон(ШаблонСообщения, ОбъектовОбработано);
		ЗаписьЖурналаРегистрации(
			ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
			УровеньЖурналаРегистрации.Информация, , ,
			ТекстСообщения);
		
	КонецЕсли;
	
	ОбновлениеИнформационнойБазыУТ.ЗаписатьПлохиеДанные(ИсключенияПриОбновлении, ОбъектовОбработано, Параметры);
	
КонецПроцедуры


#КонецОбласти

#КонецОбласти

#КонецЕсли


Связанные материалы