|
Итератор для значения не определен | ☑ | ||
---|---|---|---|---|
0
sidalexsandr
21.08.21
✎
19:13
|
{ВнешняяОбработка.ДеревоУровень.Форма.Форма.Форма(19)}: Итератор для значения не определен
Для Каждого стрДерева из ДеревоЗн Цикл Вот текст обработки &НаКлиенте Процедура ПодсчитатьУровни(Команда) КоличествоУровней = 0; СтрокиДер = 0; ПодсчитатьУровниНаСервере(СтрокиДер,СтрокиДер ); Сообщить("Максимальное количество уровней = " + КоличествоУровней); КонецПроцедуры &НаСервере Процедура ПодсчитатьУровниНаСервере(СтрДер, К) Для Каждого стрДерева из ДеревоЗн Цикл Если стрДерева.Строки.Количество() <> 0 Тогда ПодсчитатьУровниНаСервере(стрДерева.Строки, К); К = стрДерева.Уровень(); КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
1
youalex
21.08.21
✎
19:14
|
ДеревоЗн.Строки
|
|||
2
sidalexsandr
21.08.21
✎
19:17
|
(1) {ВнешняяОбработка.ДеревоУровень.Форма.Форма.Форма(19)}: Поле объекта не обнаружено (Строки)
Для Каждого стрДерева из ДеревоЗн.Строки Цикл |
|||
3
МихаилМ
21.08.21
✎
19:29
|
||||
4
Andreyyy
21.08.21
✎
19:30
|
(1) РеквизитФормыВЗначение
|
|||
5
sidalexsandr
21.08.21
✎
19:31
|
(4) Напиши пожалуйста где это написать
|
|||
6
youalex
21.08.21
✎
19:33
|
тогда ПолучитьЭлементы()
|
|||
7
sidalexsandr
21.08.21
✎
19:41
|
(6) Для Каждого стрДерева из ДеревоЗн.ПолучитьЭлементы() Цикл
{ВнешняяОбработка.ДеревоУровень.Форма.Форма.Форма(21)}: Поле объекта не обнаружено (Строки) Если стрДерева.Строки.Количество() <> 0 Тогда |
|||
8
hhhh
21.08.21
✎
20:18
|
(7) вот тут фигня какая-то
СтрокиДер = 0; ПодсчитатьУровниНаСервере(СтрокиДер,СтрокиДер ); получается берете потом СтрДер.Строки от 0. А у числа 0 нет поля Строки |
|||
9
серый КТУЛХУ
21.08.21
✎
20:26
|
&НаСервере
Процедура ПодсчитатьУровниНаСервере(СтрДер, К) ДеревоОбъект = РеквизитФормыВЗначение("ДеревоЗн"); Для Каждого стрДерева из ДеревоОбъект Цикл |
|||
10
sidalexsandr
21.08.21
✎
22:16
|
(9) {ВнешняяОбработка.ДеревоУровень.Форма.Форма.Форма(21)}: Итератор для значения не определен
Для Каждого стрДерева из ДеревоОбъект Цикл |
|||
11
hhhh
21.08.21
✎
22:34
|
(10) из ДеревоОбъект.Строки
|
|||
12
sidalexsandr
21.08.21
✎
22:36
|
(11) Написал
&НаСервере Процедура ПодсчитатьУровниНаСервере(СтрДер, К) ДеревоОбъект = РеквизитФормыВЗначение("ДеревоЗн"); Для Каждого стрДерева из ДеревоОбъект.Строки Цикл Если стрДерева.Строки.Количество() <> 0 Тогда ПодсчитатьУровниНаСервере(стрДерева.Строки, К); К = стрДерева.Уровень(); КонецЕсли; КонецЦикла; КонецПроцедуры Когда создаю второй уровень вложенности на форме 1с вылетает |
|||
13
Andreyyy
21.08.21
✎
23:02
|
(12) Зацикливание, потому и вылетает.
|
|||
14
youalex
21.08.21
✎
23:03
|
(12)просто не твоё
|
|||
15
hhhh
21.08.21
✎
23:19
|
(12) СтрДер у тебя вообще не используется, зачем ты ее передаешь?
|
|||
16
серый КТУЛХУ
22.08.21
✎
00:19
|
не дорос до рекурсии ишшо...
|
|||
17
серый КТУЛХУ
22.08.21
✎
00:42
|
&НаСервере
Процедура ПодсчитатьУровниНаСервере() ДеревоОбъект = РеквизитФормыВЗначение("ДеревоЗн"); КвоУровней = 0; КолвоУровнейДерева(ДеревоОбъект,КвоУровней); КонецПроцедуры &НаСервере Процедура КолвоУровнейДерева(СтрДер, К) Для Каждого стрДерева из СтрДер.Строки Цикл К = Макс(К, СтрДер.Уровень()); Если стрДерева.Строки.Количество() <> 0 Тогда КолвоУровнейДерева(стрДерева, К); КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
18
sidalexsandr
22.08.21
✎
01:01
|
(17) Спасибо за помощь. Мне надо вывести с помощью Сообщить максимальный уровень вложенности, а у тебя обе функции с директивой компиляции НаСервере. Где вставить процедуру с директивой компиляции НаКлиенте и вывести макс уровень вложенности с помощью Сообщить?
|
|||
19
sidalexsandr
22.08.21
✎
01:05
|
{ВнешняяОбработка.ДеревоУровень.Форма.Форма.Форма(21)}: Метод объекта не обнаружен (Уровень)
К = Макс(К, СтрДер.Уровень()); |
|||
20
sidalexsandr
22.08.21
✎
01:14
|
(17) Ошибку нашел вот
К = Макс(К, стрДерева.Уровень()); Всё теперь работает огромное спасибо |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |