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

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

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

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

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

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

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

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

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

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

// Производит инициализацию структуры параметров заполнения по реквизитам шапки и по заказам.
//
// Параметры:
//  ПараметрыЗаполнения	 - Структура - Параметры по умолчанию получаемые в методе ПараметрыЗаполненияДокумента()
//  РеквизитыШапки		 - Структура - Содержит ключи на основании которых будет происходить заполнение
//  МассивЗаказов		 - Массив - Ссылки на заказы по которым будет происходить заполнение.
//
Процедура ИнициализироватьПараметрыЗаполнения(ПараметрыЗаполнения, РеквизитыШапки, МассивЗаказов) Экспорт
	
	ПараметрыЗаполнения.МассивЗаказов	= МассивЗаказов;
	
	ПараметрыЗаполнения.РеквизитыШапки	= РеквизитыШапки;
	ПараметрыЗаполнения.ПоЗаказам		= ТипЗнч(МассивЗаказов[0]) = Тип("ДокументСсылка.ЗаказПереработчику2_5");
	
КонецПроцедуры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#Область Округление

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

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

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

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

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

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

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

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


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

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

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

	Возврат СтруктураРеквизитов;

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

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

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

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

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

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

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

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

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


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

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

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

#Область ГруппыЗатрат

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

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

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

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

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

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

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

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

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

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

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

#Область ВыборСтатейИАналитик

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

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

#Область НастройкаСчетовУчета

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

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

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

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

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

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

	Возврат ПараметрыЗаполнения;
	
КонецФункции

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

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

#Область НаименованиеВходящихДокументов

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

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

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

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

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

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

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

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

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

#Область Взаиморасчеты

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

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

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

#КонецЕсли

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#Область ТекстыЗапросовПроведения

#Область ТекстыЗапросовВременныеТаблицы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#Область ВидыЗапасов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#Область ОтражениеНДС

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// Заполняет таблицу объекта по нормативам
// 
// Параметры:
// 	ТаблицаДокумента - ТабличнаяЧасть
// 	Нормативы - ТаблицаЗначений
// 	НомерГруппыЗатрат - Число
// 	СтруктураДействий - Структура
//
Процедура ЗаполнитьПоНормативам(ТаблицаДокумента, Нормативы, НомерГруппыЗатрат = Неопределено, СтруктураДействий = Неопределено)
	
	ПараметрыЗаполненияЦены = Неопределено;
	ЗаполнитьЦенуПродажи    = Ложь;
	Если Не СтруктураДействий = Неопределено Тогда
		ЗаполнитьЦенуПродажи = СтруктураДействий.Свойство("ЗаполнитьЦенуПродажи", ПараметрыЗаполненияЦены)
	КонецЕсли;
	
	КэшированныеЗначения = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруКэшируемыеЗначения();
	ОбрабатываемыеСтроки = Новый Массив;
	ОбрабатываемыеСтрокиСЦеной = Новый Массив;
	
	Для Каждого ТекСтрока Из Нормативы Цикл
		
		НоваяСтрока = ТаблицаДокумента.Добавить();
		ЗаполнитьЗначенияСвойств(НоваяСтрока, ТекСтрока);
		
		Если ЗначениеЗаполнено(НомерГруппыЗатрат)
			И Не ЗначениеЗаполнено(НоваяСтрока.НомерГруппыЗатрат) Тогда
			НоваяСтрока.НомерГруппыЗатрат = НомерГруппыЗатрат;
		КонецЕсли;
		
		Если ЗаполнитьЦенуПродажи
			И Не ЗначениеЗаполнено(НоваяСтрока.Цена) Тогда
			ОбрабатываемыеСтрокиСЦеной.Добавить(НоваяСтрока);
		ИначеЕсли Не СтруктураДействий = Неопределено Тогда
			ОбрабатываемыеСтроки.Добавить(НоваяСтрока);
		КонецЕсли;
		
	КонецЦикла;

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

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

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

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

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

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

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

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

#Область ГруппыЗатрат

Процедура ОбновитьГруппуЗатрат(ГруппыЗатрат, ОписаниеГруппыЗатрат)
	
	СтруктураОтбора = Новый Структура("НомерГруппыЗатрат", ОписаниеГруппыЗатрат.НомерГруппыЗатрат);
	НайденныеСтроки = ГруппыЗатрат.НайтиСтроки(СтруктураОтбора);
	Если Не НайденныеСтроки.Количество() = 0 Тогда
		ЗаполнитьЗначенияСвойств(НайденныеСтроки[0], ОписаниеГруппыЗатрат);
	КонецЕсли;
	
КонецПроцедуры

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

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

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

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

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

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

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

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

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

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

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

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

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

#Область ФормированиеГиперссылкиВЖурналеДокументовПереработки

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

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

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

#КонецЕсли

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