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