|
Выборка элементов иерархического справочника |
☑ |
0
Штурман
07.02.17
✎
08:18
|
Есть иерархический справочник с многоуровневой структурой, вложенность может быть разная.
Пример.
А1
|-A2
|-A3
|-А31
B
|-B1
|-B2
Тут А1 содержит А2 и А3, а А3 содержит А31
Нужно вывести все элементы справочника А1
Кодом делаю так:
Под = Справочники.Спр.НайтиПоНаименованию(Строка(Наимен));
Выборка = Справочники.Спр.Выбрать(Под);
Пока Выборка.Следующий() цикл
сообщить(Выборка.Ссылка);
КонецЦикла;
Реквизит "Наимен" выбирается на форме.
Когда "Наимен" выбрали А1 выводятся А2 А3, а вот А31 не выводится.
Если же выбрать А3, то А31 не выводится тоже
Как вывести все подчиненные элементы?
|
|
1
Lexey_
07.02.17
✎
08:22
|
(0) ВыбратьИерархически()
|
|
2
Штурман
07.02.17
✎
09:28
|
(1) при выборе А3 не выводится А31
|
|
3
Рэйв
07.02.17
✎
09:39
|
(2)А31 не подчинен
|
|
4
Fish
гуру
07.02.17
✎
09:42
|
Запрос и рекурсивный обход.
|
|
5
Serg_1960
07.02.17
✎
09:44
|
(имхо) Если в многоуровневой структуре вложенность не определена, то остаются только один метод - рекурсивный обход дерева.
|
|
6
Serg_1960
07.02.17
✎
09:52
|
PS: про запрос и ИЕРАРХИЯ автор не спрашивал. А зря :)
|
|