Цитата:
Блокировка быстро поднимется с записей до страниц, а со страниц до всей таблицы
Поэтому хоть так, хоть так... вероятность будет одинакова.
Для того чтобы заблокировать оборотку (которая сама ничего не блокирует) при работе по InventSum достаточно 1 новой (измененной) проводки (не таблицы и не страницы), а для остановки расчета по историческим данным нужно блокировать весь InventTrans, что само по себе есть ЧП.
Цитата:
При создании новой проводки, Аксапта начинает транзакцию. При записи проводки, обновляется inventSum. Если inventSum заблокирован, то запись проводки не будет выполнена из-за деадлока
Ага, только вот оборотка ничего не пишет в inventSum и InventTrans, а значит и не блокирует, а значит и не может быть речи о deadlock-е.
Оборотка считает inventSum до начала транзакции по созданию новой проводки и посчитает новую проводку после завершения транзакции.... и получит лажу
От doInsert и doUpdate на inventTrans отказались оч.давно