|
ЗУП 3.1 Заполнение программно нового параметра для СКД типового отчета | ☑ | ||
---|---|---|---|---|
0
Wefast
15.03.17
✎
15:32
|
Есть отчет Изменение штатного расписания.
В запросе СКД для поля добавил условие. Добавил новый параметр Формы отчета нет. Есть процедура в модуле объекта: Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) ИнициализироватьОтчет(); КонецПроцедуры; Пишу внутри процедуры: Параметры = КомпоновщикНастроек.Настройки.ПараметрыДанных; Параметры.УстановитьЗначениеПараметра("Пользователи", ПараметрыСеанса.ТекущийПользователь); Пробовал делать так: ЗначениеПараметраВРРайонныйКоэффициент = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Пользователи")); ЗначениеПараметраВРРайонныйКоэффициент.Значение = ПараметрыСеанса.ТекущийПользователь; ЗначениеПараметраВРРайонныйКоэффициент.Использование = Истина; В отладке вроде все проставляется, а по факту параметр видимо не заполняется Это я проверил более простым способ. добавив в условие поля Выбор когда &П =1 Тогда 12334 иначе Поле1 Конец Выводит мое Поле1. Если в скд настроить параметр, так чтобы он был виден на форме, и после заполнения его на форме, все работает. Если я пишу: Стандартная обработка = ЛОЖЬ; Параметры = КомпоновщикНастроек.Настройки.ПараметрыДанных; Параметры.УстановитьЗначениеПараметра("Пользователи", ПараметрыСеанса.ТекущийПользователь); Параметры.УстановитьЗначениеПараметра("ттт", 1); ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; // Создаем данные расшифровки КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; // Создаем компоновщик макета // Инициализируем макет компоновки используя схему компоновки данных // и созданные ранее настройки и данные расшифровки СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); // Скомпонуем результат ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки); ДокументРезультат.Очистить(); // Выводим результат в табличный документ ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновки); То на форму ничего не выводится, так как видимо при стандартной обработке происходит что то еще. Отладкой прошелся, запрос нигде не подменяется в общих модулях. Может я что то упускаю? |
|||
1
Wefast
15.03.17
✎
16:12
|
в ПриСозданииНаСервере написал:
ЭтотОбъект.СхемаКомпоновкиДанных.Параметры.Пользователи.Значение = ПараметрыСеанса.ТекущийПользователь; |
|||
2
Wefast
16.03.17
✎
09:08
|
Обманул, так все и не работает как нужно
|
|||
3
aleks_default
16.03.17
✎
10:25
|
При чем тут схема компоновки когда параметры в настройках менять нужно.
|
|||
4
Wefast
16.03.17
✎
10:57
|
Хватило в событие "ПриКомпановкеДанных"
Добавить строку КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Пользователи", ПараметрыСеанса.ТекущийПользователь); Без понятия почему я раньше думал что не работает |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |