|
Как правильно перебрать все строки табличной части для удаления строки |
☑ |
0
repin_mike
07.03.19
✎
16:40
|
Для Каждого Стр из Объект.ТабЧасть Цикл
Если ВыполненоУсловиеУдаления Тогда
Объект.ТабЧасть.Удалить(Стр);
КонецЕсли;
КонецЦикла;
В разультате выполнения в табличной части остаются строки, для которых условие удаления выполнено. Как я понимаю это связано с тем, что табличная часть меняется внутри цикла, и цикл Для Каждого неправильно определяет следующий элемент. А как тогда правильно?
|
|
1
aleks_default
07.03.19
✎
16:51
|
По индексу
|
|
2
RomanYS
07.03.19
✎
16:59
|
(0) либо два цикла (находим, удаляем по списку), либо обратный цикл.
Если условие простое, то цикл по НайтиСтроки(Отбор)
|
|
3
Cyberhawk
07.03.19
✎
17:00
|
Получаешь массив кандидатов в удалению.
Далее в цикле по этому массиву удаляешь строки из ТЧ
|
|
4
Ахмадинежад
07.03.19
✎
17:17
|
Для х = - Объект.ТабЧасть.Количество() По -1 Цикл
ТекСтр = Объект.ТабЧасть[-х-1];
Если Удалять(ТекСтр) Тогда
Объект.ТабЧасть.Удалить(ТекСтр)
КонецЕсли;
КонецЦикла;
|
|