Показать сообщение отдельно
Старый 07.10.2019, 18:22   #25  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,867 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Если коротко, то в Аксапте есть
1. пессимистическая модель обновления (используется редко) когда блокировка ставится в момент выборки на select и тогда никто не вклинится в вашем примере а повиснет в блокировке.
2. оптимистическая модель обновления (это основной случай) когда блокировка ставится только в момент обновления. Тогда ваши опасения обоснованы. Но в Аксапте для этого есть защита. в каждой записи есть поле RecVersion которое меняется при каждом обновлении на другое псевдослучайное значение. И аксапта при выполнении обновления проверяет сохранилось ли это значение на момент обновления таким же как было при выборке, если не сохранилось значит кто-то другой уже влез (то чего вы боитесь) и тогда ядро аксапты выбрасывает исключение "конфликт обновления записей" и либо идет обработка этой ситуации программистом X++ либо идет откат транзакции.

Это все работает внутри открытой транзакции в режиме Read committed