Имя: Пароль:
1C
1С v8
СКД Расшифрока результата
0 aleksejafonkin
 
12.11.19
14:12
Добрый день!
В СКД создал набор данных, который бежит по документам и собирает информацию. Автоматически создал форму отчета. Кнопка "сформировать" создалась автоматически. Нажимаю сформировать все вывелось отлично и если навести курсор мышки, то отображается лупа и даже по нажатию проваливается в справочники, ссылки и т.д.
Теперь хочу программно поработать с отчетом, создал команду "СформироватьОтчет", нажав на неё исполняется этот код:

&НаСервере
Процедура СформироватьОтчетНаСервере()
        
    СхемаКомпоновки = РеквизитФормыВЗначение("Отчет").ПолучитьМакет("Макет");
    НастройкиКомпоновки = СхемаКомпоновки.НастройкиПоУмолчанию;
    
    //ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновки, НастройкиКомпоновки);
    
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
    
    Результат.Очистить();
    
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(Результат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);
    
КонецПроцедуры

&НаКлиенте
Процедура СформироватьОтчет(Команда)
    СформироватьОтчетНаСервере();
    // Чтобы не писалось "Отчет не сформирован..."
    Элементы.Результат.ОтображениеСостояния.Видимость = Ложь;
    Элементы.Результат.ОтображениеСостояния.ДополнительныйРежимОтображения = ДополнительныйРежимОтображения.НеИспользовать;
КонецПроцедуры

Отчет формируется отлично, но возникает проблема с расшифровкой, лупа исчезает. Если установить 3-й параметр "ДанныеРасшифровки"
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновки, НастройкиКомпоновки, ДанныеРасшифровки);
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ,ДанныеРасшифровки); - то тут при открытии отчета возникает ошибка.

Может этого достаточно, что бы мне объяснить, где я сошел с правильной дороги и подскажет?
1 mzelensky
 
12.11.19
14:50
(0)

//ФОРМИРУЕМ ОТЧЕТ
    КомпановщикМакета =    новый КомпоновщикМакетаКомпоновкиДанных;
    ДанныеРасшифровки =    Новый ДанныеРасшифровкиКомпоновкиДанных;
    
    МакетКонпановки = КомпановщикМакета.Выполнить(СхемаКомпоновкиДанных,ТекНастройки,ДанныеРасшифровки);
    
    ПроцессорКомпановкиДанных =    Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпановкиДанных.Инициализировать(МакетКонпановки,,ДанныеРасшифровки);
    
    ПроцессорВывода    =    новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпановкиДанных);
    
    ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
2 toypaul
 
гуру
12.11.19
14:53
вот это выкинуть вообще

//ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;

и сделать как в (1)
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс