Вступить в клуб →
сложнаявопросПлатформа и объектная модель

Запись объекта после перехваченного исключения внутри транзакции

В обработке загрузки данных написан такой код:

НачатьТранзакцию();
Попытка
    ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
Исключение
    Сообщить("Документ записать не удалось, продолжаем");
КонецПопытки;

СправочникОбъект.Записать();
ЗафиксироватьТранзакцию();

При записи документа возникло исключение (не прошёл контроль остатков). Что произойдёт дальше?

  • Исключение перехвачено обработчиком, поэтому запись справочника и последующая фиксация транзакции пройдут штатно, в базе останутся данные справочника
  • Документ не запишется, справочник запишется, транзакция будет зафиксирована с частичными данными
  • Транзакция откатится в момент исключения, а оставшийся код выполнится уже вне транзакции
  • Следующая запись завершится ошибкой «в данной транзакции уже происходили ошибки», транзакция будет отменена целиком

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела