Имя: Пароль:
1C
 
Дерево из плоской таблицы
0 Stim
 
11.06.19
15:23
Все строки дерева лежат в плоской таблице Ид ИдРодителя
Как максимально экономно(таблица оч большая) обойти всю таблицу и собрать дерево из строк?
1 ДенисЧ
 
11.06.19
15:25
Пихнуть в запрос и получить оттуда через ИТОГИ
2 Stim
 
11.06.19
15:30
(1) итоги по какому полю?
3 RomanYS
 
11.06.19
15:45
(2) ИдРодителя конечно же. Только за один проход только один уровень можно просто собрать.
4 mistеr
 
11.06.19
15:47
Пихнуть в СКД, описать иерархию в связях и выгрузить в ДЗ.

А что значит "экономно" в данном случае7
5 Вафель
 
11.06.19
15:47
дерево для чего нужно? вывести в на форму?
6 mistеr
 
11.06.19
15:47
(1) В запросе получится только, если это "естественная" иерархия (ссылки на справочник).
7 Вафель
 
11.06.19
15:48
если на форму не нужно выводить, достаточно отсортировать и в обходе смотреть на смену родителя
8 Stim
 
11.06.19
15:50
(3) вот и да. А мне неизвестно сколько всего там уровней
9 Stim
 
11.06.19
15:50
(4) экономно = наименее ресурсозатратно
10 Stim
 
11.06.19
15:50
(5) да, нужно вывести на форму деревом
11 Вафель
 
11.06.19
15:59
в 1 проход вполне можно сделать иерархическое дерево из таблицы, без НайтиСтроки
12 Вафель
 
11.06.19
15:59
обходишь, родителей в соответствие кладешь
13 GRAF_84
 
11.06.19
16:00
14 Вафель
 
11.06.19
16:59
(13) плохая реализация
15 Сияющий в темноте
 
11.06.19
19:20
за один проход может не получиться,если родитель лежит после потомков,тогда или таких потомков писать в массив с привязкой к родителю или проходить второй раз,размещая.
16 Сияющий в темноте
 
11.06.19
19:25
а вообще,три соответствия
первое,элемент в строку дерева для уже размещенных.
вторая элемент и массив дочерних,для еще не размещенных,
третье,все неразмещенные элементы,чтобы к ним цепочки неразмещенных цеплять.
17 Fram
 
12.06.19
04:26
Я б через рекурсию сделал. А если таблица ооочень большая, то подгружал бы ветки динамически при раскрытии