![]() |
|
Обход структуры рекурсивно | ☑ | ||
---|---|---|---|---|
0
slabak
14.10.15
✎
11:40
|
Добрый день!
Имеется структура у которой в значениях могут быть также структуры. Задача - Вывести структуру в следующем формате: Ключ1 - Значение1 Ключ2 - (Ключ1 - Значение1, Ключ2 - (Ключ1 - Значение1)) Ключ3 - Значение3 У ключа2 значение является структурой и у этой структуры ключ2 также имеет значение с типом структура. Подскажите, пожалуйста, как обойти эту структуру рекурсивно и правильно вывести, допустим, в текстовый документ на форму? Следующая функция затирает ТекстовыйДок после того, как обойдет все элементы структуры. Функция ОбойтиСтруктуру(СтруктураКОбходу) Для каждого Поле Из СтруктураКОбходуЦикл ТекстовыйДок = ТекстовыйДок + Поле.Ключ + ":" + ?(ТипЗнч(Поле.Значение)=Тип("Структура"), ОбойтиСтруктуру(Поле.Значение), Поле.Значение) + Символы.ПС; КонецЦикла; КонецФункции |
|||
1
Горогуля
14.10.15
✎
11:45
|
>затирает ТекстовыйДок
а ты его таскай за собой |
|||
2
slabak
14.10.15
✎
11:58
|
(1) Так ведь это реквизит формы, он и так со мной)
|
|||
3
slabak
14.10.15
✎
11:59
|
(1) Реквизит формы - тип строка.
|
|||
4
Горогуля
14.10.15
✎
11:59
|
хорошо, научи функцию таскать его за собой
|
|||
5
itlikbez
14.10.15
✎
12:10
|
(0) В конце функции обычно пишут слово "возврат".
|
|||
6
DTXyupyup
14.10.15
✎
12:11
|
По идее, не должна она его затирать. Смотри отладчиком, в чем там дело.
|
|||
7
PR третий
14.10.15
✎
12:12
|
(5) Это только слабые духом. Сильные ничего не возвращают, только забирают.
|
|||
8
itlikbez
14.10.15
✎
12:13
|
(6) По идее - не должна. А по реализации идеи - должна. Чего там отладчиком смотреть. Все и без отладчика видно.
|
|||
9
DTXyupyup
14.10.15
✎
12:16
|
(8) И чего видно то?
Он прост процедуру функцией обозвал. |
|||
10
DTXyupyup
14.10.15
✎
12:29
|
Разве что он её вызывает криво
ТекстовыйДок = ОбойтиСтруктуру() но тут этого не видно |
|||
11
Mort
14.10.15
✎
12:39
|
Эх, вывод дерева в консольку псевдографикой. Лабораторная работа на первом курсе тыщу лет назад.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |