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