При режиме управления блокировкой данных в транзакции по умолчанию: Автоматический и управляемый возникают ошибки. Почему?

При режиме управления блокировкой данных в транзакции по умолчанию: Автоматический и управляемый возникают ошибки. Почему?

Согласно https://its.1c.ru/db/metod8dev#content:5839:hdoc
1) Существующая блокировка Управляемая <=> Регистр сведений Управляемый режим
Проводится документ например в управляемой транзакции.

Начинаемая транзакция будет выполнена в управляемом режиме

2) Существующая блокировка Автоматическая <=> Регистр сведений Управляемый режим

Начинаемая транзакция будет выполнена в автоматическом режиме

3) Существующая блокировка Автоматическая <=> Регистр сведений Автоматический режим

Начинаемая транзакция будет выполнена в автоматическом режиме

4) Существующая блокировка Управляемая <=> Регистр сведений Автоматический режим

Будет вызвана исключительная ситуация


Фиксирование данных в кэше идет по следующему алгоритму: объект изменения начинает транзакцию со своим типом блокировки, в работающей транзакции, срабатывает подписка на событие и фиксирует изменение в кэш уже в своей блокировке (см пункты выше). Проблема возникает только там, где стоит режим блокировок в начале транзакции "Автоматический" в объектах.
При этом обратите внимание, что вне зависимости от того, какой режим транзакций будет у регистра кэша, будет возникать проблема.
Если регистр кэша будет с автоматическим режимом, то если у объекта источника изменений режим управления транзакциями стоит Управляемый, то будет исключительная ситуация, если же регистр будет на управляемых блокировках, то если у объекта источника изменений режим управления транзакциями будет стоять Автоматический, то транзакция будет так же в автоматической блокировке и вот здесь у Вас проблемы с транзакциями. Что имеем? Без перевода объектов источников изменений в управляемый режим управления блокировками ничего, к сожалению, не решить. Подсистема здесь не играет никакой роли, все транзакции начинаются с объектов конфигурации, а значит нужно менять режим у них.

Как можно выйти из сложившейся ситуации:

1) Регистр сведений внКэшЖурналаРегистрации, должен быть на управляемых блокировках.
2) Оставить регистрацию в настройках подсистемы объектов только с управляемыми блокировками.
3) Постепенно осуществить перевод тех объектов, которые на автоматических блокировках и которые необходимо фиксировать на управляемый режим (объектов и регистров с ними связанными)
4) После перевода на управляемые блокировки включить их в регистрируемые объекты подсистемы.

Хотелось бы подчеркнуть, простыми изменениями подсистемы не обойтись, мы не можем изменить алгоритм работы платформы с блокировками, необходим перевод регистрируемых объектов на управляемые блокировки.
Логотип
 Регистрируются изменения только для некоторых пользователей | Описание курса | Как удалить журнал регистрации из рабочей информационной базы