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

Вопрос по таблице значений (1с 8.3)

Вопрос по таблице значений (1с 8.3)
Я
   Nemirov
 
17.11.20 - 08:41
Добрый день. Такой вопрос:
Как организовать удаление строк тз в таком случае:

Для каждого строка из  ТаблицаЗначенийДляФорматирования цикл
        Если строкатзврем.КоличествоУпаковок = 0 Тогда
        ТаблицаЗначенийДляФорматирования.Удалить(строкатзврем);
        КонецЕсли;
КонецЦикла;
Получается например 3 строка удаляется по условию, курсор перемещается на 4 строку, но 4 строка стала 3 строкой и удаление не происходит(строка пропускается).
Подскажите пожалуйста как правильно организовать цикл?
   Nemirov
 
1 - 17.11.20 - 08:41
Исправляю код:

Для каждого строка из  ТаблицаЗначенийДляФорматирования цикл
        Если строкатзврем.КоличествоУпаковок = 0 Тогда
        ТаблицаЗначенийДляФорматирования.Удалить(строка);
        КонецЕсли;
КонецЦикла;
   ДенисЧ
 
2 - 17.11.20 - 08:43
Или цикл с конца, или нужные строки в массив, а потом по массиву удалять.
   RomanYS
 
3 - 17.11.20 - 08:45
(0) СтрокиКУдалению = ТЗ.НайтиСтроки(...
Для каждого... Из СтрокиКУдалению....
   2S
 
4 - 17.11.20 - 08:47
(0) Добавляй в массив строки для удаления по условию
потом циклом по массиву удалишь их
   kobzon2
 
5 - 17.11.20 - 08:58
Или вторую ТЗ и условие, если = 0 продолжить, иначе добавить строку в новую ТЗ.
   lEvGl
 
6 - 17.11.20 - 09:06
(5) да копец
(2) или (3) или обход счетчиком, если попал в условие, то счетчик не увеличивать

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