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