1С удаление строк из табличной части

О причинах неработоспособности сайта Вы можете уточнить у администрации – хостинг-провайдер .masterhost, отвечающий за его поддержку, предоставляет управление услугами и доменами их владельцам.

Здесь можно ознакомиться с актуальными акциями и выгодными предложениями от .masterhost

1С просто и понятно

Нажмите, чтобы связаться со мной:

Табличная часть 1С

Удивительно, но простым перебором строк и удалением по индексу нужные строки из табличной части удалить не получится. Дело в том, что при удалении индексы строк меняются.

Решить проблему можно с помощью такого кода:

КолВо = Бонусы.Количество()-1; // Получаем количество строк в табличной части минус один
ИндексСтроки = КолВо; //Первый индекс строки
Для Счетчик = 0 по КолВо Цикл //Перебираем строки табличной части
Запись = Бонусы.Получить(ИндексСтроки); //Получаем первую строку
Если Запись.СуммаУТ=Запись.СуммаРозница тогда //Проверяем на заданное условие
Бонусы.Удалить(Запись); //Удаляем
КонецЕсли;
ИндексСтроки = ИндексСтроки — 1; //Получаем индекс следующей записи
КонецЦикла;

Надеюсь, вам помог этот пример. Если вы знаете другой способ, как удалить строки по условию из табличной части, вы можете поделиться им в комментариях.)

От Программист 1С

Просмотреть все записи от Программист 1С по этой ссылке.

Удалить все строки табличного поля документа.
Код 1C v 8.х

Как в табличной части документа удалить строки только с нулевым значением реквизита "Количество"?
Код 1C v 8.х

Как удалить все строки, кроме тех которые соответсвуют заданному отбору?
Код 1C v 8.х

В режиме управляемого приложения конструкция:
Код 1C v 8.2 УП

Работает некорректно, так как переписывает табличную часть и меняет индексы, сразу после удаления и Цикл полностью не обходит.
Решение пришло такое:
Код 1C v 8.2 УП