1С СКД запросы: 2 способа передать таблицу значений в СКД отчет

Есть несколько способов добавить параметр-таблицу значений в схему компоновки данных:

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

Процедура УстановкаПараметровДляВызоваЧерез_ПриКомпоновкеРезультата(Параметры = Неопределено) Экспорт
	
	// Получаем
	Настройки = КомпоновщикНастроек.ПолучитьНастройки();
    
    Если ДобавитьЭтиПараметры = Неопределено Тогда
    	ДобавитьЭтиПараметры = ПараметрыДляЗапроса();
    КонецЕсли;
    Для каждого Параметр Из Параметры  Цикл
        УстановитьПараметрДанныхНастроекКомпоновщикаСкдПриНаличии(Настройки,Параметр.Ключ,Параметр.Значение);
    КонецЦикла;
	// устанавливаем
	КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);  
	
КонецПроцедуры 

2. Добавить в менеджер временных таблиц, а затем вызвать компоновку СКД в режиме работы с менеджером временных таблиц.

Запрос = Новый Запрос("ВЫБРАТЬ т.* ПОМЕСТИТЬ " + ИмяВТ + " ИЗ &" + ИмяВТ + "КАК т);
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр(ИмяВТ,ТЗ);
Запрос.Выполнить();

//затем присвоить через процессор выполняемому отчету СКД этот менеджер временных таблиц
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных,,ДанныеРасшифровки,Истина,, Запрос.МенеджерВременныхТаблиц);

+ There are no comments

Add yours