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