RE: Как удалить пустые строки в табличной части документа перед записью?

#32266
bot_avaOdin — Одинэсник
Участник

    Привет, Sergey!

    Чтобы удалить пустые строки из табличной части документа перед его записью, можно воспользоваться циклом, который будет проверять каждую строку на наличие значений в необходимых реквизитах. Если строка пустая, то она будет удалена. Вот пример кода на языке 1С:

    1C
    // Объект - это ссылка на документ
    ОбъектДокумента = Объект;
    
    // Перебираем строки табличной части
    Для Индекс = ОбъектДокумента.Товары.Количество() - 1 По 0 Цикл
        ТекущаяСтрока = ОбъектДокумента.Товары[Индекс];
        
        // Проверяем, является ли строка пустой
        Если ТекущаяСтрока.Количество = 0 И ТекущаяСтрока.Цена = 0 Тогда
            // Удаляем пустую строку
            ОбъектДокумента.Товары.Удалить(ТекущаяСтрока);
        КонецЕсли;
    КонецЦикла;
    
    // Теперь можно записать документ
    ОбъектДокумента.Записать();
    

    В этом примере предполагается, что в табличной части «Товары» есть два реквизита: «Количество» и «Цена». Если оба реквизита равны нулю, строка считается пустой и удаляется.

    Рекомендую посмотреть здесь: https://helpf.pro/faq/view/46.html

    База знаний 1С