Текущий архив: 2009.07.19;
Скачать: CL | DM;
Вниз
Любопытная работа с деревом Найти похожие ветки
← →
tesseract © (2009-05-18 11:48) [0]Туплю как валенок. Для кросс-отчета нужен алгоритм постоения и обхода дерева. Из доступных типов данных только переменные, ассоциативные массивы и не-динамические массивы. На вход подается несортированное нечто из которого можно выцепить только вид родителя.
← →
Palladin © (2009-05-18 11:57) [1]В каком смысле только вид родителя? Имется ввиду какая то ссылка на самого родителя?
← →
clickmaker © (2009-05-18 12:08) [2]> ассоциативные массивы
а в качестве значения может быть массив?
ключ = родитель, значение = массив детей
← →
tesseract © (2009-05-18 12:08) [3]
> Имется ввиду какая то ссылка на самого родителя?
Точно. Пока работаю выводом из таблиц с фильтром по родителю. Типо в одном месте структура иеррархии, а по таблице бегаем и прыгаем с фильтром.
← →
tesseract © (2009-05-18 12:10) [4]
> а в качестве значения может быть массив?
Да но поиск только в одном выходит, обратный порядок работает, а вот прямой как-то не очень, контекст сбивается. 1С как бы нам говорит.....
← →
Palladin © (2009-05-18 12:34) [5]Когда то я для Сергея эМ. делал демонстрацию загрузки дерева из БД в один проход. )
Если до вечера не додумаешься, повторю сей подвиг...
← →
tesseract © (2009-05-18 12:59) [6]
> Если до вечера не додумаешься,
Да работает пока. Просто как-то некрасиво.
← →
Медвежонок Пятачок © (2009-05-18 13:01) [7]А сразу то дерево из БД не вытянуть? Или там желтая программа не на mssql?
← →
tesseract © (2009-05-18 13:04) [8]
> Или там желтая программа не на mssql?
Да можно. Но через два половых отверстия + итоги по вложенности придётся рассчитывать как-нить хитро.
← →
Cobalt © (2009-05-19 11:57) [9]Я сейчас пытаюсь сделать так: к узлу добавляю поле Level (которое считаю хранимкой без рекурсии), и по нему сортирую выборку.
Т.о. я выбираю все высокоуровневые, затем их детей, затем внуков и прочих до 7-го колена.
← →
tesseract © (2009-05-19 14:45) [10]
> Я сейчас пытаюсь сделать так: к узлу добавляю поле Level
> (которое считаю хранимкой без рекурсии), и по нему сортирую
> выборку.
Nested Sets в SQL изложены и изжованы лучше некуда. А ты вот в 1с попробуй :-)
Страницы: 1 вся ветка
Текущий архив: 2009.07.19;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.011 c