Имя: Пароль:
1C
1С v8
использование дерева занчений в запросе в качестве источника данных
0 Fatum1980
 
03.04.12
16:58
Добрый день.
возможно глупый вопрос, может уже было, но поиском не нашел.
задача:
есть документ в котором участвуют сотрудники, должности и подразделения. выводить данные нужно в иерархии подразделений (с выводом самой иерархии проблем нет) проблема в другом требуется "справочник" подразделений так же хранить в данном документе. сейчас реализовано как хранилище значений с типом дерево значений (это нужно для возможности менять структуру подразделений в разных документах)

так вот вопрос, как мне построить иерархичную выборку с использованием этого дерева?

сейчас делаю так:
ТестЗапрос = "ВЫБРАТЬ
            |    Дерево.Подразделение
            |ПОМЕСТИТЬ ИерархияПодразделений
            |ИЗ
            |    &Дерево КАК Дерево
            |;
            |
            |////////////////////////////////////////////////////////////////////////////////
            |ВЫБРАТЬ
            |    ИерархияПодразделений.Подразделение КАК Подразделение
            |ИЗ
            |    ИерархияПодразделений КАК ИерархияПодразделений
            |УПОРЯДОЧИТЬ ПО
            |    Подразделение";
ТестЗапрос = "ВЫБРАТЬ
            |    Дерево.Подразделение
            |ПОМЕСТИТЬ ИерархияПодразделений
            |ИЗ
            |    &Дерево КАК Дерево
            |;
            |
            |ВЫБРАТЬ
            |    ИерархияПодразделений.Подразделение КАК Подразделение
            |ИЗ
            |    ИерархияПодразделений КАК ИерархияПодразделений
            |УПОРЯДОЧИТЬ ПО
            |    Подразделение";
        |ИТОГИ ПО
        |    Подразделение";

при такой выборке в результат попадает только верхние уровни дерева, как мне иерархию на нем собрать?
1 Defender aka LINN
 
03.04.12
16:59
"сейчас реализовано как хранилище значений" - расстрелять.
2 DrShad
 
03.04.12
17:00
у Хрусталевой в книге по СКД был пример построения собственной иерархии
3 Господин ПЖ
 
03.04.12
17:00
>сейчас реализовано как хранилище значений с типом дерево значений (это нужно для возможности менять структуру подразделений в разных документах)

помечаю на удаление и плачу... помечаю и плачу...
4 DrShad
 
03.04.12
17:03
(3) возможно у него там просто строковое представление, а не ссылки, но если наоброт то пичалька
5 Fatum1980
 
03.04.12
17:03
(1) ок, расстреляй, а как сохранить дерево (ну фиг с ним иерархический справочник в документе в 8.1) =)

(3) ок, проблема то в чем? или я уже сильно сильно туплю?
6 Fatum1980
 
03.04.12
17:13
(4) та пичалька то в общем пичалька.
строковое представление там (наименование подразделения) хотя даже если и ссылка бы была, в данном случае это не было бы затыком, т.к. данные с базы не удаляются.
база нетленка если что, возможно нужная на один раз вот захотелось руководству фот спланировать с различной иерархией подразделений в пределах одного года, как это реализовать?
есть конечно вариант разложить дерево в таблицу и записать в регистр сведений с регистратором каждого документа, просто вот показалось мне что дерево в документе должно быть проще, но уткнулся в выборку с этого дерева.
7 le_
 
03.04.12
17:33
В табличной части документа можно хранить элементы из которых будет строиться дерево...
8 Fatum1980
 
03.04.12
17:40
(7) да уже пробую разложить дерево в таблицу и запихнуть в табличную часть.
просто мне почему то казалось что первый вариант должен быть проще, т.к. дерево уже есть... а тут его придется собирать :)
9 Defender aka LINN
 
03.04.12
18:39
(8) 2 слова - ссылочная целостность. U no haz it.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс