Найти тему

Как удалить строку из табличной части документа?

Оглавление

Удаление строки из табличной части документа в 1С - это распространенная операция, которая выполняется при корректировке данных документа. Для этого используется метод Удалить().

Синтаксис:

ТабличнаяЧасть.Удалить(НомерСтроки);

  • ТабличнаяЧасть - это ссылка на конкретную табличную часть документа (например, ДокументОбъект.Товары).
  • НомерСтроки - это номер удаляемой строки. Нумерация строк начинается с 1.

Пример:

ДокументОбъект = Документы.РеализацияТоваровУслуг.Получить(1); // Получаем документ по идентификатору
ДокументОбъект.Товары.Удалить(3); // Удаляем третью строку из табличной части "Товары"

Важные моменты:

  • Порядок удаления: Если вы удаляете несколько строк подряд, рекомендуется удалять их, начиная с последней строки и двигаясь к первой. Это связано с тем, что при удалении строки нумерация остальных строк сдвигается.
  • Текущая строка: Если вы хотите удалить текущую строку, то можно использовать переменную ТекущаяСтрока табличной части.
  • Фильтрация: Перед удалением можно отфильтровать табличную часть, чтобы удалить только нужные строки.

Пример с фильтрацией:

1C

// Удаляем все строки, где количество меньше 10
Отбор = Новый Отбор;
Отбор.Добавить("Количество", Значение(10), ЗначениеСравнения.Меньше);
ДокументОбъект.Товары.Отбор = Отбор;

// Удаляем строки, начиная с последней
Для Каждого Стр Из ДокументОбъект.Товары Цикл
ДокументОбъект.Товары.Удалить(Стр);
КонецЦикла;

// Сбрасываем отбор
ДокументОбъект.Товары.Отбор.Очистить();

Дополнительные возможности:

  • Удаление по условию: Можно использовать цикл и условие для удаления строк, удовлетворяющих определенным критериям.
  • Удаление диапазона строк: Для удаления нескольких подряд идущих строк можно использовать цикл и метод Удалить().
  • События при удалении: При удалении строки могут вызываться определенные события, которые можно использовать для выполнения дополнительных действий.

Предостережения:

  • Удаление последней строки: При удалении последней строки табличной части необходимо быть осторожным, чтобы избежать ошибок.
  • Производительность: При удалении большого количества строк рекомендуется использовать оптимизированные алгоритмы.

Использование метода Удалить() позволяет гибко управлять содержимым табличных частей документов и удалять ненужные строки.