Имя: Пароль:
1C
1С v8
Выборка элементов иерархического справочника
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: про запрос и ИЕРАРХИЯ автор не спрашивал. А зря :)