GoncharovNN
5/14/2019 - 2:49 AM

отчет через набор данных объект #СКД

отчет через набор данных объект #СКД

//1 вручную добавляем далее поля с такими же названиями как и нашей исходной таблице и не забываем указывать тип
//2 Под набором укажите имя объекта, содержащего данные(поле- имя объекта содержащего данные "НаборДанных1"). 
//3 на вкладке параметры не забудьте добавить их вручную

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

	СтандартнаяОбработка = Ложь;

	Запрос = Новый Запрос;
	Запрос.Текст = "";

    Настройки = КомпоновщикНастроек.ПолучитьНастройки();
	НачПер = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("стПериод")).Значение.ДатаНачала;
	КонПер = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("КонецПериода")).Значение;

	Запрос.УстановитьПараметр("КонецПериода", КонПер);
	Запрос.УстановитьПараметр("НачалоПериода", НачПер);

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