Возврат товаров между организациями / Модуль менеджера

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

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

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

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

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

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

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

//++ НЕ УТ

#Область НеоперативноеДопроведение

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

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

	Возврат Запрос.Выполнить();

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

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

//-- НЕ УТ

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

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

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

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

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

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

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

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

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

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

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

//++ НЕ УТ

// Функция возвращает текст запроса для отражения документа в регламентированном учете.
//
// Возвращаемое значение:
//	Строка - Текст запроса
//
Функция ТекстОтраженияВРеглУчете() Экспорт

	Возврат ВозвратТоваровМеждуОрганизациямиЛокализация.ТекстОтраженияВРеглУчете();

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

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

	Возврат ВозвратТоваровМеждуОрганизациямиЛокализация.ТекстЗапросаВТОтраженияВРеглУчете();

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

//-- НЕ УТ

#Область Серии

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

//++ НЕ УТ
#Область ПодакцизныеТовары

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

#КонецОбласти
//-- НЕ УТ

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

#КонецЕсли

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	ИмяРегистра = "ВременнаяТаблицаКурсыВалютДокумента";

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

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

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

	ВзаиморасчетыСервер.ПроведениеВозвратаТоваровОтКлиента(Запрос, ТекстыЗапроса, Регистры, ТекстВозврат, ТекстРасшифровкаПлатежа);
	
	#КонецОбласти
	
КонецПроцедуры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Функция ОписаниеОперацийУчетаВыручки(Документ) Экспорт
	
	ОписаниеОпераций = Новый Массив;
	
КонецФункции

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

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

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

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

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

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

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

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

		Пока ВыборкаПоТоварам.Следующий() Цикл
			
			НомерСтроки = НомерСтроки + 1;
			
			ОбластьНомера.Параметры.Заполнить(Новый Структура("НомерСтроки", НомерСтроки));
			ТабличныйДокумент.Вывести(ОбластьНомера);
			
			Если ВыводитьКоды Тогда
				СтруктураДанныхКоды = Новый Структура("Артикул", ВыборкаПоТоварам[ИмяКолонкиКодов]);
				ОбластьКодов.Параметры.Заполнить(СтруктураДанныхКоды);
				ТабличныйДокумент.Присоединить(ОбластьКодов);
			КонецЕсли;
			
			ОбластьТовар.Параметры.Заполнить(ВыборкаПоТоварам);
			ДополнительныеПараметрыПолученияНаименованияДляПечати = НоменклатураКлиентСервер.ДополнительныеПараметрыПредставлениеНоменклатурыДляПечати();
			ДополнительныеПараметрыПолученияНаименованияДляПечати.ВозвратнаяТара = ВыборкаПоТоварам.ЭтоВозвратнаяТара;
			ДополнительныеПараметрыПолученияНаименованияДляПечати.КодОсновногоЯзыка = ОбщегоНазначения.КодОсновногоЯзыка();
			
			Товар = НоменклатураКлиентСервер.ПредставлениеНоменклатурыДляПечати(
				ВыборкаПоТоварам.ТоварНаименованиеПолное,
				ВыборкаПоТоварам.Характеристика,
				,
				,
				ДополнительныеПараметрыПолученияНаименованияДляПечати);

			СтруктураДанныхТовар = Новый Структура("Товар", Товар);
			ОбластьТовар.Параметры.Заполнить(СтруктураДанныхТовар);
			ТабличныйДокумент.Присоединить(ОбластьТовар);
			
			ОбластьДанных.Параметры.Заполнить(ВыборкаПоТоварам);
			ТабличныйДокумент.Присоединить(ОбластьДанных);
			
			Если ДанныеПечати.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ВозвратТоваровКомитенту Тогда
				
				Сумма    = Сумма    + ВыборкаПоТоварам.Сумма;
				СуммаНДС = СуммаНДС + ВыборкаПоТоварам.СуммаНДС;
				
			КонецЕсли;
				
		КонецЦикла;
		
		// Выводим подвал
		
		Если Не ДанныеПечати.ЭтоПередачаНаКомиссию Тогда
			
			ОбластьНомера = Макет.ПолучитьОбласть("ПодвалТаблицы|НомерСтроки");
			ОбластьКодов  = Макет.ПолучитьОбласть("ПодвалТаблицы|КолонкаКодов");
			ОбластьТовар  = Макет.ПолучитьОбласть("ПодвалТаблицы|Товар");
			ОбластьДанных = Макет.ПолучитьОбласть("ПодвалТаблицы|Данные");
			
			ТабличныйДокумент.Вывести(ОбластьНомера);
			
			Если ВыводитьКоды Тогда
				ТабличныйДокумент.Присоединить(ОбластьКодов);
			КонецЕсли;
			
			ТабличныйДокумент.Присоединить(ОбластьТовар);
				
			СтруктураДанныхВсего = Новый Структура;
			СтруктураДанныхВсего.Вставить("Всего", ФормированиеПечатныхФорм.ФорматСумм(Сумма));
			ОбластьДанных.Параметры.Заполнить(СтруктураДанныхВсего);
			ТабличныйДокумент.Присоединить(ОбластьДанных);
			
		КонецЕсли;
			
		// Выводим ИтогоНДС
		
		Если ДанныеПечати.УчитыватьНДС И Не ДанныеПечати.ЭтоПередачаНаКомиссию Тогда
			
			ОбластьНомера = Макет.ПолучитьОбласть("ПодвалТаблицыНДС|НомерСтроки");
			ОбластьКодов  = Макет.ПолучитьОбласть("ПодвалТаблицыНДС|КолонкаКодов");
			ОбластьТовар  = Макет.ПолучитьОбласть("ПодвалТаблицыНДС|Товар");
			ОбластьДанных = Макет.ПолучитьОбласть("ПодвалТаблицыНДС|Данные");
			
			ТабличныйДокумент.Вывести(ОбластьНомера);
			
			Если ВыводитьКоды Тогда
				ТабличныйДокумент.Присоединить(ОбластьКодов);
			КонецЕсли;
			
			ТабличныйДокумент.Присоединить(ОбластьТовар);
			
			СтруктураДанныхНДС = Новый Структура;
			СтруктураДанныхНДС.Вставить("НДС", ?(ДанныеПечати.ЦенаВключаетНДС, 
				НСтр("ru = 'В том числе НДС:'",ОбщегоНазначения.КодОсновногоЯзыка()), 
				НСтр("ru = 'Сумма НДС:'", ОбщегоНазначения.КодОсновногоЯзыка())));
			СтруктураДанныхНДС.Вставить("ВсегоНДС", ФормированиеПечатныхФорм.ФорматСумм(СуммаНДС));
			ОбластьДанных.Параметры.Заполнить(СтруктураДанныхНДС);
			ТабличныйДокумент.Присоединить(ОбластьДанных);
			
		КонецЕсли;
		
		Если Не ДанныеПечати.ЭтоПередачаНаКомиссию Тогда
			
			// Выводим Сумму прописью
			
			ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
			СуммаКПрописи = Сумма + ?(ДанныеПечати.ЦенаВключаетНДС, 0, СуммаНДС);
			
			ИтоговаяСтрока = НСтр("ru = 'Всего наименований %КоличествоНаименований%, на сумму %СуммаДокумента%'", ОбщегоНазначения.КодОсновногоЯзыка()) + " ";
			ИтоговаяСтрока = СтрЗаменить(ИтоговаяСтрока, "%КоличествоНаименований%", ВыборкаПоТоварам.Количество());
			ИтоговаяСтрока = СтрЗаменить(ИтоговаяСтрока, "%СуммаДокумента%", ФормированиеПечатныхФорм.ФорматСумм(СуммаКПрописи, ДанныеПечати.Валюта));

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

	Если ПривилегированныйРежим() Тогда
		УстановитьПривилегированныйРежим(Ложь);
	КонецЕсли;
	
	Возврат ТабличныйДокумент;

КонецФункции // СформироватьПечатнуюФормуВозвратПоставщику()

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

Функция ПолучитьДанныеДляПечатнойФормыСчетаНаОплату(ПараметрыПечати, МассивОбъектов, КодЯзыка = Неопределено) Экспорт
	
	Возврат ДанныеДляПечатныхФормСчетаНаОплатуИзвещения(ПараметрыПечати, МассивОбъектов, КодЯзыка);
	
КонецФункции

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

	ПакетРезультатовЗапроса = Запрос.ВыполнитьПакет();
	
	СтруктураДанныхДляПечати = Новый Структура;
	СтруктураДанныхДляПечати.Вставить("РезультатПоШапке", ПакетРезультатовЗапроса[0]);
	СтруктураДанныхДляПечати.Вставить("РезультатПоЭтапамОплаты", ПакетРезультатовЗапроса[1]);
	СтруктураДанныхДляПечати.Вставить("РезультатПоТабличнойЧасти", ПакетРезультатовЗапроса[ПакетРезультатовЗапроса.Количество() - 1]);
	
	Возврат СтруктураДанныхДляПечати;
	
КонецФункции

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

#Область ИнициализацияИЗаполнение

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

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

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

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

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

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

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

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

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

#КонецЕсли

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