Отчет по комиссии между организациями / Модуль менеджера

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

	Возврат МассивСтруктур;
	
КонецФункции

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

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

#КонецЕсли

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

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

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

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

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

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

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

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

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

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

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

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

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

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

		АналитикаВзаиморасчетовКомиссионерКомитент = РегистрыСведений.АналитикаУчетаПоПартнерам.ЗначениеКлючаАналитики(СтруктураКомиссионерКомитент);
	Иначе
		АналитикаВзаиморасчетовКомитентКомиссионер = АналитикаКомитентКомиссионер;
		АналитикаВзаиморасчетовКомиссионерКомитент = АналитикаКомиссионерКомитент;
	КонецЕсли;
	
	Запрос.УстановитьПараметр("АналитикаКомитентКомиссионер",               АналитикаКомитентКомиссионер);
	Запрос.УстановитьПараметр("АналитикаКомиссионерКомитент",               АналитикаКомиссионерКомитент);
	Запрос.УстановитьПараметр("АналитикаВзаиморасчетовКомитентКомиссионер", АналитикаВзаиморасчетовКомитентКомиссионер);
	Запрос.УстановитьПараметр("АналитикаВзаиморасчетовКомиссионерКомитент", АналитикаВзаиморасчетовКомиссионерКомитент);
	
КонецПроцедуры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#Область ПартионныйУчет

Функция ОписаниеРегистровУчетаЗатратИСебестоимости(Документ) Экспорт
	
	ОписаниеРегистров = Новый Массив;
	ОписаниеРегистров.Добавить(Метаданные.РегистрыНакопления.СебестоимостьТоваров);
	
	Возврат ОписаниеРегистров;
	
КонецФункции

Функция УстановитьДополнительныеПараметрыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено) Экспорт
	
	ДополнительныеПараметры = Новый Массив;
	ДополнительныеПараметры.Добавить("АналитикаКомитентКомиссионер");
	
	Если Запрос <> Неопределено Тогда
		УстановитьПараметрыАналитикВзаиморасчетов(Запрос);
	КонецЕсли;
	
	Возврат ДополнительныеПараметры;
	
КонецФункции

Функция СформироватьДополнительныеТаблицыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено, ТекстыЗапроса = Неопределено) Экспорт
	
	ДополнительныеТаблицы = Новый Массив;
	ДополнительныеТаблицы.Добавить("ВтТаблицаВидыЗапасов");
	
	Если Запрос <> Неопределено Тогда
	
		Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[0], ТекстыЗапроса) Тогда
			ТекстЗапросаВтТаблицаВидыЗапасов(Запрос, ТекстыЗапроса);
		КонецЕсли;
		
	КонецЕсли;
	
	Возврат ДополнительныеТаблицы;
	
КонецФункции

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

	Возврат ОписаниеОпераций;
	
КонецФункции

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

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

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

// Заполняет список команд печати.
//
// Параметры:
//   КомандыПечати - см. УправлениеПечатью.СоздатьКоллекциюКомандПечати
//
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт

	// Отчет комиссионера о продажах
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.МенеджерПечати = "Обработка.ПечатьОтчетовПоКомиссии";
	КомандаПечати.Идентификатор = "ОтчетКомиссионера";
	КомандаПечати.Представление = НСтр("ru = 'Отчет комиссионера о продажах'");
	КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
	КомандаПечати.ОсновнаяПечатнаяФорма = Истина;
	КомандаПечати.НаименованиеПечатнойФормы = НСтр("ru = 'Отчет комиссионера о продажах'");

	ОтчетПоКомиссииМеждуОрганизациямиЛокализация.ДобавитьКомандыПечати(КомандыПечати);

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

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

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

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

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

#Область Состояние

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

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

// Осуществляет инициализацию структуры состояния расчетов.
Функция СтруктураСостоянияРасчетовПолучатель()
	
	СтруктураСостоянияРасчетов = Новый Структура;
	СтруктураСостоянияРасчетов.Вставить("СуммаОплатыПолучатель", 0);
	СтруктураСостоянияРасчетов.Вставить("СуммаПоступления", 0);
	СтруктураСостоянияРасчетов.Вставить("ПроцентОплатыПолучатель", 0);
	СтруктураСостоянияРасчетов.Вставить("ПроцентПоступления", 0);
	СтруктураСостоянияРасчетов.Вставить("СуммаПросроченнойОплатыПолучатель", 0);
	СтруктураСостоянияРасчетов.Вставить("СуммаДолгаПолучатель", 0);
	СтруктураСостоянияРасчетов.Вставить("ПроцентДолгаПолучатель", 0);
	СтруктураСостоянияРасчетов.Вставить("СуммаКОплатеПолучатель", 0);
	
	Возврат СтруктураСостоянияРасчетов
	
КонецФункции

// Осуществляет инициализацию структуры состояния расчетов.
//
Функция СтруктураСостоянияРасчетовОтправитель()
	
	СтруктураСостоянияРасчетов = Новый Структура;
	СтруктураСостоянияРасчетов.Вставить("СуммаОплатыОтправитель", 0);
	СтруктураСостоянияРасчетов.Вставить("СуммаОтгрузки", 0);
	СтруктураСостоянияРасчетов.Вставить("ПроцентОплатыОтправитель", 0);
	СтруктураСостоянияРасчетов.Вставить("ПроцентОтгрузки", 0);
	СтруктураСостоянияРасчетов.Вставить("СуммаПросроченнойОплатыОтправитель", 0);
	СтруктураСостоянияРасчетов.Вставить("СуммаДолгаОтправитель", 0);
	СтруктураСостоянияРасчетов.Вставить("ПроцентДолгаОтправитель", 0);
	СтруктураСостоянияРасчетов.Вставить("СуммаКОплатеОтправитель", 0);
	
	Возврат СтруктураСостоянияРасчетов
	
КонецФункции

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

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

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

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

#КонецЕсли

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