Версия для печати темы (https://pro1c.org.ua/index.php?s=aec76b2c5581bb48eb11d9ea1158565d&showtopic=45216)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Удалить последнюю запись в ТЧ при программном заполнении

Автор: Constantus 12.04.18, 12:55

Приветствую, форумчане!
"Управление торговлей 10.3", (Моби-С 5.5). "ABBYY Ukraine", 2003-2014 (2.3.20.1)

Программно заполняю ТЧ документа:

    для каждого стр из з.Выполнить().Выгрузить() цикл 
        новСтр  = РасходныеНакладные.Добавить();
        новСтр.РеализацияТоваровУслуг = стр.Ссылка;
        новСтр.Контрагент = новСтр.РеализацияТоваровУслуг.Контрагент;
        новСтр.Сумма = стр.СуммаДокумента;
        ЗаполнитьОбщийВесРейса ();
        ЗаполнитьОбщийОбъемРейса();
        Если НЕ Срочный Тогда
        Если ОбщийВесРН > Грузоподъемность Тогда
            Сообщить("Вес превышает установленные нормы");
            Прервать;
        КонецЕсли;    
        КонецЕсли;
    КонецЦикла;


Как видно, там есть условие, если вес превышает, то прекратить дальнейшее заполнение. Но дело в том, что сначала заполняются данные, потом идет проверка.
Так вот, при заполнении последней записи, когда срабатывает условие, эта запись сохраняется.

Как можно удалить или не сохранять эту последнюю запись с перебором по весу?

Автор: sava1 12.04.18, 13:23

А проверить до заполнения - никак ?

Автор: Constantus 12.04.18, 13:30

Вот нашел. Вроде работают все 3 варианта. Но какой из них надежнее и стабильнее?


            РасходныеНакладные.Удалить(новСтр);
            РасходныеНакладные.Удалить(РасходныеНакладные.Количество()-1);
            РасходныеНакладные.Удалить(РасходныеНакладные[РасходныеНакладные.Количество()-1]);


Автор: sava1 12.04.18, 13:33

первая - надежно.

Автор: Constantus 12.04.18, 13:43

sava1 @ Сегодня, 16:33 * ,


Я так и знал!!! icon_beer17.gif

Автор: Vofka 16.04.18, 9:06

Цитата(sava1 @ 12.04.18, 14:33) *
первая - надежно.

А что может пойти не так при использовании 2 и 3 варианта?

Автор: sava1 16.04.18, 9:19

Да вроде ничего - но это больше похоже на "ректальный" метод - у нас есть ссылка на строку, а мы ищем последнюю в ТЧ.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua