Обновить

Комментарии 3

В первом примере стоит упомянуть возможность узнать, существует ли на тек. момент транзакция при помощи ТранзакцияАктивна() - вместо или вместе с картинкой.

Почему в первом примере не нужна транзакция, обеспечивающая атомарность?

В первом примере процедура ОбработатьПодчиненныеОбъекты() вызывается из обработчика ПередЗаписью. В этот момент уже начата системная (неявная) транзакция записи. Нет смысла создавать внутри неё новую транзакцию - это ничего не поменяет. Всё, что находится в обработчике ПередЗаписью, выполнится целиком (вместе с содержимым обработчиков ПриЗаписи, ОбработкаПроведения, ПриЗаписиНаСервере), либо не выполнится ничего из этого. Не может быть такого, что "вложенная" транзакция выполнится, а дальше что-то из внешней транзакции не выполнится. И не может быть такого, что во "вложенной" транзакции возникнет исключение и она не выполнится, а внешняя транзакция завершится успешно.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации