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