0

Обход дерева значений 1С

#Все конфигурации#Дерево значений

Привет! Мне нужно написать процедуру для обхода дерева значений, вся проблема в том, что я не знаю количество уровней дерева, подскажите как реализовать обход дерева значений с неизвестным количеством уровней

 4491 1
Добавлено_Наталья_844 дня назад
Отредактировано692 дня назад


Добавить комментарий

Виталий написал:844 дня назад0

Тут нужно воспользоваться рекурсией, т.е. необходимо что бы процедура обхода вызывала сама себя на каждом уровне дерева значений.

Вот примеры такой процедуры:

Для обычного приложения:

Процедура ОбойтиДеревоЗначений(Элемент)
    ПодчиненныйЭлемент=Элемент.Строки;
    Для Каждого Строка из ПодчиненныйЭлемент Цикл
        //Твой код по обработке строки дерева
        ОбойтиДеревоЗначений(Строка);
    КонецЦикла;
КонецПроцедуры

Для управляемого приложения:

&НаКлиенте
Процедура ОбойтиДеревоЗначений(Элемент)
    ПодчиненныйЭлемент=Элемент.ПолучитьЭлементы();
    Для Каждого Строка из ПодчиненныйЭлемент Цикл
        //Твой код по обработке строки дерева;
        ОбойтиДеревоЗначений(Строка);
    КонецЦикла;
КонецПроцедуры

Для начала обхода дерева необходимо вызвать процедуру ОбойтиДеревоЗначений и передать туда верхний уровень дерева. Ну а если верхних уровней несколько, то нужно в цикле обойти их все:

Для Каждого Стр из ДанныеДерева Цикл
    ОбходДерева(Стр);
КонецЦикла;

Ответить

Задать вопрос!

Наш канал на Youtube

Изучаете 1С? Скачайте 200 видео по 1С бесплатно:

Похожее

Передать в запрос 1с таблицу значений

Привет, народ. Вопрос есть, можно ли в запрос в 1с-ке передать параметром таблиц...

Итог по столбцу в таблице значений 1С

Ребят, подскажите можно ли без обхода циклом посчитать итог по числовому полю в ...

Преобразовать массив в список значений

Народ, подскажите как в 1С 8 из массива сделать список значений, без использован...

Скопировать или создать колонки таблицы значений 1С

Народ, у меня такой вопрос: у меня есть таблица значений, мне нужно создать точн...

Перенаправления значений

1С:Предприятие 8.2 (8.2.19.130) Зарплата и Управление Персоналом, редакция 2.5 (...

Новое

Работа с регистром накопления и документами

Друзья! Прошу помощи! Есть документ ПередачаОбъектаВПрокат, который выполняет дв...

Компановщик макета неуправляемых форм

Добрый вечер! Проблема состоит в следующем: происходит динамическое формирование...

как убрать Партионный учет с одного счета?

Имеется 1 с 8.2 в настройках управления МПЗ выставлено “ведется учет по партиям...

Погашение стоимости спецодежды

Добрый день. Столкнулась вот с какой проблемой: при проведении документа в 1С 8...

Привязка контрагента к менеджеру

Добрый день! Подскажите, пожалуйста, есть ли возможность в 1С 8.3 Предприятие сд...