![]() |
|
СКД (Иерархия -> Дерево). Как узнать группировка по какому полю в каком узле дерева? | ☑ | ||
---|---|---|---|---|
0
live in sky dreams
25.09.19
✎
17:18
|
Добрый день.
Делаю иерархическую выборку (ТипГруппировкиКомпоновкиДанных.Иерархия) с помощью СКД. Результат выгружаю в дерево значений. Дерево получается, все хорошо. Но после мне это дерево необходимо перебрать по всем строкам и подчиненным строкам и я понял, что не хватает информации к какому полю группировки относится тот или иной "текущий" узел дерева. Как-то можно в СКД пометить группировки? |
|||
1
runoff_runoff
25.09.19
✎
17:22
|
Родитель
|
|||
2
live in sky dreams
25.09.19
✎
17:42
|
(1)Эммм... логика прослеживается, но родитель строки с колонками - строка с колонками
|
|||
3
runoff_runoff
25.09.19
✎
17:49
|
(2) у верхних группировок поля нижних группировок будут равны NULL..
|
|||
4
live in sky dreams
25.09.19
✎
17:52
|
(3)К примеру, я в каком то n-ом уровне группировки..
Те группировки, которые еще ниже (подчиненные) я узнаю по null. Которые уже выведены по НЕ ЗначениеПоля = Null. А текущую то как узнать? |
|||
5
live in sky dreams
25.09.19
✎
17:53
|
Если к примеру у меня полей 5 выводится и только 1 из них не равно Null? На какой я группировке сейчас из 4-х?
|
|||
6
runoff_runoff
25.09.19
✎
17:57
|
Уровень()
|
|||
7
runoff_runoff
25.09.19
✎
18:00
|
(5) неплохоб ы озвучить структуру в компоновке.. например..
Контрагент (иерархия) / Номенклатура (иерархия) |
|||
8
live in sky dreams
25.09.19
✎
18:00
|
(6)Вот тут использовано 2 группировки по иерархии
Группа1 -Подгруппа1 --ПодПодГруппа1 ---ПодПодПодгруппа1 | К приемру, я вот тут в дереве. Уровень() = 4 ----Группа2 -----ПодГруппа2 ------ПодПодГруппа2 Из примера выше видно, что уровень может быть и 4, а по сути группировка №2 |
|||
9
live in sky dreams
25.09.19
✎
18:03
|
(7)
Структура может быть разная. Группировок может быть как 2, так и 5 и 7. СКД строится программно в зависимости от заданных пользователем группировок. (Пользователь дерево натсраивает для формы для удобного просмотра справочника) Если реквизит справочника участвующий в группировке, Иерархический, то выводится иерархически, как указано в (7). Если реквизит иного типа, то просто как реквизит, без иерархии |
|||
10
live in sky dreams
25.09.19
✎
18:05
|
(8) поправка.
", а по сути группировка №2" читать как ", а по сути группировка №1" |
|||
11
runoff_runoff
25.09.19
✎
18:05
|
(9) пользователь задал группировки.. пользователь получил ДанныеФормыДерево соответствующими своим ожиданиям.. что еще требуется?.. дерево же уже отобразилось.. он увидел и успокоился..
|
|||
12
runoff_runoff
25.09.19
✎
18:08
|
(9) да и группировки можно делать прям в динамическом списке.. без всяких промежуточных СКД..
|
|||
13
live in sky dreams
25.09.19
✎
18:08
|
(11) а потом он жмакнул по элементу дерева и получил соответствующий отбор в списке справа от дерева))
|
|||
14
live in sky dreams
25.09.19
✎
18:09
|
(12)там иерархии не добиться
|
|||
15
runoff_runoff
25.09.19
✎
18:10
|
(13) а у списка справа от дерева какая основная таблица?
|
|||
16
live in sky dreams
25.09.19
✎
18:15
|
Справочник.Номенклатура
|
|||
17
live in sky dreams
25.09.19
✎
18:16
|
+(16) его собственная иерархия не интересна...
|
|||
18
runoff_runoff
25.09.19
✎
18:18
|
(16) пусть у нас в дереве "Контрагент (иерархия) / Номенклатура (иерархия)"
стоя на контрагенте, какой отбор должен быть справа?.. |
|||
19
live in sky dreams
26.09.19
✎
09:04
|
(18) Более реальный пример давайте для справочника Номенклатура группировки: "Вид товара (Иерархия) / Номенклатурная группа (Иерархия)"
Стоя на элементе номенклатурной группы должен быть отбор по значению реквизита "Вид товара"(В ГРУППЕ или равно последнему раскрытому в дереве значению), "Номенклатурная группа" (В ГРУППЕ или равно последнему раскрытому в дереве значению) |
|||
20
toypaul
гуру
26.09.19
✎
09:11
|
если СКД строится программно, то в выбранные поля можно добавить поле которое будет специфично только для этой группировки. количество колонок конечно при этом увеличится
|
|||
21
live in sky dreams
26.09.19
✎
09:14
|
(20)увеличение кол-во колонок не страшно. Скажите что именно вы имеете ввиду? Я не знаю просто что можно добавить, чтобы и в иерархии это выводилось. Напрашиваются "итоги по иерархии" по какому-нибудь ресурсу, но пока не представляю как по значению этого ресурса в итоге идентифицировть а что же было выше в дереве?
|
|||
22
live in sky dreams
26.09.19
✎
09:54
|
Ну, похоже через СКД просто задача не решается. Придется обрабатывать дерево перед выводом.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |