Удаление существующих строк

Для удаления строк воспользуемся обработкой Произвольный алгоритм объектом обработки для нее будет объект возвращаемый обработкой Загрузка данных, поэтому обработку и перетащим на обработку с именем  "Группа"

После чего стрелкой Вверх переместим обработку до  обработки Записать. Откроем обработку встроенного языка "Номер" и введем следующий код:

Выражение на встроенном языке

Если ТипЗнч(Объект) = Тип("ДокументОбъект.ПоступлениеТоваровУслуг") Тогда

    НомерСтроки = Объект.Ссылка.Товары.Количество()-1;

    Пока НомерСтроки>=Цикл

        Объект.Товары.Удалить(НомерСтроки);

        НомерСтроки = НомерСтроки -1;

    КонецЦикла;

КонецЕсли;


Обработка Загрузки данных "Группа" возвращает все полученные(загруженные, найденные измененные, не измененные) объекты. 
В нашем случае это объекты  следующих типов:
 
Для этих еще не записанных объектов выполняются вложенные обработки:
Поскольку изменения еще не записаны(обработка Номер находится выше обработки Записать в дереве выбранных обработок) то получить версию до внесения изменений (добавления строк) можно если обратиться к ссылке на объект Объект.Ссылка.
Оттуда мы узнаем сколько строк было в документе до изменения и все их удалим, оставив только те строки, которые предусмотрены(добавлены) обработкой загрузки данных "Группа".
Comments