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

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

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

Обчислювати будемо у 2 етапи:
1. Звертаємося до процедури на сервері в якій переганяємо наше дерево значень із реквізиту в значення.

2. Потім звертаємося до функції, яка також буде рекурсивно звертатися сама до себе.


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

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

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

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

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

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

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



Теги:   


2024-06-09





Вибрати мову:
-  руский
-  Українська