|
Построить ДеревоЗначений в запросе по двум разным справочникам | ☑ | ||
---|---|---|---|---|
0
Dmitriy_
Kolesnikov 23.11.18
✎
10:45
|
У меня нет других идей, кроме как добавлять поле Родитель, выводить в ТаблицуЗначений, а дальше циклом с рекурсией строить ДеревоЗначений.
Суть такая. Есть запрос к справочникам: ШтатноеРасписание (не иерархический, подчинен Организации), ПодразделенияОрганизации (иерархический, подчинен Организации). Мне надо построить иерархию сразу по двум справочникам, то есть на первом уровне иерархии у нас Организация, на втором - как позиции штатного расписания, так и подразделения организации, на третьем - то же самое, на четвертом и ниже - только подразделения. Я построил в запросе таблицу с полями Родитель (может быть двух типов - ШтатноеРасписание и ПодразделенияОрганизации) и ЭлементСхемы (может быть тех же двух типов). Теперь было бы хорошо выгрузить это сразу в дерево значений. Возможно ли такое и если да, то как? На самом деле, всё это делается в СКД: МакетКомпоновки = КомпоновщикМакета.Выполнить(ЭтотОбъект.СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки,, Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); Но если надо - могу и запросом. Вопрос лишь в том, как получить сразу дерево значений с правильной иерархией, а не таблицу значений. |
|||
1
МихаилМ
23.11.18
✎
10:52
|
пробуйте запрос скормить пз
|
|||
2
Ник080808
23.11.18
✎
10:53
|
(0) Создаем дерево с нужной структурой и обходим результат СКД и заполняем дерево результатом.
|
|||
3
DexterMorgan
23.11.18
✎
10:59
|
(0) Это не то? http://catalog.mista.ru/public/242824/
|
|||
4
DexterMorgan
23.11.18
✎
11:02
|
(0) Ну и тут https://its.1c.ru/db/metod8dev#content:1984:hdoc
"Описание иерархических наборов данных" и тд |
|||
5
Ник080808
23.11.18
✎
11:18
|
(4) он типа уже получил в скд. Теперь не знает как это в дерево запихнуть
|
|||
6
Dmitriy_
Kolesnikov 23.11.18
✎
12:06
|
Я правильно понимаю вас: настройки варианта отчета в СКД влияют на вывод в дерево значений?
Просто в табличный документ у меня свой вывод, не средствами СКД. |
|||
7
Dmitriy_
Kolesnikov 23.11.18
✎
12:26
|
В типовом отчете сделано как в (4). Теперь надо с этим разобраться и переделать под себя.
|
|||
8
DexterMorgan
23.11.18
✎
12:37
|
(5) а че там сложного, в инете куча всего:
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки,,, Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ДЗ = Новый ДеревоЗначений; ПроцессорВывода.УстановитьОбъект(ДЗ); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); |
|||
9
Dmitriy_
Kolesnikov 23.11.18
✎
12:41
|
(8) это всё есть в типовом отчете, который я переделываю.
Там второй набор данных (для иерархии) и связи наборов данных формируются программно. Вот с этим придется разобраться. |
|||
10
DexterMorgan
23.11.18
✎
12:42
|
(9) В чем у тебя вопрос?
|
|||
11
Dmitriy_
Kolesnikov 23.11.18
✎
12:49
|
(10) пока вопросов нет, есть пища для размышления.
Разбираюсь с типовым кодом, если возникнут вопросы - задам. Принцип ясен из (4), благодарю. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |