0
SkillUp
10.02.20
✎
12:34
|
Здравствуйте, прошу помочь. Программно вывожу отчет СКД, если изменить настройки (допустим сфомировать за другой период). То выводит данные, из настроек, которые заполнили впервый раз, после открытия (т.е. первые настройки сохраняются, и формируется только по ним отчет). Как программно обновлять настройки каждый раз? В какой процедуре? Короче "плаваю" в этом вопросе. Форма отчета пустая..
При программном выводе отчета у меня только одна процедура:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
1) Начало: СтандартнаяОбработка = Ложь;
2) Программное заполнение полей СКД: ...
3) Завершение процедуры:
//Помещаем в переменную данные о расшифровке данных
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
//Формируем макет, с помощью компоновщика макета
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
//Передаем в макет компоновки схему, настройки и данные расшифровки
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
//Выполним компоновку с помощью процессора компоновки
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
//Передаем внешний набор данных
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки);
//Очищаем поле табличного документа
ДокументРезультат.Очистить();
//Выводим результат в табличный документ
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
КонецПроцедуры
|
|
2
fisher
10.02.20
✎
12:51
|
Если это УФ и используются пользовательские настройки СКД, то и программно изменять настройки нужно именно через "ПользовательскиеНастройки".
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
В этой строчке непонятно откуда у тебя берутся "Настройки". Штатно, если хочешь получить настройки с учетом "ПользовательскиеНастройки", там должны быть КомпоновщикНастроек.ПолучитьНастройки()
|
|
5
SkillUp
10.02.20
✎
13:59
|
Может кому-то поможет:
ПараметрНач=КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ДатаНач"));
ЗаполнитьЗначенияСвойств(КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ПараметрНач.ИдентификаторПользовательскойНастройки),параметр);
ПараметрКон=КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ДатаКон"));
ЗаполнитьЗначенияСвойств(КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ПараметрКон.ИдентификаторПользовательскойНастройки),параметр);
Поэлементно, работает так.
|
|