Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Итератор для значения не определен.

Итератор для значения не определен.
Я
   Новичок10
 
31.05.19 - 11:37
Доброе утро.
Нужно программно у всех бизнес процессов Согласование в табличной части Исполнители проставить пометку Пройден = Истина. Написал процедуру, но не работает.  Но никак не пойму почему. Подскажите, пожалуйста.
&НаСервере
Процедура кнопкаНаСервере()
    
БП = БизнесПроцессы.Согласование.Выбрать();
Для Каждого Б из БП цикл
    Для Каждого Ис из Б.Исполнители Цикл
        ИС.Пройден = Истина;
    КонецЦикла;
    Б.Записать();
    КонецЦикла;
    
КонецПроцедуры
 
 
   Новичок10
 
1 - 31.05.19 - 11:37
1с ругается : Итератор для значения не определен.
   dka80
 
2 - 31.05.19 - 11:39
БП = БизнесПроцессы.Согласование.Выбрать();

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

 &НаСервере
Процедура кнопкаНаСервере()
    
БП = БизнесПроцессы.Согласование.Выбрать();
 Пока БП.Следующий() Цикл
     БПОбъект = БП.Ссылка.ПолучитьОбъект();
     Для Каждого Строка из БПОбъект.Исполнители Цикл
         Строка.Пройден = Истина;
     КонецЦикла;
     БПОбъект.Записать();
 КонецЦикла;

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

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.