Приобретение товаров и услуг / Модуль менеджера

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

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

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

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

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

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

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

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

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

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

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

#Область Доставка

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

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

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

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

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


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

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

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


#Область Заполнение

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

		ВзятьСуммуИзЗаказа = Ложь;
		
		Если ЗаказНайден И ВыборкаТовары.КоличествоПоЗаказу >= ВыборкаТовары.Количество Тогда
			
			СтрокаТаб.Количество = ВыборкаТовары.КоличествоПоЗаказу - ВыборкаТовары.Количество;
			СтрокаТаб.КоличествоУпаковок = ?(СтрокаТаб.Количество = 0, 0, СтрокаТаб.Количество/ ВыборкаТовары.Коэффициент);
			ВзятьСуммуИзЗаказа = Истина;
			
		Иначе		
			
			СтрокаТаб.Количество = ВыборкаТовары.Количество;
			СтрокаТаб.КоличествоУпаковок = ВыборкаТовары.Количество / ВыборкаТовары.Коэффициент;
		
		КонецЕсли;
		
		Если ЗаказНайден И (ВзятьСуммуИзЗаказа ИЛИ НеобходимПересчетСумм ИЛИ РеквизитыЗаказов.ПересчитатьВВалютуДокумента) Тогда
			
			Если НЕ ВзятьСуммуИзЗаказа 
				И РеквизитыЗаказов.ПересчитатьВВалютуДокумента Тогда
				
				ПараметрыОтбора = Новый Структура("Валюта,Дата", РеквизитыЗаказов.Валюта, РеквизитыЗаказов.Дата);
				КурсВалюты = ТаблицаКурсовВалют.НайтиСтроки(ПараметрыОтбора);
				
				Если КурсВалюты.Количество() = 1 Тогда
					
					СтрокаТаб.Цена = РаботаСКурсамиВалютУТКлиентСервер.ПересчитатьПоКурсу(
							СтрокаТаб.Цена,
							КурсВалюты[0],
							СтруктураКурсовНовойВалюты);
					НеобходимПересчетСумм = Истина;
					
				КонецЕсли;
				
			КонецЕсли;
			
			Ценообразование.ПересчитатьСуммыВСтроке(СтрокаТаб, Ложь, Ложь, Истина, РеквизитыЗаказов.ЦенаВключаетНДС);
			
			Если ВзятьСуммуИзЗаказа Тогда
			
				СтрокаТаб.Количество =  ВыборкаТовары.Количество;
				СтрокаТаб.КоличествоУпаковок = ВыборкаТовары.Количество / ВыборкаТовары.Коэффициент;
				СтрокаТаб.Сумма = ВыборкаТовары.Сумма - СтрокаТаб.Сумма;
				СтрокаТаб.СуммаНДС = ВыборкаТовары.СуммаНДС - СтрокаТаб.СуммаНДС;
				СтрокаТаб.СуммаСНДС = ВыборкаТовары.СуммаСНДС - СтрокаТаб.СуммаСНДС;
				Если СтрокаТаб.ПроцентРучнойСкидки <> 0 Тогда
					СтрокаТаб.СуммаРучнойСкидки = ВыборкаТовары.СуммаРучнойСкидки - СтрокаТаб.СуммаРучнойСкидки;
				КонецЕсли;
				
				Если РеквизитыЗаказов.ПересчитатьВВалютуДокумента Тогда
					
					ПараметрыОтбора = Новый Структура("Валюта,Дата", РеквизитыЗаказов.Валюта, РеквизитыЗаказов.Дата);
					КурсВалюты = ТаблицаКурсовВалют.НайтиСтроки(ПараметрыОтбора);
					
					Если КурсВалюты.Количество() = 1 Тогда
						
						СтрокаТаб.Цена = РаботаСКурсамиВалютУТКлиентСервер.ПересчитатьПоКурсу(
								СтрокаТаб.Цена,
								КурсВалюты[0],
								СтруктураКурсовНовойВалюты);
						НеобходимПересчетСумм = Истина;
			
						СтрокаТаб.Сумма = РаботаСКурсамиВалютУТКлиентСервер.ПересчитатьПоКурсу(
								СтрокаТаб.Сумма,
								КурсВалюты[0],
								СтруктураКурсовНовойВалюты);
								
						СтрокаТаб.СуммаНДС = РаботаСКурсамиВалютУТКлиентСервер.ПересчитатьПоКурсу(
								СтрокаТаб.СуммаНДС,
								КурсВалюты[0],
								СтруктураКурсовНовойВалюты);
								
						СтрокаТаб.СуммаСНДС = РаботаСКурсамиВалютУТКлиентСервер.ПересчитатьПоКурсу(
								СтрокаТаб.СуммаСНДС,
								КурсВалюты[0],
								СтруктураКурсовНовойВалюты);
								
						СтрокаТаб.СуммаРучнойСкидки = РаботаСКурсамиВалютУТКлиентСервер.ПересчитатьПоКурсу(
								СтрокаТаб.СуммаРучнойСкидки,
								КурсВалюты[0],
								СтруктураКурсовНовойВалюты);
								
					КонецЕсли;
					
				КонецЕсли;
				
			КонецЕсли;
			
			Если ДанныеОтбора.НалогообложениеНДС = Перечисления.ТипыНалогообложенияНДС.ОблагаетсяНДСУПокупателя Тогда
				СтрокаТаб.СуммаНДС = 0;
			КонецЕсли;
			
		КонецЕсли;
		
	КонецЦикла;
	
КонецПроцедуры

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

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

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



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

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

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

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

//++ НЕ УТ
#Область ПроводкиРеглУчета

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#КонецЕсли

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

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

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

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

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

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

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

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

Процедура ПолучитьДанныеДокумента(Запрос, ДокументСсылка)

	СписокЗапросов = Новый Массив;

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

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

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

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

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

Процедура ТекстЗапросаДанныеДокументаТаблицаЭтапыГрафикаОплаты(СписокЗапросов)

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

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

Процедура ТекстЗапросаДанныеДокументаТаблицаРасшифровкаПлатежа(СписокЗапросов)

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

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

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

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

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

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

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

Процедура ОформитьПоступлениеТоваровПоОдноходовке(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)

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

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

Процедура ОформитьПриобретениеТоваровПоДвухходовке(Запрос, ТекстыЗапроса, Регистры, ДокументОбъект)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


#Область ПоступлениеРабот

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

#Область ПриемНаКомиссию

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	ТекстЗапросаКурсыВалютДокумента = ВзаиморасчетыСервер.ПолучитьТаблицуКурсовВалютНаправленийДеятельности(ТекстЗапросаКурсыВалютДокументаНаправленияДеятельности);

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

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

	#Область Закупка

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

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

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

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

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

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

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

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

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

	#Область ВнешнееПоступление_ВозвратТовар

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

	Если НЕ ДокументОбъект = Неопределено 
		И (ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки
		ИЛИ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки) Тогда

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

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

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

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

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

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

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

	// Акт об оказании услуг
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Идентификатор = "Акт";
	КомандаПечати.Представление = НСтр("ru = 'Акт об оказании услуг'");
	КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;

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

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

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

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

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

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

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

			ОбластьДанных.Параметры.Заполнить(ВыборкаПоТоварам);
			Если ЗаголовокСкидки.ЕстьСкидки Тогда
				СтруктураДанныхСуммаСкидки = Новый Структура("СуммаСкидки", 
					?(ЗаголовокСкидки.ТолькоНаценка,- ВыборкаПоТоварам.СуммаСкидки,ВыборкаПоТоварам.СуммаСкидки));
				ОбластьДанных.Параметры.Заполнить(СтруктураДанныхСуммаСкидки);
			КонецЕсли;

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

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

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

// Функция помещает необходимые данные в структуру. Структура помещается во временное хранилище.
//
// Возвращаемое значение:
//	Строка - адрес структуры данных во временном хранилище.
//
Функция ДанныеДляПечатиЭтикеток(МассивДокументов) Экспорт

	ДатаЦенообразования = ОбщегоНазначенияУТ.ПолучитьМаксимальнуюДатуДокументов(МассивДокументов);
	ИспользуетсяЦенообразование25 = ЦенообразованиеВызовСервера.ИспользуетсяЦенообразование25(ДатаЦенообразования);

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

// Функция помещает необходимые данные в структуру. Структура помещается во временное хранилище.
//
// Возвращаемое значение:
//	Строка - адрес структуры данных во временном хранилище.
//
Функция ДанныеДляПечатиЦенников(МассивДокументов) Экспорт

	ДатаЦенообразования = ОбщегоНазначенияУТ.ПолучитьМаксимальнуюДатуДокументов(МассивДокументов);
	ИспользуетсяЦенообразование25 = ЦенообразованиеВызовСервера.ИспользуетсяЦенообразование25(ДатаЦенообразования);

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

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

Функция СформироватьПечатнуюФормуАктОбОказанииУслуг(МассивОбъектов, ОбъектыПечати)
	
	УстановитьПривилегированныйРежим(Истина);

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

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

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

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

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

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

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

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

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

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

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

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

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

Функция ПолноеИмяОбъекта()
	Возврат "Документ.ПриобретениеТоваровУслуг";
КонецФункции

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

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

#Область Заполнение

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

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

#Область ТекущиеДела

Функция ТекстЗапросаЗаказыКОформлению(Организация = Неопределено, Склад = Неопределено) Экспорт

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

Функция ТекстЗапросаРаспоряженияНаПриемку(Организация = Неопределено, Склад = Неопределено) Экспорт

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

Функция ЕстьЗаказыКОформлению(Организация = Неопределено, Склад = Неопределено) Экспорт
		
	ТекстЗапроса = ТекстЗапросаЗаказыКОформлению(Организация, Склад);

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

Функция ЕстьРаспоряженияНаПриемку(Организация = Неопределено, Склад = Неопределено) Экспорт
	
	ТекстЗапроса = ТекстЗапросаРаспоряженияНаПриемку(Организация, Склад);

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

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

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

Функция ИмяФормыСпискаПриобретениеТоваровУслуг() Экспорт
	
	Возврат "Документ.ПриобретениеТоваровУслуг.Форма.ФормаСпискаДокументов";
	
КонецФункции

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

#Область ОбновлениеИнформационнойБазы

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

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

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

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

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

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

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

#КонецЕсли

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