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