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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	ДатаДокумента = ?(ЗначениеЗаполнено(Объект.Дата), Объект.Дата, ТекущаяДатаСеанса());
	
	ПродукцияИОтходыПриПоступленииВОднойТЧ = РасчетСебестоимостиПовтИсп.ПартионныйУчетВерсии22(ДатаДокумента);

	Возврат ПродукцияИОтходыПриПоступленииВОднойТЧ;

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#Область ГруппировкаЗатрат

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

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

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

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

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

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

#КонецЕсли

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

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

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

#Область Инициализация

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#КонецЕсли

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