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

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

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

Автор: Constantus 21.09.20, 13:56

Приветствую, Форумчане!
1с8.3.12, самопис, УФ

Имеется некая процедура "ВыполнитьВсякуюЕрунду", в которой помимо прочего есть процедура создания документа

СоздатьДокументПеремещениеТМЦ();



Бывают случаи, когда при создании этого документа документ хоть и создается (программно), но не проводится и не сохраняется (не выполняются условия по остаткам товара), выходит соответствующее сообщение, что проведение невозможно...

Как можно добится, чтобы если при создании этого документа

       ПеремещениеТМЦ.Заполнить(Объект.Ссылка);
        ПеремещениеТМЦ.Записать(РежимЗаписиДокумента.Проведение);


выясняется, что проведение невозможно, т.е. получен отказ, запретить выполнение дальнейших операций в процедуре
"ВыполнитьВсякуюЕрунду"


Вот выходит такая ошибка при попытке провести:

{Документ.Заказ.Форма.ФормаДокумента.Форма(4567)}: Ошибка при вызове метода контекста (Записать)
        ПеремещениеТМЦ.Записать(РежимЗаписиДокумента.Проведение);
по причине:
Не удалось провести: "Перемещение ТМЦ"!


Именно при такой ситуации и нужно прервать выполнение дальнейших команд

Автор: sava1 21.09.20, 14:42

успешно = истина;

Попытка
     Документ.записать();
Исключение
     Успешно = ложь;
КонецПопытки;

возврат Успешно;

Автор: Vofka 21.09.20, 15:35

Обернуть в Попытку строку

ПеремещениеТМЦ.Записать(РежимЗаписиДокумента.Проведение);


Попытка
   ПеремещениеТМЦ.Записать(РежимЗаписиДокумента.Проведение);
Исключение
   Возврат;
КонецПопытки;

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