СКД не передаются параметры , если есть процедура ПриКомпоновкеРезультата

1. yurazyuraz 02.03.23 11:36 Сейчас в теме
Добрый день коллеги, друзья !

не могу понять в чем причина

1) Есть СКД отчет, если в Модуле объекта добавлена процедура ПриКомпоновкеРезультата
которая с датами никак не работает, то при формировании отчета не передается параметры
в данном случае не передается дата начала , если ее поменять и нажать сформировать то дата начала всегда остается прежней,
при этом если просто зайти по кнопке настройки в настройки и выйти , то параметры передается в данном случае дата.

2) Если всю процедуру закомментировать, то работает нормально. Дату меняю , без захода в кнопку настройки , и отчет получает указанную в поле дату.

на скрине видно что дата остается 01.01.2023 , хотя в поле начало периода дату меняю

код процедуры ниже

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

Показать
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
2. glek 119 02.03.23 11:54 Сейчас в теме
(1) настройки = компоновщик настроек. получить настройки()
yurazyuraz; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. glek 119 02.03.23 11:54 Сейчас в теме
(1) настройки = компоновщик настроек. получить настройки()
yurazyuraz; +1 Ответить
3. yurazyuraz 02.03.23 12:04 Сейчас в теме
(2)
компоновщикнастроек.получитьнастройки()

Спасибо получилось.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот