Удивительно, но простым перебором строк и удалением по индексу нужные строки из табличной части удалить не получится. Дело в том, что при удалении индексы строк меняются.
Решить проблему можно с помощью такого кода:
1 2 3 4 5 6 7 8 9 | КолВо = Бонусы.Количество()-1; // Получаем количество строк в табличной части минус один ИндексСтроки = КолВо; //Первый индекс строки Для Счетчик = 0 по КолВо Цикл //Перебираем строки табличной части Запись = Бонусы.Получить(ИндексСтроки); //Получаем первую строку Если Запись.СуммаУТ=Запись.СуммаРозница тогда //Проверяем на заданное условие Бонусы.Удалить(Запись); //Удаляем КонецЕсли; ИндексСтроки = ИндексСтроки - 1; //Получаем индекс следующей записи КонецЦикла; |
Надеюсь, вам помог этот пример. Если вы знаете другой способ, как удалить строки по условию из табличной части, вы можете поделиться им в комментариях.)
Добавить комментарий