Идея понятна. Однако если внимательно прочитать мое пояснение, то станет ясно, что следуя Вашим рассуждениям, Аксапта не должна давать открывать форму, но это не так.
Решение уже найдено - мы просто меняем CommandButton на Button и в
Click() обрабатываем (в зависимости от кнопки) результат и закрываем форму close(), а не closeOK() или closeCancel(), которые вызываются в случае с CommandButton автоматически, - так работает.
А транзакции, IMHO, на то и есть чтобы обеспечивать целостность данных вне зависимости от причин прерывания.
Вас пугает возможность приостановить транзакцию на длительное время?
Но видите ли, все зависит от контекста. В нашем случае ЭТО НЕ КРИТИЧНО.
Вопрос-контраргумент: а как быть если в середине обычной (т.е. в Вашем понимании - программно непрерываемой) транзакции, время исполнения которой составляет доли секунды, происходит сбой?
Все же я склонен считать, что здесь какие-то другие причины или ошибка.
Спасибо.
__________________
С уважением,
Dirigente
|