HelpF.pro

Как программно Установить значения Параметров для отчета СКД?

Например у отчет есть следующие параметры:
title

Программно их задать можно следующим образом:
Код 1C v 8.х
 //Последовательно, начиная с 0 задаем значения параметров: ( НачПериода это 0 элемент, КонПериода - 1, ВыбНалог =2 )
КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[0].Значение = НачПериода;
КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[1].Значение = КонПериода;
КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[2].Значение = ВыбНалог;   


Есть параметр, предопределенное при открытии отчета каждый раз. Как его правильно указать в СКД?
Можно делать так:
Код 1C v 8.х
 Процедура ПриОткрытии()
//........................
ПараметрДанных= КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Товар");
ПараметрДанных.Значение = Справочники.Номенклатура.НайтиПоНаименованию("Гвозди");
ПараметрДанных.Использование=Истина;
//...........................................
КонецПроцедуры   

или
Код 1C v 8.х
 //Пропишем ТОЧКИ МАРШРУТА
	СписТочек = Новый СписокЗначений;
	СписТочек.Добавить(БизнесПроцессы.м_Документооборот.ТочкиМаршрута.ОПФПД);
	СписТочек.Добавить(БизнесПроцессы.м_Документооборот.ТочкиМаршрута.ОСФПД);
	
	ПараметрСКД = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ТочкаМаршрута");
	ПараметрСКД.Значение = СписТочек;
	ПараметрСКД.Использование = ИСТИНА;
   


Для УП
Код 1C v 8.2 УП
 &НаСервере 
Процедура ПриСозданииНаСервере(Отказ,   СтандартнаяОбработка) 

УстановитьПривилегированныйРежим(Истина);

СтандартнаяОбработка =  Ложь;   //   если не  отключить  стандартную обработку,   то  настройки затрутся

ДатаОтчета =  ТекушаяДата();
3начениеПараметра =  Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Найти3начениеПараметра(Новый ПараметрКомпоновкиДанных("ДатаНач"));
Если НЕ   ЗначениеПараметра =  Неопределено  Тогда
ЗначениеПараметра.Использование  = Истина;
ЗначениеПараметра.Значение  =  КонецДня(ДатаОтчета)   -   (7 * 86400); 
КонецЕсли;

3начениеПараметра  =  Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Найти3начениеПараметра(Новый ПараметрКомпоновкиДанных("Свойство1")); 
Если НЕ   ЗначениеПараметра =  Неопределено  Тогда
ЗначениеПараметра.Использование  = Истина;
3начениеПараметра   =  Справочники.3наченияСвойствОбъектов.НайтиПоКоду("000000004"); 
КонецЕсли;
КонецПроцедуры   

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq/view/829.html