Отчет комитенту о продажах / Модуль менеджера

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

#Область УчетНДС

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

	ПараметрыЗаполнения = УчетНДСУПКлиентСервер.ПараметрыЗаполненияНалогообложенияНДСЗакупки();
	
	ПараметрыЗаполнения.Контрагент = Объект.Контрагент;
	ПараметрыЗаполнения.Договор = Объект.Договор;
	ПараметрыЗаполнения.ПриемНаКомиссию = Истина; 
	ПараметрыЗаполнения.Период  = Объект.Дата;
	
	Возврат ПараметрыЗаполнения;
	
КонецФункции

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

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

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

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

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

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

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

#Область СлужебныеПроцедурыИФункции

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

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

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

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

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

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

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

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

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

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

	Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуУпр",  Коэффициенты.КоэффициентПересчетаВВалютуУПР);
	Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуРегл", Коэффициенты.КоэффициентПересчетаВВалютуРегл);
	
КонецПроцедуры

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

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

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

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

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

	РегистрыСведений.СуммыДокументовВВалютахУчета.СформироватьПоДаннымДокумента(
		Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаДанных);
	
КонецПроцедуры

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

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

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

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

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

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

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

	ВзаиморасчетыСервер.ПроведениеПродажи(Запрос, ТекстыЗапроса, Регистры, ТекстПродажа, ТекстПланированиеОплат, ТекстЗачетАванса);

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

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

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

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

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

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

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

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

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

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

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

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

// Прочее

Процедура УстановитьПараметр(ОбластьМакета, ИмяПараметра, ЗначениеПараметра)
	ОбластьМакета.Параметры.Заполнить(Новый Структура(ИмяПараметра, ЗначениеПараметра));
КонецПроцедуры

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

#Область ШаблоныСообщений

// Вызывается при подготовке шаблонов сообщений и позволяет переопределить список реквизитов и вложений.
//
// Параметры:
//  Реквизиты               - ДеревоЗначений - список реквизитов шаблона:
//         * Имя            - Строка - Уникальное имя общего реквизита.
//         * Представление  - Строка - Представление общего реквизита.
//         * Тип            - Тип    - Тип реквизита. По умолчанию строка.
//         * Формат         - Строка - Формат вывода значения для чисел, дат, строк и булевых значений.
//  Вложения                - ТаблицаЗначений - печатные формы и вложения:
//         * Имя            - Строка - Уникальное имя вложения.
//         * Представление  - Строка - Представление варианта.
//         * ТипФайла       - Строка - Тип вложения, который соответствует расширению файла: "pdf", "png", "jpg", mxl"
//                                      и др.
//  ДополнительныеПараметры - Структура - дополнительные сведения о шаблоне сообщений.
//
Процедура ПриПодготовкеШаблонаСообщения(Реквизиты, Вложения, ДополнительныеПараметры) Экспорт
	
КонецПроцедуры

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

// Заполняет список получателей SMS при отправке сообщения сформированного по шаблону.
//
// Параметры:
//   ПолучателиSMS - ТаблицаЗначений - список получается SMS:
//     * НомерТелефона - Строка - номер телефона, куда будет отправлено сообщение SMS.
//     * Представление - Строка - представление получателя сообщения SMS.
//     * Контакт       - СправочникСсылка - контакт, которому принадлежит номер телефона.
//  ПредметСообщения - ЛюбаяСсылка - ссылка на объект являющийся источником данных.
//
Процедура ПриЗаполненииТелефоновПолучателейВСообщении(ПолучателиSMS, ПредметСообщения) Экспорт
	
КонецПроцедуры

// Заполняет список получателей письма при отправки сообщения сформированного по шаблону.
//
// Параметры:
//   ПолучателиПисьма - ТаблицаЗначений - список получается письма:
//     * Адрес           - Строка - адрес электронной почты получателя.
//     * Представление   - Строка - представление получается письма.
//     * ВариантОтправки - Строка - Варианты отправки письма: "Кому", "Копия", "СкрытаяКопия", "ОбратныйАдреса";
//  ПредметСообщения - ЛюбаяСсылка - ссылка на объект являющийся источником данных.
//
Процедура ПриЗаполненииПочтыПолучателейВСообщении(ПолучателиПисьма, ПредметСообщения) Экспорт
	
КонецПроцедуры

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

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

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

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

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

#КонецЕсли

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