Имя: Пароль:
1C
1С v8
Вывод СКД в коллекцию
0 Sayan_mi
 
23.04.18
14:41
День добрый
Есть вот такой код:
//ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
        //ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
        
        ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
        ПроцессорВывода.УстановитьОбъект(ДанныеОтчета);
        ПроцессорВывода.Вывести(ПроцессорКомпоновки);

Если разремливаю ту часть где Вывод в табличный документ - то все нормально выводится. При использовании же Вывода результата в коллекцию выдает ошибку - неизвестный тип макета.
Не поясните ли про какой макет идет речь, по тому что сам отчет я собираюсь загонять в свой макет с доп обработками.
1 Cool_Profi
 
23.04.18
15:29
МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки, , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
2 Sayan_mi
 
23.04.18
15:40
Так он в обоих случаях один и тот же но в документ выводится, а в коллекцию вылетает.
вот полный комплект кода:
СтандартнаяОбработка = Ложь;
        
        ДанныеОтчета = Новый ТаблицаЗначений;
        
        НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();
        
        ДокументРезультат.Очистить();
    
        КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
        МакетКомпоновки = КомпоновщикМакета.Выполнить(ЭтотОбъект.СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки);
        
        // Создадим и инициализируем процессор компоновки.
        ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
        ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);
        
        //ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
        //ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
        
        ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
        ПроцессорВывода.УстановитьОбъект(ДанныеОтчета);
        ПроцессорВывода.Вывести(ПроцессорКомпоновки);
3 Cool_Profi
 
23.04.18
15:43
(2) Вимательней читай. 4й параметр КомпоновщикМакета.Выполнить
4 Sayan_mi
 
23.04.18
15:57
Спасибо!
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс