Расхождения при отражении движения зерна и продуктов его переработки / Модуль объекта

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

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

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	
	ОтчетыИС.ИнициализироватьСхемуКомпоновки(ЭтотОбъект);
	
КонецПроцедуры

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

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

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

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

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

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

#КонецЕсли

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