Отчет оператора системы "Платон" / Модуль менеджера

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

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

#Область Проведение

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

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

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

// Функция определяет реквизиты выбранного документа.
//
// Параметры:
//  ДокументСсылка - Ссылка на документа.
//
// Возвращаемое значение:
//	Структура - реквизиты выбранного документа.
//
Функция РеквизитыДокумента(ДокументСсылка) Экспорт
	
	Запрос = Новый Запрос("
	|ВЫБРАТЬ
	|	ДанныеДокумента.Дата КАК Дата,
	|	ДанныеДокумента.Организация КАК Организация,
	|	ДанныеДокумента.Партнер КАК Партнер,
	|	ДанныеДокумента.Контрагент КАК Контрагент,
	|	ДанныеДокумента.Валюта КАК Валюта,
	|	ДанныеДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
	|	ДанныеДокумента.СуммаДокумента КАК СуммаДокумента,
	|	ДанныеДокумента.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
	|	ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
	|	ДанныеДокумента.Проведен КАК Проведен,
	|	ДанныеДокумента.Договор КАК Договор,
	|	ДанныеДокумента.ПорядокРасчетов КАК ПорядокРасчетов,
	|	ДанныеДокумента.КурсЧислитель КАК Курс,
	|	ДанныеДокумента.КурсЗнаменатель КАК Кратность,
	|	ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности
	|
	|ИЗ
	|	Документ.ОтчетОператораСистемыПлатон КАК ДанныеДокумента
	|ГДЕ
	|	ДанныеДокумента.Ссылка = &ДокументСсылка
	|");
	
	Запрос.УстановитьПараметр("ДокументСсылка", ДокументСсылка);
	
	Выборка = Запрос.Выполнить().Выбрать();
	Если Выборка.Следующий() Тогда
		Дата = Выборка.Дата;
		Организация = Выборка.Организация;
		Партнер = Выборка.Партнер;
		Контрагент = Выборка.Контрагент;
		Договор = Выборка.Договор;
		ПорядокРасчетов = Выборка.ПорядокРасчетов;
		ВалютаВзаиморасчетов = Выборка.ВалютаВзаиморасчетов;
		Валюта = Выборка.Валюта;
		ХозяйственнаяОперация = Выборка.ХозяйственнаяОперация;
		СуммаДокумента = Выборка.СуммаДокумента;
		СуммаВзаиморасчетов = ?(Выборка.Проведен, Выборка.СуммаВзаиморасчетов, 0);
		Курс = Выборка.Курс;
		Кратность = Выборка.Кратность;
		НаправлениеДеятельности = Выборка.НаправлениеДеятельности;
	Иначе
		Дата = Дата(1,1,1);
		Организация = Справочники.Организации.ПустаяСсылка();
		Партнер = Справочники.Партнеры.ПустаяСсылка();
		Контрагент = Справочники.Контрагенты.ПустаяСсылка();
		Договор = Справочники.ДоговорыКонтрагентов.ПустаяСсылка();
		ПорядокРасчетов = Перечисления.ПорядокРасчетов.ПустаяСсылка();
		Валюта = Справочники.Валюты.ПустаяСсылка();
		ВалютаВзаиморасчетов = Справочники.Валюты.ПустаяСсылка();
		ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщика;
		СуммаДокумента = 0;
		СуммаВзаиморасчетов = 0;
		Курс = 1;
		Кратность = 1;
		НаправлениеДеятельности = Справочники.НаправленияДеятельности.ПустаяСсылка();
	КонецЕсли;
	
	СтруктураРеквизитов = Новый Структура();
	СтруктураРеквизитов.Вставить("Дата", Дата);
	СтруктураРеквизитов.Вставить("Организация", Организация);
	СтруктураРеквизитов.Вставить("Партнер", Партнер);
	СтруктураРеквизитов.Вставить("Контрагент", Контрагент);
	СтруктураРеквизитов.Вставить("Договор", Договор);
	СтруктураРеквизитов.Вставить("ПорядокРасчетов", ПорядокРасчетов);
	СтруктураРеквизитов.Вставить("Валюта", Валюта);
	СтруктураРеквизитов.Вставить("ВалютаВзаиморасчетов", ВалютаВзаиморасчетов);
	СтруктураРеквизитов.Вставить("ХозяйственнаяОперация", ХозяйственнаяОперация);
	СтруктураРеквизитов.Вставить("СуммаДокумента", СуммаДокумента);
	СтруктураРеквизитов.Вставить("СуммаВзаиморасчетов", СуммаВзаиморасчетов);
	СтруктураРеквизитов.Вставить("Курс", Курс);
	СтруктураРеквизитов.Вставить("Кратность", Кратность);
	СтруктураРеквизитов.Вставить("НаправлениеДеятельности", НаправлениеДеятельности);
	
	Возврат СтруктураРеквизитов;

КонецФункции

// Возвращает массив допустимых наименований входящих документов.
// 
// Возвращаемое значение:
// 	Массив - массив наименований.
Функция НаименованияВходящихДокументов() Экспорт
	МассивНаименований = Новый Массив();
	МассивНаименований.Добавить(НСтр("ru='Отчет оператора системы ""Платон""'"));
	Возврат МассивНаименований
КонецФункции

#Область Команды

// Определяет список команд создания на основании.
//
// Параметры:
//  КомандыСозданияНаОсновании - см. СозданиеНаОснованииПереопределяемый.ПередДобавлениемКомандСозданияНаОсновании.КомандыСозданияНаОсновании
//  Параметры - см. СозданиеНаОснованииПереопределяемый.ПередДобавлениемКомандСозданияНаОсновании.Параметры
//
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
	
	Документы.ЗаявкаНаРасходованиеДенежныхСредств.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
	
	Документы.РасходныйКассовыйОрдер.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
	
	Документы.СписаниеБезналичныхДенежныхСредств.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
	
	Документы.КорректировкаГрафикаВзаиморасчетов.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
	
	ИсправлениеДокументов.ДобавитьКомандуИсправление(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
	ИсправлениеДокументов.ДобавитьКомандуСторно(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
	
	БизнесПроцессы.Задание.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
	
КонецПроцедуры

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

		Возврат КомандаСоздатьНаОсновании;
	КонецЕсли;

	Возврат Неопределено;
	
КонецФункции

// Определяет список команд отчетов.
//
// Параметры:
//   КомандыОтчетов - См. ВариантыОтчетовПереопределяемый.ПередДобавлениемКомандОтчетов.КомандыОтчетов
//   Параметры - См. ВариантыОтчетовПереопределяемый.ПередДобавлениемКомандОтчетов.Параметры
//
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
	
	ВзаиморасчетыСервер.КарточкаРасчетовСПоставщиком_ДобавитьКомандуОтчетаПоДокументам(КомандыОтчетов);
	
КонецПроцедуры

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

#Область ДляВызоваИзДругихПодсистем

// СтандартныеПодсистемы.ВерсионированиеОбъектов

// Определяет настройки объекта для подсистемы ВерсионированиеОбъектов.
//
// Параметры:
//  Настройки - Структура - настройки подсистемы.
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
	Возврат;
КонецПроцедуры

// Конец СтандартныеПодсистемы.ВерсионированиеОбъектов

// СтандартныеПодсистемы.УправлениеДоступом

// Параметры:
//   Ограничение - см. УправлениеДоступомПереопределяемый.ПриЗаполненииОграниченияДоступа.Ограничение.
//
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт

	Ограничение.Текст =
	"РазрешитьЧтениеИзменение
	|ГДЕ
	|	ЗначениеРазрешено(Организация)
	|	И ЗначениеРазрешено(Партнер)
	|	И ЗначениеРазрешено(Подразделение)";

КонецПроцедуры

// Конец СтандартныеПодсистемы.УправлениеДоступом

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

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

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

#КонецЕсли

#Область ОбработчикиСобытий

Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
	
	ОбщегоНазначенияУТКлиентСервер.ОбработкаПолученияПредставленияВходящегоДокумента(
		Данные, Представление, СтандартнаяОбработка, "ОтчетОператораСистемыПлатон");
	
КонецПроцедуры

Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	Поля.Очистить();
	Поля.Добавить("НаименованиеВходящегоДокумента");
	Поля.Добавить("НомерВходящегоДокумента");
	Поля.Добавить("ДатаВходящегоДокумента");
	Поля.Добавить("Дата");
	Поля.Добавить("Номер");
	
КонецПроцедуры

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

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

Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт

	ИсточникиДанных = Новый Соответствие;

	Возврат ИсточникиДанных; 

КонецФункции

Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт

	ТекстыЗапроса = Новый СписокЗначений;
	
	ПолноеИмяДокумента = "Документ.ОтчетОператораСистемыПлатон";
	
	ЗначенияПараметров = ЗначенияПараметровПроведения();
	ПереопределениеРасчетаПараметров = Новый Структура;
	ПереопределениеРасчетаПараметров.Вставить("НомерНаПечать", """""");
	ПереопределениеРасчетаПараметров.Вставить("ИнформацияПоДоговору", """""");
	
	ВЗапросеЕстьИсточник = Истина;
	
	Если ИмяРегистра = "РеестрДокументов" Тогда
		
		ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(ТекстыЗапроса, ИмяРегистра);
		СинонимТаблицыДокумента = "";
		ВЗапросеЕстьИсточник = Ложь;
		
	Иначе
		ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
		ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
		ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
		
		ВызватьИсключение ТекстИсключения;
	КонецЕсли;
	
	Если ИмяРегистра = "РеестрДокументов" Тогда
		
		ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
										ТекстЗапроса,
										ПолноеИмяДокумента,
										СинонимТаблицыДокумента,
										ВЗапросеЕстьИсточник,
										ПереопределениеРасчетаПараметров);
	Иначе	
		
		ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
										ТекстЗапроса,
										ПолноеИмяДокумента,
										СинонимТаблицыДокумента,
										ПереопределениеРасчетаПараметров);
	КонецЕсли; 

	Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
	Результат.ЗначенияПараметров = ЗначенияПараметров;
	Результат.ТекстЗапроса = ТекстЗапроса;
	
	Возврат Результат;
	
КонецФункции

Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка)
	
	Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
	Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
	Запрос.Текст =
	"ВЫБРАТЬ
	|	ДанныеДокумента.Дата КАК Период,
	|	ДанныеДокумента.ДатаПлатежа КАК ДатаПлатежа,
	|	ДанныеДокумента.Ссылка КАК Ссылка,
	|	ДанныеДокумента.Организация КАК Организация,
	|	ДанныеДокумента.Организация.ВалютаРегламентированногоУчета КАК ВалютаРегламентированногоУчета,
	|	ДанныеДокумента.Партнер КАК Партнер,
	|	ДанныеДокумента.Контрагент КАК Контрагент,
	|	ДанныеДокумента.Валюта КАК Валюта,
	|	ДанныеДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
	|	ДанныеДокумента.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
	|	ДанныеДокумента.Подразделение КАК Подразделение,
	|	ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
	|	ДанныеДокумента.Договор КАК Договор,
	|	ДанныеДокумента.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
	|	ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
	|	ЕСТЬNULL(ДанныеДокумента.НаправлениеДеятельности.УчетЗатрат, ЛОЖЬ) КАК УчетЗатратПоНД,
	|	ЕСТЬNULL(ДанныеДокумента.НаправлениеДеятельности.УчетРасчетовСПоставщиками, ЛОЖЬ) КАК УчетРасчетовСПоставщикамиПоНД,
	|	ДанныеДокумента.СуммаДокумента                 КАК СуммаДокумента,
	|	ДанныеДокумента.ДатаВходящегоДокумента         КАК ДатаВходящегоДокумента,
	|	ДанныеДокумента.НомерВходящегоДокумента        КАК НомерВходящегоДокумента,
	|	ДанныеДокумента.НаименованиеВходящегоДокумента КАК НаименованиеВходящегоДокумента,
	|	ДанныеДокумента.Номер                          КАК Номер,
	|	ДанныеДокумента.Комментарий                    КАК Комментарий,
	|	ДанныеДокумента.ПометкаУдаления                КАК ПометкаУдаления,
	|	ДанныеДокумента.Проведен                       КАК Проведен,
	|	ДанныеДокумента.Менеджер                       КАК Менеджер,
	|	ДанныеДокумента.Исправление                    КАК Исправление,
	|	ДанныеДокумента.СторнируемыйДокумент           КАК СторнируемыйДокумент,
	|	ДанныеДокумента.ИсправляемыйДокумент           КАК ИсправляемыйДокумент,
	|	ДанныеДокумента.Автор                          КАК Автор,
	|	ДанныеДокумента.ОбъектРасчетов                 КАК ОбъектРасчетов,
	|	НастройкиХозяйственныхОпераций.Ссылка          КАК НастройкаХозяйственнойОперации
	|ИЗ
	|	Документ.ОтчетОператораСистемыПлатон КАК ДанныеДокумента
	|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НастройкиХозяйственныхОпераций КАК НастройкиХозяйственныхОпераций
	|		ПО ДанныеДокумента.ХозяйственнаяОперация = НастройкиХозяйственныхОпераций.ХозяйственнаяОперация
	|ГДЕ
	|	ДанныеДокумента.Ссылка = &Ссылка";
	
	Результат = Запрос.Выполнить();
	Реквизиты = Результат.Выбрать();
	Реквизиты.Следующий();
	
	Для Каждого Колонка Из Результат.Колонки Цикл
		Запрос.УстановитьПараметр(Колонка.Имя, Реквизиты[Колонка.Имя]);
	КонецЦикла;
	
	Запрос.УстановитьПараметр("ЦенаВключаетНДС",				 ?(Реквизиты.ЦенаВключаетНДС, 0, 1));
	Если ЗначениеЗаполнено(Реквизиты.Договор) Тогда
		ШаблонСтроки = "ru = 'По договору ""%1""'"; // @НСтр
		ИнформацияПоДоговору = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСтроки, Реквизиты.Договор);
	КонецЕсли;
	Запрос.УстановитьПараметр("ИнформацияПоДоговору", ИнформацияПоДоговору);
	ПараметрыУчетаПоОрганизации = УчетНДСУП.ПараметрыУчетаПоОрганизации(Реквизиты.Организация, Реквизиты.Период);
	Запрос.УстановитьПараметр("НалогообложениеОрганизации", ПараметрыУчетаПоОрганизации.ОсновноеНалогообложениеНДСПродажи);
	
	ЗначенияПараметровПроведения = ЗначенияПараметровПроведения(Реквизиты);
	Для каждого КлючИЗначение Из ЗначенияПараметровПроведения Цикл
		Запрос.УстановитьПараметр(КлючИЗначение.Ключ, КлючИЗначение.Значение);
	КонецЦикла; 
	
	РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализации(Запрос, Реквизиты);
	
КонецПроцедуры

Функция ЗначенияПараметровПроведения(Реквизиты = Неопределено)

	ЗначенияПараметровПроведения = Новый Структура;
	ЗначенияПараметровПроведения.Вставить("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.ОтчетОператораСистемыПлатон"));
	ЗначенияПараметровПроведения.Вставить("ВалютаУправленческогоУчета",		 Константы.ВалютаУправленческогоУчета.Получить());
	ЗначенияПараметровПроведения.Вставить("ИспользоватьУчетПрочихДоходовРасходов", 	ПолучитьФункциональнуюОпцию("ИспользоватьУчетПрочихДоходовРасходов"));
	ЗначенияПараметровПроведения.Вставить("КонтролироватьВыдачуПодОтчетВРазрезеЦелей", ПолучитьФункциональнуюОпцию("КонтролироватьВыдачуПодОтчетВРазрезеЦелей"));
	ЗначенияПараметровПроведения.Вставить("ИспользоватьУчетПрочихДоходовРасходов", 	ПолучитьФункциональнуюОпцию("ИспользоватьУчетПрочихДоходовРасходов"));
	ЗначенияПараметровПроведения.Вставить("КонтролироватьВыдачуПодОтчетВРазрезеЦелей", ПолучитьФункциональнуюОпцию("КонтролироватьВыдачуПодОтчетВРазрезеЦелей"));
	ЗначенияПараметровПроведения.Вставить("ДатаПрекращенияДействияЛьготПлатон",	ВнеоборотныеАктивыЛокализация.ДатаПрекращенияДействияЛьготПлатон());
	
	Возврат ЗначенияПараметровПроведения;
	
КонецФункции

Процедура СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры = Неопределено) Экспорт
	
	ТекстЗапросаДанных = "
	|ВЫБРАТЬ
	|	""ОС"" КАК ИсточникДанных,
	|	ЛОЖЬ КАК РаспределятьОбщуюСумму,
	|	ТаблицаДокумента.Ссылка КАК Ссылка,
	|	ТаблицаДокумента.Ссылка.Дата КАК Дата,
	|	ТаблицаДокумента.Ссылка.Организация КАК Организация,
	|	ТаблицаДокумента.Ссылка.Валюта КАК ВалютаДокумента,
	|	ТаблицаДокумента.Ссылка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
	|	НЕОПРЕДЕЛЕНО КАК ПериодБазыНДС,
	|	ТаблицаДокумента.Ссылка.Дата КАК ДатаКурса,
	|
	|	ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
	|	ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
	|	ТаблицаДокумента.Сумма КАК СуммаБезНДС,
	|	НЕОПРЕДЕЛЕНО КАК СтавкаНДС,
	|	0 КАК СуммаНДС,
	|	ТаблицаДокумента.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
	|	0 КАК СуммаНДСВзаиморасчетов,
	|	0 КАК СуммаБезНДСРегл,
	|	0 КАК СуммаБезНДСУпр,
	|
	|	ИСТИНА КАК ОтражаетсяВРасчетах,
	|	ТаблицаДокумента.Ссылка.ОбъектРасчетов КАК ОбъектРасчетов,
	|	ИСТИНА КАК ПересчитыватьПоДаннымРасчетов
	|ИЗ
	|	Документ.ОтчетОператораСистемыПлатон.ОС КАК ТаблицаДокумента
	|
	|ГДЕ
	|	ТаблицаДокумента.Ссылка В (&Ссылка)
	|";
	
	РегистрыСведений.СуммыДокументовВВалютахУчета.СформироватьПоДаннымДокумента(
		Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаДанных);
	
КонецПроцедуры

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

	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	Возврат ТекстЗапроса;

КонецФункции

Функция ТекстЗапросаТаблицаПорядокОтраженияПрочихОпераций(Запрос, ТекстыЗапроса, Регистры)
	
	ИмяРегистра = "ПорядокОтраженияПрочихОпераций";
	
	Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
		Возврат "";
	КонецЕсли; 
	
	ТекстЗапроса =
	"ВЫБРАТЬ ПЕРВЫЕ 1
	|	&Период			КАК Дата,
	|	&Организация	КАК Организация,
	|	&Ссылка			КАК Документ,
	|	""""			КАК ИдентификаторСтроки
	|ИЗ
	|	Документ.ОтчетОператораСистемыПлатон.ОС КАК Строки
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		ПланВидовХарактеристик.СтатьиРасходов КАК СтатьиПрочихОпераций
	|	ПО
	|		Строки.СтатьяРасходов = СтатьиПрочихОпераций.Ссылка
	|		И СтатьиПрочихОпераций.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаПрочиеАктивы)
	|		И СтатьиПрочихОпераций.ВидЦенностиНДС = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ПрочиеРаботыИУслуги)
	|
	|ГДЕ
	|	Строки.Ссылка = &Ссылка
	|";
	
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	Возврат ТекстЗапроса;
	
КонецФункции

Функция ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры)
	
	ИмяРегистра = "ПрочиеРасходы";
	
	Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
		Возврат "";
	КонецЕсли;
	
	Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
		ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса);
	КонецЕсли;
	
	ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаПрочиеРасходы("ИдентификаторСтроки");
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	Возврат ТекстЗапроса;
	
КонецФункции

Функция ТекстЗапросаТаблицаПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры)
	
	ИмяРегистра = "ПартииПрочихРасходов";
	
	Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
		Возврат "";
	КонецЕсли;
	
	Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПрочихРасходов", ТекстыЗапроса) Тогда
		ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса);
	КонецЕсли;
	
	ТекстЗапроса = РегистрыНакопления.ПартииПрочихРасходов.ТекстЗапросаТаблицаПартииПрочихРасходов("ИдентификаторСтроки");
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	Возврат ТекстЗапроса;
	
КонецФункции

Функция ТекстЗапросаТаблицаРеестрДокументов(ТекстыЗапроса, Регистры)
	
	ИмяРегистра = "РеестрДокументов";
	
	Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
		Возврат "";
	КонецЕсли;
	
	ТекстЗапроса = 
	"ВЫБРАТЬ
	|	&Ссылка                                 КАК Ссылка,
	|	&Период                                 КАК ДатаДокументаИБ,
	|	&Номер                                  КАК НомерДокументаИБ,
	|	&ИдентификаторМетаданных                КАК ТипСсылки,
	|	&Организация                            КАК Организация,
	|	&ХозяйственнаяОперация                  КАК ХозяйственнаяОперация,
	|	&Партнер                                КАК Партнер,
	|	&Контрагент                             КАК Контрагент,
	|	&НаправлениеДеятельности                КАК НаправлениеДеятельности,
	|	НЕОПРЕДЕЛЕНО                            КАК МестоХранения,
	|	&Подразделение                          КАК Подразделение,
	|	&Менеджер                               КАК Ответственный,
	|	&Автор                                  КАК Автор,
	|	&Комментарий                            КАК Комментарий,
	|	&Валюта                                 КАК Валюта,
	|	&СуммаДокумента                         КАК Сумма,
	|	НЕОПРЕДЕЛЕНО                            КАК Статус,
	|	&Проведен                               КАК Проведен,
	|	&ПометкаУдаления                        КАК ПометкаУдаления,
	|	ЛОЖЬ                                    КАК ДополнительнаяЗапись,
	|	&ИнформацияПоДоговору                   КАК Дополнительно,
	|	&ДатаВходящегоДокумента                 КАК ДатаПервичногоДокумента,
	|	&НомерВходящегоДокумента                КАК НомерПервичногоДокумента,
	|	&Исправление                            КАК СторноИсправление,
	|	&СторнируемыйДокумент                   КАК СторнируемыйДокумент,
	|	&ИсправляемыйДокумент                   КАК ИсправляемыйДокумент,
	|	&НаименованиеВходящегоДокумента         КАК НаименованиеПервичногоДокумента,
	|	&Период                                 КАК ДатаОтраженияВУчете,
	|	НЕОПРЕДЕЛЕНО                            КАК Приоритет";
	
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	
	Возврат ТекстЗапроса;
	
КонецФункции

Функция ТекстЗапросаТаблицаДокументыПоОС(ТекстыЗапроса, Регистры)
	
	ИмяРегистра = "ДокументыПоОС";
	
	Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
		Возврат "";
	КонецЕсли;
	
	ТекстЗапроса = 
	"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	ЕСТЬNULL(ТаблицаОС.НомерСтроки-1, 0)    КАК НомерЗаписи,
	|	&Период                                 КАК Дата,
	|	&Ссылка                                 КАК Ссылка,
	|	&Организация                            КАК Организация,
	|	&Подразделение                          КАК Подразделение,
	|	&ИдентификаторМетаданных                КАК ТипСсылки,
	|	&ХозяйственнаяОперация                  КАК ХозяйственнаяОперация,
	|	&Проведен                               КАК Проведен,
	|	ИСТИНА                                  КАК ОтражатьВРеглУчете,
	|	ИСТИНА                                  КАК ОтражатьВУпрУчете,
	|	ТаблицаОС.ОсновноеСредство              КАК ОсновноеСредство
	|ИЗ
	|	Документ.ОтчетОператораСистемыПлатон КАК ДанныеДокумента
	|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетОператораСистемыПлатон.ОС КАК ТаблицаОС
	|		ПО ДанныеДокумента.Ссылка = ТаблицаОС.Ссылка
	|ГДЕ
	|	ДанныеДокумента.Ссылка = &Ссылка";
	
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	
	Возврат ТекстЗапроса;
	
КонецФункции

Функция ТекстЗапросаТаблицаОтражениеДокументовВРеглУчете(Запрос, ТекстыЗапроса, Регистры)
	
	ИмяРегистра = "ОтражениеДокументовВРеглУчете";
	
	Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
		Возврат "";
	КонецЕсли; 
	
	Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
		ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса);
	КонецЕсли;
	
	Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПрочихРасходов", ТекстыЗапроса) Тогда
		ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса);
	КонецЕсли;
	
	ТекстЗапроса = "
	|ВЫБРАТЬ
	|	&Период                      КАК Период,
	|	&Организация                 КАК Организация,
	|	НАЧАЛОПЕРИОДА(&Период, ДЕНЬ) КАК ДатаОтражения
	|";
	ТекстЗапроса = ТекстЗапроса + "ОБЪЕДИНИТЬ ВСЕ"
		+ ДоходыИРасходыСервер.ДополнитьТекстЗапросаТаблицаОтражениеДокументовВРеглУчете();
	
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	
	Возврат ТекстЗапроса;
	
КонецФункции

Функция ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса)
	
	// Создадим временную таблицу "ВтТаблицаАналитикУчетаПартий"
	
	ТекстВыборкаПоляАналитик =
	"ВЫБРАТЬ
	|	""Расходы"" 							КАК ИмяТабличнойЧасти,
	|	ТаблицаДокумента.НомерСтроки 			КАК НомерСтроки,
	|	ДанныеДокумента.Партнер					КАК Поставщик,
	|	ДанныеДокумента.Контрагент				КАК Контрагент,
	|	ЗНАЧЕНИЕ(Справочник.СтавкиНДС.БезНДС)   КАК СтавкаНДС,
	|	ВЫБОР
	|		КОГДА ЕСТЬNULL(Статьи.ВидЦенностиНДС, НЕОПРЕДЕЛЕНО) В (
	|		  					ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ОС), 
	|							ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НМА))
	|		  		И ЕСТЬNULL(Статьи.ВариантРаспределенияРасходовРегл, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
	|		  		И ЕСТЬNULL(Статьи.ВариантРаздельногоУчетаНДС, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ВариантыРаздельногоУчетаНДС.Распределение)
	|			ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ВводОСВЭксплуатацию)
	|		КОГДА ЕСТЬNULL(Статьи.ВариантРаздельногоУчетаНДС, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ВариантыРаздельногоУчетаНДС.Распределение) 
	|			ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
	|		ИНАЧЕ &НалогообложениеОрганизации
	|	КОНЕЦ КАК НалогообложениеНДС,
	|	ЕСТЬNULL(Статьи.ВидЦенностиНДС, ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ПрочиеРаботыИУслуги)) КАК ВидЦенности,
	|	0 КАК КодСтроки
	|ПОМЕСТИТЬ ВТПоляАналитикУчетаПартий
	|ИЗ
	|	Документ.ОтчетОператораСистемыПлатон.ОС КАК ТаблицаДокумента
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОтчетОператораСистемыПлатон КАК ДанныеДокумента
	|		ПО ДанныеДокумента.Ссылка = ТаблицаДокумента.Ссылка
	|	ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СтатьиРасходов КАК Статьи
	|		ПО ТаблицаДокумента.СтатьяРасходов = Статьи.Ссылка
	|ГДЕ
	|	ТаблицаДокумента.Ссылка = &Ссылка
	|";
	
	ТекстЗапроса = Справочники.КлючиАналитикиУчетаПартий.ТекстЗапросаВтТаблицаАналитикУчетаПартий(ТекстВыборкаПоляАналитик, Запрос, ТекстыЗапроса);
	
	Возврат ТекстЗапроса;
	
КонецФункции

Функция ТекстЗапросаТаблицаВтРасходы(Запрос, ТекстыЗапроса)
	
	ИмяРегистра = "ВтРасходы";
	
	СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
	
	Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
		ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
	КонецЕсли; 
	
	ТекстЗапроса = "
	|ВЫБРАТЬ
	|	ТаблицаРасходы.Ссылка КАК Ссылка,
	|	ТаблицаРасходы.НомерСтроки КАК НомерСтроки,
	|	&Период КАК Период,
	|	&Организация КАК Организация,
	|	ТаблицаРасходы.ОсновноеСредство КАК ОсновноеСредство,
	|	ТаблицаРасходы.Подразделение КАК Подразделение,
	|	ТаблицаРасходы.СтатьяРасходов КАК СтатьяРасходов,
	|	ТаблицаРасходы.АналитикаРасходов КАК АналитикаРасходов,
	|	ТаблицаАналитикУчетаПартий.ВидЦенности			КАК ВидЦенности,
	|	ТаблицаАналитикУчетаПартий.НалогообложениеНДС	КАК ВидДеятельностиНДС,
	|	ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
	|	ВЫБОР
	|		КОГДА ЕСТЬNULL(ТаблицаРасходы.НаправлениеДеятельности.УчетЗатрат, ЛОЖЬ) ТОГДА
	|			ТаблицаРасходы.НаправлениеДеятельности 
	|	КОНЕЦ КАК НаправлениеДеятельности,
	|
	|	ВЫБОР
	|		КОГДА ТаблицаРасходы.СтатьяРасходов.ВариантРаспределенияРасходовРегл = 
	|				ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
	|			ТОГДА
	|				ВЫБОР ТаблицаРасходы.СтатьяРасходов.ВидЦенностиНДС
	|					КОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ОС)
	|						ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОС)
	|					КОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ОбъектыНезавершенногоСтроительства)
	|						ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОбъектовСтроительства)
	|					КОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НМА)
	|						ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеНМА)
	|				КОНЕЦ
	|		КОГДА ТаблицаРасходы.СтатьяРасходов.ВариантРаспределенияРасходовРегл = 
	|				ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаПрочиеАктивы)
	|			ТОГДА  ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеПрочихАктивов)
	|		ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеПрочихУслуг)
	|	КОНЕЦ КАК ХозяйственнаяОперация,
	|
	|	ЗНАЧЕНИЕ(Справочник.СтавкиНДС.БезНДС) КАК СтавкаНДС,
	|
	|	ТаблицаРасходы.СуммаСНДС КАК СуммаСНДС,
	|	0 КАК СуммаНДС,
	|	ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0) КАК СуммаУпр,
	|	ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КАК СуммаБезНДСУпр,
	|	0 КАК СуммаНДСУпр,
	|	ЕСТЬNULL(Суммы.СуммаСНДСРегл, 0) КАК СуммаРегл,
	|	ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КАК СуммаБезНДСРегл,
	|	0 СуммаНДСРегл,
	|
	|	ТаблицаРасходы.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
	|	0 КАК СуммаНДСВзаиморасчетов,
	|	ТаблицаРасходы.ИдентификаторСтроки КАК ИдентификаторСтроки,
	|	
	|	ВЫБОР
	|		КОГДА ТаблицаРасходы.СтатьяРасходов.ВариантРаспределенияРасходовРегл = 
	|				ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
	|			ТОГДА
	|				ВЫБОР ТаблицаРасходы.СтатьяРасходов.ВидЦенностиНДС
	|					КОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ОС)
	|						ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ПоступлениеОС)
	|					КОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ОбъектыНезавершенногоСтроительства)
	|						ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ПоступлениеОбъектовСтроительства)
	|					КОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НМА)
	|						ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ПоступлениеНМА)
	|				КОНЕЦ
	|		КОГДА ТаблицаРасходы.СтатьяРасходов.ВариантРаспределенияРасходовРегл = 
	|				ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаПрочиеАктивы)
	|			ТОГДА  ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ПоступлениеПрочихАктивов)
	|		ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ПоступлениеПрочихУслуг)
	|	КОНЕЦ КАК НастройкаХозяйственнойОперации,
	|	ТаблицаРасходы.Ссылка.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи
	|
	|ПОМЕСТИТЬ втРасходы
	|ИЗ
	|	Документ.ОтчетОператораСистемыПлатон.ОС КАК ТаблицаРасходы
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		ВтСуммыДокументовВВалютахУчета КАК Суммы
	|	ПО
	|		ТаблицаРасходы.Ссылка = Суммы.Ссылка
	|		И ТаблицаРасходы.ИдентификаторСтроки = Суммы.ИдентификаторСтроки
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
	|	ПО ТаблицаАналитикУчетаПартий.НомерСтроки 		= ТаблицаРасходы.НомерСтроки
	|	 И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Расходы""
	|ГДЕ
	|	ТаблицаРасходы.Ссылка = &Ссылка
	|";
	
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	
	Возврат ТекстЗапроса;
	
КонецФункции

Функция ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса)
	
	ИмяРегистра = "ВтИсходныеПрочиеРасходы";
	
	Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтРасходы", ТекстыЗапроса) Тогда
		ТекстЗапросаТаблицаВтРасходы(Запрос, ТекстыЗапроса);
	КонецЕсли;
	
	ТекстЗапросаТаблицаВтПараметрыНачисленияТранспортногоНалога(ТекстыЗапроса);
	
	ТекстЗапроса = "
	|ВЫБРАТЬ
	|	ТаблицаРасходы.Период                     КАК Период,
	|	ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)    КАК ВидДвижения,
	|	ТаблицаРасходы.Организация                КАК Организация,
	|	ТаблицаРасходы.Подразделение              КАК Подразделение,
	|	ТаблицаРасходы.СтатьяРасходов             КАК СтатьяРасходов,
	|	ТаблицаРасходы.АналитикаРасходов          КАК АналитикаРасходов,
	|	ТаблицаРасходы.НаправлениеДеятельности    КАК НаправлениеДеятельности,
	|	ТаблицаРасходы.ВидДеятельностиНДС         КАК ВидДеятельностиНДС,
	|
	|	ТаблицаРасходы.СуммаУпр                   КАК СуммаСНДС,
	|	ТаблицаРасходы.СуммаБезНДСУпр             КАК СуммаБезНДС,
	|	ТаблицаРасходы.СуммаБезНДСУпр             КАК СуммаБезНДСУпр,
	|
	|	ТаблицаРасходы.СуммаРегл                  КАК СуммаСНДСРегл,
	|	ТаблицаРасходы.СуммаБезНДСРегл            КАК СуммаБезНДСРегл,
	|	0                                         КАК ПостояннаяРазница,
	|	ВЫБОР 
	|		КОГДА НЕ ПараметрыНачисленияТранспортногоНалога.ОсновноеСредство ЕСТЬ NULL
	|			ТОГДА ТаблицаРасходы.СуммаРегл
	|		ИНАЧЕ 0 
	|	КОНЕЦ                                     КАК ВременнаяРазница,
	|
	|	ТаблицаРасходы.ХозяйственнаяОперация      КАК ХозяйственнаяОперация,
	|
	|	НЕОПРЕДЕЛЕНО                              КАК АналитикаУчетаНоменклатуры,
	|
	|	ТаблицаРасходы.ИдентификаторСтроки            КАК ИдентификаторСтроки,
	|	ТаблицаРасходы.ИдентификаторФинЗаписи         КАК ИдентификаторФинЗаписи,
	|	ТаблицаРасходы.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
	|
	|ПОМЕСТИТЬ ВтИсходныеПрочиеРасходы
	|ИЗ
	|	втРасходы КАК ТаблицаРасходы
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВтПараметрыНачисленияТранспортногоНалога КАК ПараметрыНачисленияТранспортногоНалога
	|		ПО ПараметрыНачисленияТранспортногоНалога.ОсновноеСредство = ТаблицаРасходы.ОсновноеСредство
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	ТаблицаРасходы.Период                     КАК Период,
	|	ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)    КАК ВидДвижения,
	|	ТаблицаРасходы.Организация                КАК Организация,
	|	ТаблицаРасходы.Подразделение              КАК Подразделение,
	|	ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.РасходыНаПлатон) КАК СтатьяРасходов,
	|	НЕОПРЕДЕЛЕНО                              КАК АналитикаРасходов,
	|	ТаблицаРасходы.НаправлениеДеятельности    КАК НаправлениеДеятельности,
	|	ТаблицаРасходы.ВидДеятельностиНДС         КАК ВидДеятельностиНДС,
	|
	|	0                                         КАК СуммаСНДС,
	|	0                                         КАК СуммаБезНДС,
	|	0                                         КАК СуммаБезНДСУпр,
	|
	|	0                                         КАК СуммаСНДСРегл,
	|	0                                         КАК СуммаБезНДСРегл,
	|	0                                         КАК ПостояннаяРазница,
	|	-ТаблицаРасходы.СуммаРегл                 КАК ВременнаяРазница,
	|
	|	ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеПрочихУслуг) КАК ХозяйственнаяОперация,
	|	НЕОПРЕДЕЛЕНО                              КАК АналитикаУчетаНоменклатуры,
	|
	|	ТаблицаРасходы.ИдентификаторСтроки            КАК ИдентификаторСтроки,
	|	ТаблицаРасходы.ИдентификаторФинЗаписи         КАК ИдентификаторФинЗаписи,
	|	ТаблицаРасходы.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
	|
	|ИЗ
	|	втРасходы КАК ТаблицаРасходы
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВтПараметрыНачисленияТранспортногоНалога КАК ПараметрыНачисленияТранспортногоНалога
	|		ПО ПараметрыНачисленияТранспортногоНалога.ОсновноеСредство = ТаблицаРасходы.ОсновноеСредство
	|ГДЕ
	|	НЕ ПараметрыНачисленияТранспортногоНалога.ОсновноеСредство ЕСТЬ NULL
	|";
	
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	Возврат ТекстЗапроса;
	
КонецФункции

Функция ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса)
	
	ИмяРегистра = "ВтПрочиеРасходы";
	
	Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПрочиеРасходы", ТекстыЗапроса) Тогда
		ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса);
	КонецЕсли;
	
	ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаВтПрочиеРасходы("ИдентификаторСтроки");
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	Возврат ТекстЗапроса;
	
КонецФункции

Функция ТекстЗапросаТаблицаВтИсходныеПартииПрочихРасходов(Запрос, ТекстыЗапроса)
	
	ИмяРегистра = "ВтИсходныеПартииПрочихРасходов";
	
	Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтРасходы", ТекстыЗапроса) Тогда
		ТекстЗапросаТаблицаВтРасходы(Запрос, ТекстыЗапроса);
	КонецЕсли;
	
	ТекстЗапросаТаблицаВтПараметрыНачисленияТранспортногоНалога(ТекстыЗапроса);
	
	ТекстЗапроса = "
	|ВЫБРАТЬ
	|	ТаблицаРасходы.Период                      КАК Период,
	|	ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)     КАК ВидДвижения,
	|	ТаблицаРасходы.Организация                 КАК Организация,
	|	ТаблицаРасходы.Подразделение               КАК Подразделение,
	|	&Ссылка                                    КАК ДокументПоступленияРасходов,
	|	ТаблицаРасходы.СтатьяРасходов              КАК СтатьяРасходов,
	|	ТаблицаРасходы.АналитикаРасходов           КАК АналитикаРасходов,
	|	НЕОПРЕДЕЛЕНО                               КАК АналитикаАктивовПассивов,
	|	ТаблицаРасходы.АналитикаУчетаПартий        КАК АналитикаУчетаПартий,
	|	ТаблицаРасходы.НаправлениеДеятельности     КАК НаправлениеДеятельности,
	|	НЕОПРЕДЕЛЕНО                               КАК АналитикаУчетаНоменклатуры,
	|	ТаблицаРасходы.ВидДеятельностиНДС          КАК ВидДеятельностиНДС,
	|
	|	ТаблицаРасходы.СуммаУпр                    КАК Стоимость,
	|	ТаблицаРасходы.СуммаБезНДСУпр              КАК СтоимостьБезНДС,
	|	ТаблицаРасходы.СуммаНДСУпр                 КАК НДСУпр,
	|	ТаблицаРасходы.СуммаБезНДСРегл             КАК СтоимостьРегл,
	|	0                                          КАК ПостояннаяРазница,
	|	ВЫБОР 
	|		КОГДА НЕ ПараметрыНачисленияТранспортногоНалога.ОсновноеСредство ЕСТЬ NULL
	|			ТОГДА ТаблицаРасходы.СуммаРегл
	|		ИНАЧЕ 0 
	|	КОНЕЦ                                      КАК ВременнаяРазница,
	|	ТаблицаРасходы.СуммаНДСРегл                КАК НДСРегл,
	|
	|	&ХозяйственнаяОперация                     КАК ХозяйственнаяОперация,
	|
	|	ТаблицаРасходы.ИдентификаторСтроки    КАК ИдентификаторСтроки,
	|	ТаблицаРасходы.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
	|	&НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
	|	
	|ПОМЕСТИТЬ ВтИсходныеПартииПрочихРасходов
	|ИЗ
	|	втРасходы КАК ТаблицаРасходы
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВтПараметрыНачисленияТранспортногоНалога КАК ПараметрыНачисленияТранспортногоНалога
	|		ПО ПараметрыНачисленияТранспортногоНалога.ОсновноеСредство = ТаблицаРасходы.ОсновноеСредство
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	ТаблицаРасходы.Период                      КАК Период,
	|	ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)     КАК ВидДвижения,
	|	ТаблицаРасходы.Организация                 КАК Организация,
	|	ТаблицаРасходы.Подразделение               КАК Подразделение,
	|	&Ссылка                                    КАК ДокументПоступленияРасходов,
	|	ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.РасходыНаПлатон) КАК СтатьяРасходов,
	|	НЕОПРЕДЕЛЕНО                               КАК АналитикаРасходов,
	|	НЕОПРЕДЕЛЕНО                               КАК АналитикаАктивовПассивов,
	|	ТаблицаРасходы.АналитикаУчетаПартий        КАК АналитикаУчетаПартий,
	|	ТаблицаРасходы.НаправлениеДеятельности     КАК НаправлениеДеятельности,
	|	НЕОПРЕДЕЛЕНО                               КАК АналитикаУчетаНоменклатуры,
	|	ТаблицаРасходы.ВидДеятельностиНДС          КАК ВидДеятельностиНДС,
	|
	|	0                                          КАК Стоимость,
	|	0                                          КАК СтоимостьБезНДС,
	|	0                                          КАК НДСУпр,
	|	0                                          КАК СтоимостьРегл,
	|	0                                          КАК ПостояннаяРазница,
	|	-ТаблицаРасходы.СуммаБезНДСРегл            КАК ВременнаяРазница,
	|	0                                          КАК НДСРегл,
	|
	|	&ХозяйственнаяОперация                     КАК ХозяйственнаяОперация,
	|	ТаблицаРасходы.ИдентификаторСтроки         КАК ИдентификаторСтроки,
	|	ТаблицаРасходы.ИдентификаторФинЗаписи      КАК ИдентификаторФинЗаписи,
	|	&НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
	|
	|ИЗ
	|	втРасходы КАК ТаблицаРасходы
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВтПараметрыНачисленияТранспортногоНалога КАК ПараметрыНачисленияТранспортногоНалога
	|		ПО ПараметрыНачисленияТранспортногоНалога.ОсновноеСредство = ТаблицаРасходы.ОсновноеСредство
	|ГДЕ
	|	НЕ ПараметрыНачисленияТранспортногоНалога.ОсновноеСредство ЕСТЬ NULL
	|";

	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	Возврат ТекстЗапроса;
	
КонецФункции

Функция ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса)
	
	ИмяРегистра = "ВтПартииПрочихРасходов";
	
	Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПартииПрочихРасходов", ТекстыЗапроса) Тогда
		ТекстЗапросаТаблицаВтИсходныеПартииПрочихРасходов(Запрос, ТекстыЗапроса);
	КонецЕсли;
	
	ТекстЗапроса = РегистрыНакопления.ПартииПрочихРасходов.ТекстЗапросаТаблицаВтПартииПрочихРасходов("ИдентификаторСтроки");
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	Возврат ТекстЗапроса;
	
КонецФункции

Процедура ТекстЗапросаТаблицаВтПараметрыНачисленияТранспортногоНалога(ТекстыЗапроса)
	
	ИмяТаблицы = "ВтПараметрыНачисленияТранспортногоНалога";

	Если ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяТаблицы, ТекстыЗапроса) Тогда
		Возврат;
	КонецЕсли;
	
	ТекстЗапроса = 
	"ВЫБРАТЬ
	|	ПараметрыНачисленияТранспортногоНалога.ОсновноеСредство КАК ОсновноеСредство
	|ПОМЕСТИТЬ ВтПараметрыНачисленияТранспортногоНалога
	|ИЗ
	|	РегистрСведений.ПараметрыНачисленияТранспортногоНалога.СрезПоследних(
	|			&Период,
	|			ДатаИсправления = ДАТАВРЕМЯ(1,1,1)
	|				И Организация = &Организация
	|				И ОсновноеСредство В
	|					(ВЫБРАТЬ
	|						ТаблицаТЧ.ОсновноеСредство
	|					ИЗ
	|						Документ.ОтчетОператораСистемыПлатон.ОС КАК ТаблицаТЧ)) КАК ПараметрыНачисленияТранспортногоНалога
	|ГДЕ
	|	ПараметрыНачисленияТранспортногоНалога.ВидЗаписи = ЗНАЧЕНИЕ(Перечисление.ВидЗаписиОРегистрации.Регистрация)
	|	И &Период < &ДатаПрекращенияДействияЛьготПлатон";
	
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяТаблицы);
	
КонецПроцедуры

Процедура ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры)
	
	#Область КурсыВалютДокумента
	
	ИмяРегистра = "ВременнаяТаблицаКурсыВалютДокумента";

	ТекстЗапросаКурсыВалютДокумента = 
		"ВЫБРАТЬ
		|	ДанныеДокументаШапка.Ссылка КАК Ссылка,
		|	ДанныеДокументаШапка.Организация КАК Организация,
		|	ДанныеДокументаШапка.Дата КАК ДатаКурса,
		|	ДанныеДокументаШапка.ОбъектРасчетов КАК ОбъектРасчетов,
		|	ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
		|	ДанныеДокументаШапка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
		|ИЗ
		|	Документ.ОтчетОператораСистемыПлатон КАК ДанныеДокументаШапка
		|ГДЕ
		|	ДанныеДокументаШапка.Ссылка В (&Ссылка)
		|
		|ОБЪЕДИНИТЬ ВСЕ
		|
		|ВЫБРАТЬ
		|	ДанныеДокументаШапка.Ссылка КАК Ссылка,
		|	ДанныеДокументаШапка.Организация КАК Организация,
		|	ДанныеДокументаШапка.Дата КАК ДатаКурса,
		|	Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
		|	ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
		|	ДанныеДокументаШапка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
		|ИЗ
		|	Документ.ОтчетОператораСистемыПлатон.РасшифровкаПлатежа КАК Таблица
		|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетОператораСистемыПлатон КАК ДанныеДокументаШапка
		|		ПО Таблица.Ссылка = ДанныеДокументаШапка.Ссылка
		|ГДЕ
		|	Таблица.Ссылка В (&Ссылка)";
		
	ТекстЗапросаКурсыВалютДокумента = ВзаиморасчетыСервер.ПолучитьТаблицуКурсовВалютНаправленийДеятельности(ТекстЗапросаКурсыВалютДокумента);

	ТекстыЗапроса.Добавить(ТекстЗапросаКурсыВалютДокумента, ИмяРегистра);
	
	#КонецОбласти
	
	#Область Закупка
	
	ТекстЗакупка = "
		|ВЫБРАТЬ
		|	Таблица.Ссылка                         КАК Ссылка,
		|	Таблица.Ссылка.Организация             КАК Организация,
		|	Таблица.Ссылка.Партнер                 КАК Партнер,
		|	Таблица.Ссылка.Дата                    КАК ДатаРегистратора,
		|	Таблица.Ссылка.Номер                   КАК НомерРегистратора,
		|
		|	Таблица.Ссылка.ОбъектРасчетов          КАК ОбъектРасчетов,
		|	Таблица.Ссылка.ДатаПлатежа             КАК ДатаПлатежа,
		|	НЕОПРЕДЕЛЕНО                           КАК ВариантОплаты,
		|	Неопределено                           КАК ЗаказЗакупки,
		|	
		|	Таблица.СуммаСНДС                      КАК Сумма,
		|	Таблица.СуммаВзаиморасчетов            КАК СуммаВзаиморасчетов,
		|	0                                      КАК СуммаВзаиморасчетовПоТаре,
		|
		|	Таблица.Ссылка.ПорядокРасчетов         КАК ПорядокРасчетов,
		|	ЛОЖЬ                                   КАК НакладнаяПоЗаказам,
		|	Таблица.Ссылка.ВалютаВзаиморасчетов    КАК ВалютаВзаиморасчетов,
		|	Таблица.Ссылка.ХозяйственнаяОперация   КАК ХозяйственнаяОперация,
		|	Таблица.Ссылка.ФормаОплаты             КАК ФормаОплаты,
		|	Таблица.Ссылка.Валюта                  КАК ВалютаДокумента,
		|	Таблица.Ссылка.Дата                    КАК ДатаКурса,
		|	Неопределено                           КАК СвязанныйДокумент
		|ИЗ
		|	Документ.ОтчетОператораСистемыПлатон.ОС КАК Таблица
		|ГДЕ
		|	Таблица.Ссылка В (&Ссылка)
		|";
	
	#КонецОбласти
	
	#Область УвеличениеПланаОплаты
	
	ТекстПланОплаты = "
		|ВЫБРАТЬ
		|	Таблица.Ссылка                         КАК Ссылка,
		|	Таблица.Ссылка.Организация             КАК Организация,
		|	Таблица.Ссылка.Партнер                 КАК Партнер,
		|	Таблица.Ссылка.Дата                    КАК ДатаРегистратора,
		|	Таблица.Ссылка.Номер                   КАК НомерРегистратора,
		|	Таблица.Ссылка.ДатаПлатежа             КАК ДатаПлатежа,
		|	
		|	Таблица.Ссылка.ОбъектРасчетов          КАК ОбъектРасчетов,
		|	Таблица.Ссылка.ПорядокРасчетов         КАК ПорядокРасчетов,
		|	ЛОЖЬ                                   КАК НакладнаяПоЗаказам,
		|	ЛОЖЬ                                   КАК СверхЗаказа,
		|	Неопределено                           КАК ЗаказЗакупки,
		|	Таблица.СуммаВзаиморасчетов            КАК КОплате,
		|	Таблица.Ссылка.ВалютаВзаиморасчетов    КАК ВалютаВзаиморасчетов,
		|	Таблица.Ссылка.ХозяйственнаяОперация   КАК ХозяйственнаяОперация,
		|	Таблица.Ссылка.ФормаОплаты             КАК ФормаОплаты,
		|	Таблица.Ссылка.Валюта                  КАК ВалютаДокумента,
		|	Неопределено                           КАК ВариантОплаты,
		|	Неопределено                           КАК СвязанныйДокумент
		|ИЗ
		|	Документ.ОтчетОператораСистемыПлатон.ОС КАК Таблица
		|ГДЕ
		|	Таблица.Ссылка В (&Ссылка)
		|";

	#КонецОбласти
	
	#Область ЗачетАвансов
	
	ТекстЗачетАванса = "
		|ВЫБРАТЬ
		|	Таблица.Ссылка                                                           КАК Ссылка,
		|	Таблица.Ссылка.Организация                                               КАК Организация,
		|	Таблица.Ссылка.Партнер                                                   КАК Партнер,
		|	
		|	Таблица.ОбъектРасчетов                                                   КАК ОбъектРасчетовИсточник,
		|	Таблица.Ссылка.ОбъектРасчетов                                            КАК ОбъектРасчетовПриемник,
		|
		|	Таблица.Ссылка.ВалютаВзаиморасчетов                                      КАК ВалютаВзаиморасчетов,
		|	Таблица.СуммаВзаиморасчетов                                              КАК СуммаВзаиморасчетов,
		|	Таблица.Ссылка.Валюта                                                    КАК ВалютаДокумента,
		|	Таблица.Сумма                                                            КАК Сумма,
		|
		|	Таблица.Ссылка.Дата                                                      КАК ДатаРегистратора,
		|	Таблица.Ссылка.Дата                                                      КАК ДатаКурса,
		|	Таблица.Ссылка.Номер                                                     КАК НомерРегистратора,
		|	ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереносАванса)               КАК ХозяйственнаяОперация
		|	
		|ИЗ
		|	Документ.ОтчетОператораСистемыПлатон.РасшифровкаПлатежа КАК Таблица
		|ГДЕ
		|	Таблица.Ссылка В (&Ссылка)
		|";
	
	#КонецОбласти
	
	ВзаиморасчетыСервер.ПроведениеЗакупки(Запрос, ТекстыЗапроса, Регистры, ТекстЗакупка, ТекстПланОплаты, ТекстЗачетАванса);
	
КонецПроцедуры

#Область ПроведениеПоРеглУчету

// Возвращает текст запроса для отражения документа в регламентированном учете.
//
// Возвращаемое значение:
//	Строка - Текст запроса
//
Функция ТекстОтраженияВРеглУчете() Экспорт
	
	ТекстыОтражения = Новый Массив;
	
#Область ТекстПоступлениеУслуг    // (Дт <25, 26, 44, 20, 23, 08.3, 20> :: Кт <60.1, 76, 71> )
	ТекстЗапроса = "
	|ВЫБРАТЬ // Поступление услуг (Дт <25, 26, 44, 20, 23, 08.3, 20> :: Кт <60.1, 76, 71> )
	|
	|	Операция.Ссылка КАК Ссылка,
	|	Операция.Дата КАК Период,
	|	Операция.Организация КАК Организация,
	|	НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
	|
	|	Суммы.СуммаБезНДСРегл + Суммы.СуммаНДСРегл КАК Сумма,
	|	Суммы.СуммаБезНДСУпр + Суммы.СуммаНДСУпр КАК СуммаУУ,
	|
	|	// Дт ///////////////////////////////////////////////////////////////////////////////////////////
	|	
	|	ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.Расходы) КАК ВидСчетаДт,
	|	Строки.СтатьяРасходов КАК АналитикаУчетаДт,
	|	Строки.Подразделение КАК МестоУчетаДт,
	|
	|	ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК ВалютаДт,
	|	Строки.Подразделение КАК ПодразделениеДт,
	|	Строки.НаправлениеДеятельности КАК НаправлениеДеятельностиДт,
	|
	|	ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетДт,
	|
	|	Строки.СтатьяРасходов КАК СубконтоДт1,
	|	Строки.АналитикаРасходов КАК СубконтоДт2,
	|	ВЫБОР КОГДА СтатьиСтроительства.Ссылка ЕСТЬ НЕ NULL ТОГДА
	|			ВЫБОР КОГДА ОбъектыСтроительства.СпособСтроительства <> ЗНАЧЕНИЕ(Перечисление.СпособыСтроительства.ПустаяСсылка) 
	|					ТОГДА ОбъектыСтроительства.СпособСтроительства
	|				ИНАЧЕ 
	|					ЗНАЧЕНИЕ(Перечисление.СпособыСтроительства.Хозспособ) 
	|			КОНЕЦ
	|	ИНАЧЕ
	|		ЗНАЧЕНИЕ(Перечисление.ТипыЗатратРегл.Прочее)
	|	КОНЕЦ КАК СубконтоДт3,
	|	
	|	0 КАК ВалютнаяСуммаДт,
	|	0 КАК КоличествоДт,
	|	ВЫБОР 
	|		КОГДА ПараметрыНачисленияТранспортногоНалога.Ссылка ЕСТЬ NULL
	|			ТОГДА Суммы.СуммаБезНДСРегл + Суммы.СуммаНДСРегл
	|		ИНАЧЕ 0
	|	КОНЕЦ КАК СуммаНУДт,
	|	0 КАК СуммаПРДт,
	|	ВЫБОР 
	|		КОГДА НЕ ПараметрыНачисленияТранспортногоНалога.Ссылка ЕСТЬ NULL
	|			ТОГДА Суммы.СуммаБезНДСРегл + Суммы.СуммаНДСРегл
	|		ИНАЧЕ 0
	|	КОНЕЦ КАК СуммаВРДт,
	|	
	|	// Кт ///////////////////////////////////////////////////////////////////////////////////////////
	|	
	|	ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.РасчетыСПоставщиками) КАК ВидСчетаКт,
	|	Расчеты.ГруппаФинансовогоУчета КАК АналитикаУчетаКт,
	|	НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
	|
	|	Операция.ВалютаВзаиморасчетов КАК ВалютаКт,
	|	Расчеты.Подразделение КАК ПодразделениеКт,
	|	Расчеты.НаправлениеДеятельности КАК НаправлениеДеятельностиКт,
	|
	|	НЕОПРЕДЕЛЕНО КАК СчетКт,
	|	Расчеты.Контрагент КАК СубконтоКт1,
	|	Расчеты.Договор КАК СубконтоКт2,
	|	НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
	|
	|	Строки.СуммаВзаиморасчетов КАК ВалютнаяСуммаКт,
	|	0 КАК КоличествоКт,
	|	0 КАК СуммаНУКт,
	|	0 КАК СуммаПРКт,
	|	0 КАК СуммаВРКт,
	|	""Отражение в расходах платы по системе """"Платон"""""" КАК Содержание
	|ИЗ
	|	ДокументыКОтражению КАК ДокументыКОтражению
	|	
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОтчетОператораСистемыПлатон КАК Операция
	|	ПО ДокументыКОтражению.Ссылка = Операция.Ссылка
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОтчетОператораСистемыПлатон.ОС КАК Строки
	|	ПО Строки.Ссылка = Операция.Ссылка
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютахУчета КАК Суммы
	|	ПО Суммы.Регистратор = Строки.Ссылка
	|		И Суммы.ИдентификаторСтроки = Строки.ИдентификаторСтроки
	|		И Суммы.СуммаБезНДСРегл <> 0
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СтатьиРасходов КАК СтатьиСтроительства
	|	ПО Строки.СтатьяРасходов = СтатьиСтроительства.Ссылка
	|		И СтатьиСтроительства.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СтатьиРасходов КАК СтатьиНаПрочиеАктивы
	|	ПО Строки.СтатьяРасходов = СтатьиНаПрочиеАктивы.Ссылка
	|		И СтатьиНаПрочиеАктивы.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаПрочиеАктивы)
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СтатьиРасходов КАК СтатьиНДСРаспределяется
	|	ПО Строки.СтатьяРасходов = СтатьиНДСРаспределяется.Ссылка
	|		И СтатьиНДСРаспределяется.ВариантРаздельногоУчетаНДС = ЗНАЧЕНИЕ(Перечисление.ВариантыРаздельногоУчетаНДС.Распределение)
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ ВТРасчетыСПоставщиками КАК Расчеты
	|	ПО Расчеты.Ссылка = Операция.Ссылка
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыСтроительства КАК ОбъектыСтроительства
	|	ПО ОбъектыСтроительства.Ссылка = Строки.АналитикаРасходов
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ втПараметрыНачисленияТранспортногоНалога КАК ПараметрыНачисленияТранспортногоНалога
	|	ПО ПараметрыНачисленияТранспортногоНалога.Ссылка = Строки.Ссылка
	|		И ПараметрыНачисленияТранспортногоНалога.ОсновноеСредство = Строки.ОсновноеСредство
	|
	|ГДЕ
	|	СтатьиНаПрочиеАктивы.Ссылка ЕСТЬ NULL
	|";
	ТекстыОтражения.Добавить(ТекстЗапроса);
#КонецОбласти

#Область ТекстПоступлениеПрочее   // (Дт <ХХ.ХХ> :: Кт <60.1, 76> )
	
	// Поддержка статей расходов с устаревшим направлением распределения "НаПрочиеАктивы".
	ТекстЗапроса = "
	|ВЫБРАТЬ // Поступление на прочие активы (Дт <ХХ.ХХ> :: Кт <60.1, 76, 71> )
	|
	|	Операция.Ссылка КАК Ссылка,
	|	Операция.Дата КАК Период,
	|	Операция.Организация КАК Организация,
	|	"""" КАК ИдентификаторСтроки,
	|
	|	Суммы.СуммаБезНДСРегл + Суммы.СуммаНДСРегл КАК Сумма,
	|	Суммы.СуммаБезНДСУпр + Суммы.СуммаНДСУпр КАК СуммаУУ,
	|
	|	// Дт ///////////////////////////////////////////////////////////////////////////////////////////
	|	
	|	ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.ПрочиеОперации) КАК ВидСчетаДт,
	|	НЕОПРЕДЕЛЕНО КАК АналитикаУчетаДт,
	|	НЕОПРЕДЕЛЕНО КАК МестоУчетаДт,
	|
	|	Операция.ВалютаВзаиморасчетов КАК ВалютаДт,
	|	Строки.Подразделение КАК ПодразделениеДт,
	|	Строки.НаправлениеДеятельности КАК НаправлениеДеятельностиДт,
	|
	|	ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетДт,
	|
	|	НЕОПРЕДЕЛЕНО КАК СубконтоДт1,
	|	НЕОПРЕДЕЛЕНО КАК СубконтоДт2,
	|	НЕОПРЕДЕЛЕНО КАК СубконтоДт3,
	|
	|	Строки.СуммаВзаиморасчетов КАК ВалютнаяСуммаДт,
	|	0 КАК КоличествоДт,
	|	ВЫБОР 
	|		КОГДА ПараметрыНачисленияТранспортногоНалога.Ссылка ЕСТЬ NULL
	|			ТОГДА Суммы.СуммаБезНДСРегл + Суммы.СуммаНДСРегл
	|		ИНАЧЕ 0
	|	КОНЕЦ КАК СуммаНУДт,
	|	0 КАК СуммаПРДт,
	|	ВЫБОР 
	|		КОГДА НЕ ПараметрыНачисленияТранспортногоНалога.Ссылка ЕСТЬ NULL
	|			ТОГДА Суммы.СуммаБезНДСРегл + Суммы.СуммаНДСРегл
	|		ИНАЧЕ 0
	|	КОНЕЦ КАК СуммаВРДт,
	|
	|	// Кт ///////////////////////////////////////////////////////////////////////////////////////////
	|	
	|	ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.РасчетыСПоставщиками) КАК ВидСчетаКт,
	|	Расчеты.ГруппаФинансовогоУчета КАК АналитикаУчетаКт,
	|	НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
	|
	|	Операция.ВалютаВзаиморасчетов КАК ВалютаКт,
	|	Расчеты.Подразделение КАК ПодразделениеКт,
	|	Расчеты.НаправлениеДеятельности КАК НаправлениеДеятельностиКт,
	|
	|	НЕОПРЕДЕЛЕНО КАК СчетКт,
	|	Расчеты.Контрагент КАК СубконтоКт1,
	|	Расчеты.Договор КАК СубконтоКт2,
	|	НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
	|
	|	Строки.СуммаВзаиморасчетов КАК ВалютнаяСуммаКт,
	|	0 КАК КоличествоКт,
	|	0 КАК СуммаНУКт,
	|	0 КАК СуммаПРКт,
	|	0 КАК СуммаВРКт,
	|	""Отражение в расходах платы по системе """"Платон"""""" КАК Содержание
	|ИЗ
	|	ДокументыКОтражению КАК ДокументыКОтражению
	|	
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОтчетОператораСистемыПлатон КАК Операция
	|	ПО ДокументыКОтражению.Ссылка = Операция.Ссылка
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОтчетОператораСистемыПлатон.ОС КАК Строки
	|	ПО Строки.Ссылка = Операция.Ссылка
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютахУчета КАК Суммы
	|	ПО Суммы.Регистратор = Строки.Ссылка
	|		И Суммы.ИдентификаторСтроки = Строки.ИдентификаторСтроки
	|		И Суммы.СуммаБезНДСРегл <> 0
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СтатьиРасходов КАК СтатьиПрочихОпераций
	|	ПО Строки.СтатьяРасходов = СтатьиПрочихОпераций.Ссылка
	|		И СтатьиПрочихОпераций.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаПрочиеАктивы)
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СтатьиРасходов КАК СтатьиНДСРаспределяется
	|	ПО Строки.СтатьяРасходов = СтатьиНДСРаспределяется.Ссылка
	|		И СтатьиНДСРаспределяется.ВариантРаздельногоУчетаНДС = ЗНАЧЕНИЕ(Перечисление.ВариантыРаздельногоУчетаНДС.Распределение)
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ ВТРасчетыСПоставщиками КАК Расчеты
	|	ПО Расчеты.Ссылка = Операция.Ссылка
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ втПараметрыНачисленияТранспортногоНалога КАК ПараметрыНачисленияТранспортногоНалога
	|	ПО ПараметрыНачисленияТранспортногоНалога.Ссылка = Строки.Ссылка
	|		И ПараметрыНачисленияТранспортногоНалога.ОсновноеСредство = Строки.ОсновноеСредство
	|";
	ТекстыОтражения.Добавить(ТекстЗапроса);
	
#КонецОбласти

#Область ТекстРасходыНаПлатон    // (Дт <97.21> :: Кт <60.1, 76, 71> )
	ТекстЗапроса = "
	|ВЫБРАТЬ // Поступление услуг (Дт <97.21> :: Кт <60.1, 76, 71> )
	|
	|	Операция.Ссылка КАК Ссылка,
	|	Операция.Дата КАК Период,
	|	Операция.Организация КАК Организация,
	|	НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
	|
	|	0 КАК Сумма,
	|	0 КАК СуммаУУ,
	|
	|	// Дт ///////////////////////////////////////////////////////////////////////////////////////////
	|	
	|	ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.Расходы) КАК ВидСчетаДт,
	|	ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.РасходыНаПлатон) КАК АналитикаУчетаДт,
	|	Строки.Подразделение КАК МестоУчетаДт,
	|
	|	ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК ВалютаДт,
	|	Строки.Подразделение КАК ПодразделениеДт,
	|	Строки.НаправлениеДеятельности КАК НаправлениеДеятельностиДт,
	|
	|	ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетДт,
	|
	|	ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.РасходыНаПлатон) КАК СубконтоДт1,
	|	НЕОПРЕДЕЛЕНО КАК СубконтоДт2,
	|	НЕОПРЕДЕЛЕНО КАК СубконтоДт3,
	|	
	|	0 КАК ВалютнаяСуммаДт,
	|	0 КАК КоличествоДт,
	|	Суммы.СуммаБезНДСРегл + Суммы.СуммаНДСРегл КАК СуммаНУДт,
	|	0 КАК СуммаПРДт,
	|	-(Суммы.СуммаБезНДСРегл + Суммы.СуммаНДСРегл) КАК СуммаВРДт,
	|	
	|	// Кт ///////////////////////////////////////////////////////////////////////////////////////////
	|	
	|	ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.РасчетыСПоставщиками) КАК ВидСчетаКт,
	|	Расчеты.ГруппаФинансовогоУчета КАК АналитикаУчетаКт,
	|	НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
	|
	|	Операция.ВалютаВзаиморасчетов КАК ВалютаКт,
	|	Расчеты.Подразделение КАК ПодразделениеКт,
	|	Расчеты.НаправлениеДеятельности КАК НаправлениеДеятельностиКт,
	|
	|	НЕОПРЕДЕЛЕНО КАК СчетКт,
	|	Расчеты.Контрагент КАК СубконтоКт1,
	|	Расчеты.Договор КАК СубконтоКт2,
	|	НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
	|
	|	Строки.СуммаВзаиморасчетов КАК ВалютнаяСуммаКт,
	|	0 КАК КоличествоКт,
	|	0 КАК СуммаНУКт,
	|	0 КАК СуммаПРКт,
	|	0 КАК СуммаВРКт,
	|	""Отражение в расходах платы по системе """"Платон"""""" КАК Содержание
	|ИЗ
	|	ДокументыКОтражению КАК ДокументыКОтражению
	|	
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОтчетОператораСистемыПлатон КАК Операция
	|	ПО ДокументыКОтражению.Ссылка = Операция.Ссылка
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОтчетОператораСистемыПлатон.ОС КАК Строки
	|	ПО Строки.Ссылка = Операция.Ссылка
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СуммыДокументовВВалютахУчета КАК Суммы
	|	ПО Суммы.Регистратор = Строки.Ссылка
	|		И Суммы.ИдентификаторСтроки = Строки.ИдентификаторСтроки
	|		И Суммы.СуммаБезНДСРегл <> 0
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ ВТРасчетыСПоставщиками КАК Расчеты
	|	ПО Расчеты.Ссылка = Операция.Ссылка
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ втПараметрыНачисленияТранспортногоНалога КАК ПараметрыНачисленияТранспортногоНалога
	|	ПО ПараметрыНачисленияТранспортногоНалога.Ссылка = Строки.Ссылка
	|		И ПараметрыНачисленияТранспортногоНалога.ОсновноеСредство = Строки.ОсновноеСредство
	|ГДЕ
	|	НЕ ПараметрыНачисленияТранспортногоНалога.Ссылка ЕСТЬ NULL
	|	И Операция.Дата < &ДатаПрекращенияДействияЛьготПлатон
	|";
	ТекстыОтражения.Добавить(ТекстЗапроса);
#КонецОбласти

	Возврат СтрСоединить(ТекстыОтражения, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
	
КонецФункции

// Функция возвращает текст запроса дополнительных временных таблиц,
// необходимых для отражения в регламентированном учете.
//
// Возвращаемое значение:
//	ТекстЗапроса - Строка - текст запроса создания временных таблиц.
//
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт
	
	СписокЗапросов = Новый Массив;
	
	#Область втПараметрыНачисленияТранспортногоНалога
	ТекстЗапроса = 
	"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Операция.Ссылка КАК Ссылка,
	|	Операция.Дата КАК Дата,
	|	Операция.Организация КАК Организация,
	|	Строки.ОсновноеСредство КАК ОсновноеСредство
	|ПОМЕСТИТЬ втТранспортныеСредства
	|ИЗ
	|	ДокументыКОтражению КАК ДокументыКОтражению
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОтчетОператораСистемыПлатон КАК Операция
	|		ПО (Операция.Ссылка = ДокументыКОтражению.Ссылка)
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОтчетОператораСистемыПлатон.ОС КАК Строки
	|		ПО (Строки.Ссылка = ДокументыКОтражению.Ссылка)
	|ГДЕ
	|	Операция.Дата < &ДатаПрекращенияДействияЛьготПлатон
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	Организация,
	|	ОсновноеСредство
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	втТранспортныеСредства.Ссылка КАК Ссылка,
	|	втТранспортныеСредства.ОсновноеСредство КАК ОсновноеСредство,
	|	втТранспортныеСредства.Организация КАК Организация,
	|	МАКСИМУМ(ПараметрыНачисленияТранспортногоНалога.Период) КАК Период
	|ПОМЕСТИТЬ втПараметрыНачисленияТранспортногоНалогаПоследнее
	|ИЗ
	|	втТранспортныеСредства КАК втТранспортныеСредства
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПараметрыНачисленияТранспортногоНалога КАК ПараметрыНачисленияТранспортногоНалога
	|		ПО (ПараметрыНачисленияТранспортногоНалога.Организация = втТранспортныеСредства.Организация)
	|			И (ПараметрыНачисленияТранспортногоНалога.ОсновноеСредство = втТранспортныеСредства.ОсновноеСредство)
	|			И (ПараметрыНачисленияТранспортногоНалога.Период <= втТранспортныеСредства.Дата)
	|			И (ПараметрыНачисленияТранспортногоНалога.ДатаИсправления = ДАТАВРЕМЯ(1,1,1))
	|			И (ПараметрыНачисленияТранспортногоНалога.Активность)
	|
	|СГРУППИРОВАТЬ ПО
	|	втТранспортныеСредства.Ссылка,
	|	втТранспортныеСредства.ОсновноеСредство,
	|	втТранспортныеСредства.Организация
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	Организация,
	|	ОсновноеСредство
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ПараметрыНачисленияТранспортногоНалогаПоследнее.Ссылка КАК Ссылка,
	|	ПараметрыНачисленияТранспортногоНалогаПоследнее.ОсновноеСредство КАК ОсновноеСредство
	|ПОМЕСТИТЬ втПараметрыНачисленияТранспортногоНалога
	|ИЗ
	|	втПараметрыНачисленияТранспортногоНалогаПоследнее КАК ПараметрыНачисленияТранспортногоНалогаПоследнее
	|
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПараметрыНачисленияТранспортногоНалога КАК ПараметрыНачисленияТранспортногоНалога
	|		ПО (ПараметрыНачисленияТранспортногоНалога.Организация = ПараметрыНачисленияТранспортногоНалогаПоследнее.Организация)
	|			И (ПараметрыНачисленияТранспортногоНалога.ОсновноеСредство = ПараметрыНачисленияТранспортногоНалогаПоследнее.ОсновноеСредство)
	|			И (ПараметрыНачисленияТранспортногоНалога.Период = ПараметрыНачисленияТранспортногоНалогаПоследнее.Период)
	|			И (ПараметрыНачисленияТранспортногоНалога.ДатаИсправления = ДАТАВРЕМЯ(1,1,1))
	|ГДЕ
	|	ПараметрыНачисленияТранспортногоНалога.ВидЗаписи = ЗНАЧЕНИЕ(Перечисление.ВидЗаписиОРегистрации.Регистрация)
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	Ссылка,
	|	ОсновноеСредство";
	СписокЗапросов.Добавить(ТекстЗапроса);
	#КонецОбласти
	
	СписокЗапросов.Добавить(Символы.ПС);
	
	Возврат СтрСоединить(СписокЗапросов, ОбщегоНазначения.РазделительПакетаЗапросов());
	
КонецФункции

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

#Область Прочее

Функция ПараметрыВыбораСтатейИАналитик() Экспорт
	
	ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
	ПараметрыВыбора.ПутьКДанным = "Объект.ОС";
	ПараметрыВыбора.Статья = "СтатьяРасходов";
	
	ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
	ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
	
	ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("ОССтатьяРасходов");
	ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("ОСАналитикаРасходов");
	
	Возврат ПараметрыВыбора;
	
КонецФункции

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

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

#КонецЕсли

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