0
ildary
23.08.17
✎
09:32
|
Уважаемые специалисты, скажите пожалуйста, в СКД установить вариант отчета в модуле формы самого отчета можно так:
Варианты = ОбъектОтчет.СхемаКомпоновкиДанных.ВариантыНастроек;
Для Каждого Вариант Из Варианты Цикл
Если вРег(Вариант.Имя) = вРег(ИмяВарианта) Тогда
Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Вариант.Настройки);
КонецЕсли;
КонецЦикла;
А как это сделать, если я вызываю отчет на СКД из другой обработки? Переменной ОбъектОтчет для вызываемого отчета у меня нет.
Когда выбирать вариант было не нужно (в отчете был один вариант), было достаточно сделать так:
Форма = ПолучитьФорму( ИмяОбработки + ".Форма" );
КомпоновщикНастроекКомпоновкиДанных = Форма.Отчет.КомпоновщикНастроек;
ПользовательскиеНастройки = КомпоновщикНастроекКомпоновкиДанных.ПользовательскиеНастройки;
// что здесь надо сделать чтобы загрузились настройки нужного варианта?
// Установим отбор
ПараметрыОбработки.ПользовательскиеНастройки = ПользовательскиеНастройки;
Форма = ПолучитьФорму( ИмяОбработки + ".Форма", ПараметрыОбработки,, ЭтаФорма.УникальныйИдентификатор );
ОткрытьФорму(Форма);
|
|
1
aleks_default
23.08.17
✎
09:41
|
ПараметрыФормы = Новый Структура("Отбор, ФиксированныеНастройки, КлючНазначенияИспользования, КлючВарианта, СформироватьПриОткрытии");
ПараметрыФормы.СформироватьПриОткрытии = Истина;
ПараметрыФормы.Вставить("Отбор",Новый Структура("",));
ОткрытьФорму("Отчет.ТвойОтчет.Форма",
ПараметрыФормы,
ПараметрыВыполненияКоманды.Источник,
ПараметрыВыполненияКоманды.Уникальность,
ПараметрыВыполненияКоманды.Окно
|
|