- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
Попытка
ДокументВозврата.Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Неоперативный);
Исключение
Попытка
ДокументВозврата.Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Неоперативный);
Исключение
Сообщить("Не удалось записать/провести документ возврата в ИБ " + ДокументВозврата, СтатусСообщения.ОченьВажное);
КонецПопытки;
ДокументВозврата.Записать(РежимЗаписиДокумента.Запись);
КонецПопытки;
Что делать, если не получилось провести документ? Правильно! Попробовать еще раз!
А потом еще и записать.
Для надежности.
bormand 15.10.2013 20:27 # +3
nixel 24.11.2013 12:29 # 0
А код - треш конечно.
someone 15.10.2013 23:52 # 0
LispGovno 16.10.2013 01:51 # 0
anonimb84a2f6fd141 16.10.2013 02:29 # +1
da4ever 16.10.2013 06:34 # +2
bormand 16.10.2013 08:42 # +2
Личное сообщение zfilin'у :) Личка в гк такая личка.
zfilin 16.10.2013 11:55 # 0
guest 21.01.2014 04:26 # 0
Что не так?
guest 21.01.2014 11:38 # 0
Но к коду он отношения не имеет.
iMoxa 02.02.2014 08:09 # 0
kegdan 02.02.2014 10:30 # 0
iMoxa 02.02.2014 13:25 # 0
Легко.
1. Записать изменения в таблицу документов и таблицу табличных частей документов. Проверить по контрольным функциям, можно ли записать данные в таблицы регистров и сделать это, если контроль положительный при установленном параметре ОперативноеПроведение.
2. В случае отказа в п.1, то же самое с параметром Неоперативное проведение.
3. В случае отказа записи просто записать данные в таблицу документов и табличных частей документов.
crastinus 02.02.2014 11:01 # 0
kegdan 02.02.2014 11:44 # 0
LispGovno 02.02.2014 12:34 # +1
iMoxa 02.02.2014 13:13 # 0
Провести документ оперативно.
Если не получилось, неоперативно.
Как последняя попытка - записать без проведения.
crastinus 02.02.2014 13:17 # 0
1С под боком нет.
iMoxa 02.02.2014 13:52 # 0
Если ошибка типа runtime, то общего обработчика нет, только так вот через попытку-исключение.
iMoxa 02.02.2014 14:00 # 0
mrbus 11.02.2014 19:08 # 0
Вложенные транзакции в 1С поддерживаются (а запись документа будет во вложенной транзакции), но при любой неудаче родительская транзакция помечается как бэдовая и любая попытка ее зафиксировать провалится. Так что смысла не будет иметь ни вложенная Попытка, ни запись просто без проведения.
jafariuse 12.05.2016 16:08 # 0