Показать сообщение отдельно
Старый 25.07.2007, 12:00   #1  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,973 / 3268 (116) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
:( RAssetParameters - бага
Обнаружил неприятную багу.
В методе
\Data Dictionary\Tables\RAssetParameters\Methods\find

стоит условие
if (! assetParameters)
а нужно
if (! assetParameters && !assetParameters.isTmp() )

Из-за этого при отключенном конфигурационном ключе на основные средства (или при отсутствии лицензии) при кажом вызове RAssetParameters::find() происходит инициализация номерных серий и как следствие идут блокировки forUpdate на таблице
NumberSequenceReference

Из-за этого могут быть блокировки клиентами друг друга на совсем безобидных операциях. Достаточно внутри длительной транзакции вызвать RAssetParameters::find()

Например, это имеет место при обработке накладной по закупке. (PurchFormLetter_Invoice.UpdateNow() )

P.S.
Ax 3.0