Имя: Пароль:
1C
1С v8
v8: Как вывести результат компоновки в дерево значений
0 Sargez
 
07.03.12
15:55
Здравствуйте,

учусь писать отчеты на СКД. Есть определенная задача, с которой я столкнулся и не могу никак решить. По гуглив увидел здесь:
v8: Отображение дерева в СКД

что Вы разобрались с задачей, как загрузить дерево значений в НаборДанных.Объект, но по тем строкам, которые Вы написали не понял, книги Хрусталева, к сожалению, сейчас нет под рукой(((. Надеюсь на Вашу помощь, могли бы Вы рассказать как это делается?

вот что у меня происходит:
у меня в отчете два макета. 1. макет - наборДанных.Запрос, 2. наборДанных.Объект. Выполняю программно компоновку и выгружаю результат из первого макета в ДеревоЗначений. Потом полученное дерево значений пытаюсь загрузить во второй макет и на строке кода:

ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);

1с закрывается по дампу. в чем может быть косяк?
1 andrewks
 
07.03.12
15:56
а что, помощь остальных отвергается?
2 le_
 
07.03.12
16:00
Мне вот интересно, зачем это дело выгружается в дерево?
3 Sargez
 
11.03.12
08:13
(1) Помощь остальных тоже приветствуется конечно!)))
4 Escander
 
11.03.12
08:38
У СКД в отличии от языка запросов есть возможность передавать параметры в запрос, что позволяет например вывести элементы справочника в указанных группах - типа как красивее(хотя красота в 1С - очень условно) чем если тупо группировать по иерархии.
5 Sargez
 
11.03.12
08:52
(4) не совсем понял как это относится к вопросу)
6 zippygrill
 
11.03.12
09:22
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
   МакетКомпоновки = КомпоновщикМакета.Выполнить(ОтчетОбъект.СхемаКомпоновкиДанных,КомпоновщикНастроек.Настройки,ДанныеРасшифровки);
   ПроцессорКомпоновкиДанных= Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,,ДанныеРасшифровки,);
   
   ДокументРезультат  = ЭлементыФормы.Результат;
   ДокументРезультат.Очистить();
   ПроцессорВывода = Новый    ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
   ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
   ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);