Имя: Пароль:
1C
 
Отображение дерева в СКД
0 greemodineser
 
07.11.10
11:21
Есть регистр сведений, в котором хранится дерево (вернее его элементы) в следующем виде:

Измерение (справочникссылка): Родитель; Измерение (справочник-ссылка): Дочерний

Количество уровней дерева изначально ничем не ограничено. Когда была необходимость вывести все это в табличное поле типа "дерево значений" проблемы не было - я просто писал рекурсивную функцию, добавлял строки куда надо и все было пучком. А вот как можно такое дерево показать теперь в СКД?
1 Fragster
 
гуру
07.11.10
11:25
изначально неоптимальная организация данных - вот что тебе испортило все. выводи как и раньше
2 Fragster
 
гуру
07.11.10
11:26
а вообще - если в твоем графе случайно получится кольцо, то что ты будешь делать?
3 Fragster
 
гуру
07.11.10
11:27
если еще не все на это завязал - сделай справочник с иерархией элементов и одним реквизитом справочникссылка
4 Fragster
 
гуру
07.11.10
11:28
и получишь все плюшки типа отбора "в иерархии", почти без заляпух (типа рекурсивных функций) вывод на форму, контроль закольцовывания и т.п.
5 greemodineser
 
07.11.10
11:39
Ребята, все возможные косяки я предусматриваю и проверяю, меня сейчас не интересуют недостатки организации, поверьте, я на её обдумывание потратил больше времени, чем вы.

Вопрос ведь сформулирован, и при том кажется довольно четко :) Справочник тут будет вообще не в тему, это дерево постоянно меняется.

И что значит "Выводи как и раньше"? "Раньше" у меня был тип данных, подразумевающий хранение и отображение дерева (на форме), что подобное есть в СКД?
6 Fragster
 
гуру
07.11.10
11:41
как и раньше - это значит - как в (0) описал - рекурсивная функция и иже с ней
7 Fragster
 
гуру
07.11.10
11:42
а то, что дерево постоянно меняется - как это противоречит иерархическому справочянику с иерархией элементов? они не переносятся, чтоли?
8 Immortal
 
07.11.10
11:43
в скд можно построить свою иерархию-произвольную
9 Fragster
 
гуру
07.11.10
11:44
(8) расскажи, мне интересно.
10 greemodineser
 
07.11.10
11:44
(6) СКД подразумевает вывод данных в виде таблиц. Допустим, у меня есть дерево, как мне его отобразить именно в виде дерева?
11 Immortal
 
07.11.10
11:48
(9)есть в книге Хрусталевой
(10)сначала его надо построить. потом задать настройки вывода
12 Fragster
 
гуру
07.11.10
11:49
(11).1 ты в 2 словах объясни, я пойму. или примером кинь. хрусталева на работе, я когда я там еще буду...
13 Fragster
 
гуру
07.11.10
11:49
(12)+ да и посмотреть там забуду - ибо другие дела будутт. а так - полезная инфа в мозгу будет
14 greemodineser
 
07.11.10
11:51
(11) А как построить? Какой источник данных использовать? С помощью каких объектов строить?

Если скажешь главу в Хрусталевой будет просто волшебно.
15 Immortal
 
07.11.10
12:07
(12),(14) залез-таки в Хрусталеву=)
давно не смотрел.
с.319-320 и дальше.
смысл - предоставить СКД два набора - один с элементами,второ
16 Immortal
 
07.11.10
12:07
опс=)
второ
17 Immortal
 
07.11.10
12:07
второ
18 Immortal
 
07.11.10
12:08
второй с "родителями". соединить их и вывести группировку по "Элементы" иерархия
19 Fragster
 
гуру
07.11.10
12:09
если второй - с иерархией - то в случае с (0) - не взлетит (ну, или с ограничением количества уровней - из-за того, что соединений мы бесконечно в тексте запроса описать не можем)
20 Fragster
 
гуру
07.11.10
12:11
а, не, как в хрусталевой - взлетит
21 Immortal
 
07.11.10
12:12
(19) все зависит от задачи
22 greemodineser
 
07.11.10
13:43
У меня почти получилось. Сейчас дерево отображается вот так: http://s012.radikal.ru/i320/1011/17/eb63914b06ca.png

Во-первых, мне нужно, чтобы родительские элементы не дублировались среди своих же детей (почему вообще это произошло?). Во-вторых, хочется чтобы отступы все-таки расставлялись как обычно (родители левее, дочерние правее), а не наооборот. Все настройки этой группировки в СКД облазил, не нашел как исправить ((.
23 greemodineser
 
07.11.10
15:13
Up! Как зеркально отобразить это дерево и сделать нормальные отступы?
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший