Вход | Регистрация
 

Отказ или ВызватьИсключение

Отказ или ВызватьИсключение
Я
   rowvg
 
01.10.20 - 10:42
Подскажите, пожалуйста, как правильно прервать транзакцию при проведении документа:

Отказ = Истина;
Возврат;

ИЛИ

ВызватьИсключение(ТекстОшибки);

?
   ДенисЧ
 
1 - 01.10.20 - 10:45
Много от чего зависит...
Штатный способ - это отказ.
Исключение - это когда вообще Нестор...
   Sserj
 
2 - 01.10.20 - 10:47
При Отказ у тебя могут выоплняться все последующие процедуры, которые может быть и нужны и они кстати могут потом этот Отказ поменять опять на Ложь в случае чего. А по ВызватьИсключение у тебя произойдет немедленный выброс из всей последовательности обработки.
Вот и выбирай.
   rowvg
 
3 - 01.10.20 - 10:48
(2) Мне так и надо У меня после Отказ = Истина; следом идет Возврат;
   Sserj
 
4 - 01.10.20 - 10:50
(3) Вопрос в том где именно у тебя этот Отказ. Если он у тебя в какой то подписке на события и их несоколько подписок то все остальные все равно будут работать но со значением Отказ-Истина.
   experimentator76
 
5 - 01.10.20 - 11:44
(0) все просто
если хочешь Отказ обрабатывать или того требует логика разработанного до тебя - используй Отказ как флаг.
если же надо немедленно "грубо" прервать транзакцию - вызывай исключение.
исключение еще в журнал регистрации пишется, так что накапливается какая-то статистика по исключениям
   Мойдодыр
 
6 - 01.10.20 - 11:49
лучше вызвать исключение с подробным описанием ошибки, чтоб в жр записалось.
иначе там будет "Не удалось провести документ"
   experimentator76
 
7 - 01.10.20 - 12:28
(6) дада именно так - сама по себе ошибка не несет информации ни для пользователя ни для прога... поэтому описание ошибки не помешает
   Ненавижу 1С
 
8 - 01.10.20 - 13:28
(1) расскажи это авторам типовых. У них исключение вызвать без проблем
   ДенисЧ
 
9 - 01.10.20 - 13:29
(8) Я с инопланетянами не разговариваю

Список тем форума
Рекламное место пустует  Рекламное место пустует
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.