1C 8.2 Как программно задать макет СКД для отчета
☑
0
kozhem1990
26.10.18
✎
09:15
Здравствуйте! Такой вопрос: как передать программно в отчет один из нескольких макетов СКД? В зависимости от того, какой пользователь запускает отчет, необходимо выбирать определенную схему компоновки данных. Заранее благодарю.
1
Lexey_
26.10.18
✎
09:22
2
Пробел
26.10.18
✎
09:22
Придется полностью программно формировать отчет в обработчике события ПриКомпоновкеДанных
СхемаКомпоновкиДанных = Обработки.ОбработкаВводаПоказанийСчетчиков.ПолучитьМакет("Макет");
Настройки = КомпоновщикНастроек.ПолучитьНастройки();
ПараметрыДанных = Настройки.ПараметрыДанных.Элементы;
ЭлементПериод = ПараметрыДанных.Найти("Период");
ЭлементПериод.Использование = Истина;
ЭлементПериод.Значение = КонецМесяца(Объект.ОкончаниеПериода);
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,
//КомпоновщикНастроек.Настройки, , ,
Настройки, , ,
Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
Результат = Новый ТаблицаЗначений;
ПроцессорВывода.УстановитьОбъект(Результат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
3
kozhem1990
26.10.18
✎
09:51
(1), (2) спасибо)
Основная теорема систематики: Новые системы плодят новые проблемы.