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

По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот