![]() |
![]() |
![]() |
|
Как обойти/перебрать дерево значений? | ☑ | ||
---|---|---|---|---|
0
Пендальф Серый
30.06.09
✎
15:02
|
Имеется дерево значений с известным количество уровней иерархии. Как его обойти типо того:
ВыбратьЭлементыВерхнегоУровня() Пока ПолучитьЭлементВерхнегоУровня() Цикл ВыбратьЭлементыСреднегоУровня() Пока ПолучитьЭлементСреднегоУровня() Цикл ВыбратьЭлементыНижнегоУровня() Пока ПолучитьЭлементНИжнегоУровня() Цикл КонецЦикла КонецЦикла КонецЦикла Я не знаю как это сделать и возможно ли такое вообще с деревом значений? |
|||
1
Живой Ископаемый
30.06.09
✎
15:04
|
габец простые дерево
|
|||
2
НастоящееИмя
30.06.09
✎
15:04
|
(1)Лаконично
|
|||
3
Mitriy
30.06.09
✎
15:06
|
Рекурсия
|
|||
4
Пендальф Серый
30.06.09
✎
15:07
|
У меня Габец в ЕСИСе. Там только как заполнить
|
|||
5
Irbis
30.06.09
✎
15:07
|
но чтобы понять что такое рекурсия необходимо разобраться с рекурсией
|
|||
6
Пендальф Серый
30.06.09
✎
15:09
|
Я знаю что такое рекурсия. К чему обращаться в этой Дереве, вот в чем вопрос...
|
|||
7
Пендальф Серый
30.06.09
✎
15:10
|
Как его обходить...
|
|||
8
Живой Ископаемый
30.06.09
✎
15:11
|
хм, действительно в габце - только как заполнять... Но раз есть ЕСИС, то может в нем поискать как дерево обходить? Или тебе нужные новые, неприпавшие пылью ответы на этот актуальнейший вопрос всех времен и народов?
|
|||
9
Пендальф Серый
30.06.09
✎
15:12
|
Дык искал... и в гугуле тоже. Не могу найти.
|
|||
10
Mitriy
30.06.09
✎
15:12
|
(6) чо-нить типа:
Функция ПолучитьПодстроки(Дерево) Для Каждого Подстрока Из Дерево.Строки Цикл //обработка подстроки ПолучитьПодстроки(Подстрока); КонецЦикла; КонецПроцедуры |
|||
11
Пендальф Серый
30.06.09
✎
15:13
|
Как вообще обход делать? Для Каждого не работает.
|
|||
12
Puppets
30.06.09
✎
15:13
|
Ну его можно обойти циклом Для каждого. Не пробовал ?
|
|||
13
Mitriy
30.06.09
✎
15:13
|
(10)* ступил немножко... щас...
|
|||
14
Господин ПЖ
30.06.09
✎
15:14
|
все там работает. обычные коллекции из
а = строка.Строки; б = а.Строки; и т.д. вглубь |
|||
15
Irbis
30.06.09
✎
15:14
|
(11) Строки тебе в руки
|
|||
16
Asmody
30.06.09
✎
15:14
|
Процедура ОбойтиУровеньДерева(Строки)
Для каждого Строка из Строки Цикл //что-то делаем со строкой ОбойтиУровеньДерева(Строка.Строки); КонецЦикла; КонецПроцедуры ОбойтиУровеньДерева(Дерево.Строки); |
|||
17
MSensey
30.06.09
✎
15:15
|
А для чего тебе его обходить? Может Строки.НайтиСтроки() поможет?
|
|||
18
Puppets
30.06.09
✎
15:16
|
Циклом Для каждого не пробовал?
|
|||
19
Mitriy
30.06.09
✎
15:16
|
Процедура ОбойтиПодстроки(СтрокиДерева)
Для Каждого Строка Из СтрокиДерева Цикл Сообщить(Строка.ИмяРеквизита); ОбойтиПодстроки(Строка.Строки); КонецЦикла; КонецПроцедуры |
|||
20
Пендальф Серый
30.06.09
✎
15:17
|
Для Каждого я делал из ТЗ.Количество() вот и вылетало в ошибку. Косячу...
|
|||
21
Mitriy
30.06.09
✎
15:17
|
(16) гы...
|
|||
22
Puppets
30.06.09
✎
15:19
|
||||
23
Asmody
30.06.09
✎
15:19
|
(21) ога
|
|||
24
IronDemon
30.06.09
✎
15:20
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |