СКД:Передача параметров при установке варианта отчета

1. _Vanda_ 26.02.18 09:56 Сейчас в теме
При выборе варианта отчета, параметры которые указывает пользователь не передаются, соответственно запрос не формируется.
	СкрытьКолонку = КомпоновкаДанныхКлиентСервер.ПолучитьПараметр(КомпоновщикНастроек, "СкрытьКолонку").Значение;
	
	СтандартнаяОбработка = Ложь;
	ДокументРезультат.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
	ДокументРезультат.АвтоМасштаб = Истина;
			
	Настройки = КомпоновщикНастроек.ПолучитьНастройки();
	ЭлементыКомпановки = Настройки.ПараметрыДанных.Элементы;

	Если СкрытьКолонку Тогда
		ВариантНастроек = СхемаКомпоновкиДанных.ВариантыНастроек.ВторойВариант;
		Настройки = ВариантНастроек.Настройки;
		КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
	Иначе
		ВариантНастроек = СхемаКомпоновкиДанных.ВариантыНастроек.Основной;
		Настройки = ВариантНастроек.Настройки;
		КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
	КонецЕсли;
	
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
	МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
	
	ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
	
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	
	ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
	ДокументРезультат.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
	ДокументРезультат.АвтоМасштаб = Истина;
	
	ПроцессорВывода.НачатьВывод();
	
	ЭлементРезультата = ПроцессорКомпоновки.Следующий();
	Пока ЭлементРезультата <> Неопределено Цикл
		Если ЭлементРезультата.ЗначенияПараметров.Количество()= 1 Тогда
			Если ЭлементРезультата.ЗначенияПараметров[0].Значение = "Разорвать" Тогда
				ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц();
			КонецЕсли;
		КонецЕсли;
		ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
		ЭлементРезультата = ПроцессорКомпоновки.Следующий();
	КонецЦикла;
	
	ПроцессорВывода.ЗакончитьВывод();
	ПроцессорВывода.Вывести(ПроцессорКомпоновки);
Показать



вот здесь они есть:
	Настройки = КомпоновщикНастроек.ПолучитьНастройки();
	ЭлементыКомпановки = Настройки.ПараметрыДанных.Элементы;


а здесь их нет.

ВариантНастроек = СхемаКомпоновкиДанных.ВариантыНастроек.ВторойВариант;
Настройки = ВариантНастроек.Настройки;
ЭлементыКомпановки = Настройки.ПараметрыДанных.Элементы;


Как правильнее выбрать вариант отчета, чтобы параметры передались?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. _Vanda_ 26.02.18 10:23 Сейчас в теме
сделала так:

 
Настройки = КомпоновщикНастроек.ПолучитьНастройки();
	
ЭлементыКомпановки = Настройки.ПараметрыДанных.Элементы;

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

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