|
Итератор для значения не определен.
| ☑ |
0
Новичок10
31.05.19
✎
11:37
|
Доброе утро.
Нужно программно у всех бизнес процессов Согласование в табличной части Исполнители проставить пометку Пройден = Истина. Написал процедуру, но не работает. Но никак не пойму почему. Подскажите, пожалуйста.
&НаСервере
Процедура кнопкаНаСервере()
БП = БизнесПроцессы.Согласование.Выбрать();
Для Каждого Б из БП цикл
Для Каждого Ис из Б.Исполнители Цикл
ИС.Пройден = Истина;
КонецЦикла;
Б.Записать();
КонецЦикла;
КонецПроцедуры
|
|
1
Новичок10
31.05.19
✎
11:37
|
1с ругается : Итератор для значения не определен.
|
|
2
dka80
31.05.19
✎
11:39
|
БП = БизнесПроцессы.Согласование.Выбрать();
Для Каждого Ис из БП.Исполнители Цикл
ИС.Пройден = Истина;
КонецЦикла;
БП.Записать();
|
|
3
Новичок10
31.05.19
✎
11:42
|
(2) Та же самая ошибка.
|
|
4
mikecool
31.05.19
✎
11:42
|
(3) в отладчик, смотреть тип объекта у которого обходишь, думаешь
|
|
5
hhhh
31.05.19
✎
11:43
|
(2) тут не Для каждого надо. Чего вы путаете?
Пока БП.Следующий() Цикл
|
|
6
ice777
31.05.19
✎
11:49
|
(0) а Выгрузить?
У тебя скорее всего не коллекция и ходить не по чему
|
|
7
Новичок10
31.05.19
✎
11:50
|
(5) Большое спасибо. Все получилось.
&НаСервере
Процедура кнопкаНаСервере()
БП = БизнесПроцессы.Согласование.Выбрать();
Пока БП.Следующий() Цикл
БПОбъект = БП.Ссылка.ПолучитьОбъект();
Для Каждого Строка из БПОбъект.Исполнители Цикл
Строка.Пройден = Истина;
КонецЦикла;
БПОбъект.Записать();
КонецЦикла;
КонецПроцедуры
|
|