|
Как найти максимальный уровень строк исходного дерева значений и вывести его на форму? | ☑ | ||
|---|---|---|---|---|
|
0
sergqwert
11.04.21
✎
16:32
|
Как найти максимальный уровень строк исходного дерева значений и вывести его на форму в реквизит "Уровень"? Во время отладки возникает ошибка Поле объекта не обнаружено (СтрокиДЗ).
{Обработка.Тест4.Форма.Форма.Форма(48)}: КоличествоУровней(ДеревоЗначений.СтрокиДЗ); {Обработка.Тест4.Форма.Форма.Форма(42)}: ВыполнитьРезультатНаСервере(); &НаСервере Процедура ВыполнитьРезультатНаСервере() ДеревоЗначенийРек = РеквизитФормыВЗначение("ДеревоЗначений"); ДеревоЗначенийРек.Строки.Очистить(); КоличествоУровней(ДеревоЗначений.СтрокиДЗ); ЗначениеВРеквизитФормы(ДеревоЗначенийРек, "ДеревоЗначений"); КонецПроцедуры Функция КоличествоУровней(СтрокиДЗ) Если СтрокиДЗ.Количество() = 0 Тогда Возврат 0 КонецЕсли; КоличествоУровней = 0; Для Каждого СтрокаДЗ ИЗ СтрокиДЗ.Строки Цикл КоличествоУровней = Макс(КоличествоУровней(СтрокаДЗ.Строки), КоличествоУровней); КонецЦикла; Возврат КоличествоУровней + 1; КонецФункции |
|||
|
1
vicof
11.04.21
✎
17:10
|
КоличествоУровней(ДеревоЗначений.Строки);
|
|||
|
2
vicof
11.04.21
✎
17:11
|
Точней КоличествоУровней(ДеревоЗначенийРек.Строки);
|
|||
|
3
vicof
11.04.21
✎
17:11
|
Ну и очистку убрать перед этим
|
|||
|
4
sergqwert
11.04.21
✎
18:05
|
Переписал код.
&НаСервере Процедура ВыполнитьРезультатНаСервере() ДеревоЗначенийРек = РеквизитФормыВЗначение("ДеревоЗначений"); КоличествоУровней(ДеревоЗначенийРек.Строки); ЗначениеВРеквизитФормы(ДеревоЗначенийРек, "ДеревоЗначений"); КонецПроцедуры Функция КоличествоУровней(СтрокиДЗ) Если СтрокиДЗ.Количество() = 0 Тогда Возврат 0 КонецЕсли; КоличествоУровней = 0; Для Каждого СтрокаДЗ ИЗ СтрокиДЗ[0].Строки Цикл КоличествоУровней = Макс(КоличествоУровней(СтрокаДЗ.Строки), КоличествоУровней); КонецЦикла; Возврат КоличествоУровней + 1; КонецФункции Выводит максимальный уровень = 1, а нужно чтобы максимальный уровень = 4. Как сделать? |
|||
|
5
vicof
11.04.21
✎
18:15
|
Загугли, как дерево значений иерархически обходить. Тыщу раз обсуждалось.
Ну и надо отладчиком начинать пользоваться. |
|||
|
6
sergqwert
11.04.21
✎
18:19
|
||||
|
7
Chameleon1980
11.04.21
✎
18:19
|
Продам все решения этой конфы
😁 |
|||
|
8
Chameleon1980
11.04.21
✎
18:20
|
А вы похожи
Как выполняются обе процедуры? |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |