Запись объекта после перехваченного исключения внутри транзакции
В обработке загрузки данных написан такой код:
НачатьТранзакцию();
Попытка
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
Исключение
Сообщить("Документ записать не удалось, продолжаем");
КонецПопытки;
СправочникОбъект.Записать();
ЗафиксироватьТранзакцию();
При записи документа возникло исключение (не прошёл контроль остатков). Что произойдёт дальше?
- Исключение перехвачено обработчиком, поэтому запись справочника и последующая фиксация транзакции пройдут штатно, в базе останутся данные справочника
- Документ не запишется, справочник запишется, транзакция будет зафиксирована с частичными данными
- Транзакция откатится в момент исключения, а оставшийся код выполнится уже вне транзакции
- Следующая запись завершится ошибкой «в данной транзакции уже происходили ошибки», транзакция будет отменена целиком
