Подскажите пожалуйста.Делаю отчет в СКД.Создала 2 варианта отчета.на форму вывела поле выбора варианта отчета,но почему то у меня не показываются варианты отчетов.

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

Вы неверно формируете список макетов. Есть два способа:
1. Ручной. Вы вручную составляете список макетов и заганяете его в поле списка
2. Обойти все макеты отчета/обработки программно – с помощью Метаданные.Обработки..Макеты Или
Метаданные.Отчеты..Макеты.
Тгда в процедуре “ВариантыПриИзменении(Элемент)” будет следующее –
Макет = ПолучитьМакет(Элемент.Значение);

pshik
pshik
11 лет назад

В данном случае вы формируете не список “вариантов отчета” (кстати немного не понял что это), список вариантов настроек – то есть, варианты настроек, которые находятся на вкладке “Настройки” вашей схемы компоновки данных с именем “ОсновнаяСхемаКомпоновкиДанных”.
Если же вы этого и хотите, то все полностью работает, проверьте поле “Представление” возможно у вас многоязыковый интерфейс и вы не ввели имена для других языков. Отсюда и заполняются пустые строки.