Сверка расчетов / Модуль объекта

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

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

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

	СтандартнаяОбработка = Ложь;
	ПользовательскиеНастройкиМодифицированы = Ложь;

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

	ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);

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

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

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

#КонецЕсли

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