Имя: Пароль:
1C
 
Почему возникает ошибка?
0 anders297
 
05.09.22
09:14
ТекстЗапроса =
"ВЫБРАТЬ
|    Номенклатура.Ссылка
|ИЗ
|    Справочник.Номенклатура КАК Номенклатура"
;
Запрос = Новый Запрос(ТекстЗапроса);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
    Об = Выборка.Ссылка.ПолучитьОбъект();
    Об.Удалить();
КонецЦикла;

Время от времени Выборка.Ссылка позиционируется на уже удаленную ссылку и Об=Неопределено.
Если запустить по второму кругу, продолжает работать.
Разве Удалить() сбивает порядок обхода выборки?
1 Волшебник
 
05.09.22
09:16
добавь проверку на Об=Неопределено
или включи Удалить в Попытку.
2 Kassern
 
05.09.22
09:17
(0) Можно выгрузить в ТЗ и обходить его с конца, тогда такой проблемы не будет
3 alarm2020
 
05.09.22
09:17
(0) Видимо при удалении одних элементов, удаляются другие
4 alarm2020
 
05.09.22
09:18
(2) Не факт
5 СеменовСемен
 
05.09.22
09:20
иерархия. при удалении группы удаляются вложенные
6 1Сергей
 
05.09.22
10:29
(5) +1
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс