Как найти максимальное количество уровней в Дереве значений 1с

Как найти максимальное количество уровней в Дереве значений 1с

Простая функция которая находит максимальное количество уровней в дереве значений 1с.

Вычислять будем в 2 этапа:
1. Обращаемся к процедуре на сервере в которой переганяем наше дерево значений в из реквизита в значение.

2. Потом обращаемся к функции которая также будет рекурсивно обращаться сама к себе.


&НаСервере
Процедура НайтиМаксимальныйУровеньНаСервере()

ДеревоЗначенныйРек = РеквизитФормыВЗначение("ДЗ"); // НашеДерево значень
КоличествоУровней = КоличествоУровней(ДеревоЗначенныйРек.Строки); // Тут перебираємо рівні
Сообщить("Максимальна кількіст:" + Строка(КоличествоУровней));

КонецПроцедуры

Функция КоличествоУровней(СтрокиДЗ)

Если СтрокиДЗ.Количество() = 0 Тогда
Возврат 0;
КонецЕсли;

КоличествоУровней = 0;
Для каждого СтрокаДЗ ИЗ СтрокиДЗ Цикл
КоличествоУровней = Макс(КоличествоУровней(СтрокаДЗ.Строки), КоличествоУровней);
КонецЦикла;
Возврат КоличествоУровней + 1;

КонецФункции



Теги:   


2024-06-09




Выбрать язык:
-  руский
-  Українська