А не кажется ли вам что в задании есть потенциальная мина связанная с блокировками и программым созданием и проведением другого документа?
При начале проведения документа продажи мы должны наложить блокировку на номенклатуру документа и два отдела закупки и тек. точки. Теперь после чтения остатков мы определяем, что нам нужно переместить часть товара с отдела закупок и в модуле проведения создаем новый документ и пытаемся его провести. Но у нас текущая транзакция не закончилась и действует блокировка - результат взаимные блокировки, новый ждет окончание текущего, текущий нового.
Теоритически можно не накладывать блокировку на отдел закупок при продаже и взаимных блокировок можно избежать в данном случае, но тогда есть вероятность что другой пользователь может провести списание с отдела закупок на другую точку и потенциально появятся минуса.
Кто что думает?
Добавлено (22.11.2010, 13:03)
---------------------------------------------
Вопрос снимается, т.к. в описании к объекту БлокировкаДанных, написано "Предназначен для явной блокировки данных от чтения или изменения другими сессиями.". Т.е. взаимной блокировки в рамках одной сессии не будет...