Имя: Пароль:
1C
 
Господа, как выгрузить результат компоновки данных в таблицу значений?
0 Гений 1С
 
гуру
27.03.08
17:54
Собственно?
1 IronDemon
 
27.03.08
17:59
текСхема = ПолучитьМакет("СКД2");// Это схема компоновки

КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроек.ЗагрузитьНастройки(текСхема.НастройкиПоУмолчанию);

МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(текСхема, КомпоновщикНастроек.Настройки, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));

ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных, Новый Структура("ТЧБП", БП.СогласованиеПлатежа)); // Здесь передается внешний набор данных. ТЧ бизнес-процесса

ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ПроцессорВывода.УстановитьОбъект(ДеревоРезультата); // ДеревоРезультата - дерево значений
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных, Ложь);
2 IronDemon
 
27.03.08
18:00
(1) + Работает с 8.1.11.67
3 Гений 1С
 
гуру
27.03.08
18:08
(2) в 8.9.5.7 еще такого нет, да...
ну попробую так:

   Запрос = новый запрос;
   ТекстЗапроса = МакетКомпоновки.НаборыДанных[0].Запрос;
   Для каждого ЗначениеПараметра Из МакетКомпоновки.ЗначенияПараметров цикл //МакетКомпоновки.НаборыДанных[0].ЗначенияПараметров Цикл
         Запрос.УстановитьПараметр( ЗначениеПараметра.Имя, ЗначениеПараметра.Значение );
   КонецЦикла;
   
   
   Запрос.Текст = ТекстЗапроса;    
   Результат = Запрос.Выполнить();
   ТЗ = Результат.Выгрузить();

Нашел на itland
4 IronDemon
 
27.03.08
18:10
(3) Это НЕ результат СКД
5 Гений 1С
 
гуру
27.03.08
18:13
(4) У меня только один источник, мне проканает.
6 IronDemon
 
27.03.08
18:15
(3) А где отбор?
7 Гений 1С
 
гуру
28.03.08
08:45
(6) Гм, а разве там запрос уже не с отбором? Хз, хз... Наверное проще взять 11-й релиз.