AndyD, спасибо вам аз еще одно содержательное сообщение. Я например долго время считал что проблема именно в форме прогресс бара.
Цитата:
Сообщение от
AndyD
Помимо отказа от использования метода SysOperationProgress.reset() (который в конце концов вызывается в progressKill()), можно так же модифицировать его таким образом: ...
К сожалению, данный баг может быть вызван не только прогресс баром. Я сталкивался с проблемами которые вызывают формы SysPrintPrinterProgress и SysPrintProgress
Например у нас есть форма salesTable на ней по кнопке запускается обработка в компании 1, которая делает changeCompany в компанию 2 и печатает там несколько документов. В момент печати первого документа отображается форма печати (какая-то из двух SysPrintPrinterProgress, SysPrintProgress) и после её закрытия фокус попадает в на форму salesTable (вызываются методы SysSetupFormRun.activate() и salesTable.activate() ) происходит переключение в исходную компанию 1 и последующие документы уже печатаются неправильно.
Т.е. надо исправлять не только форму прогресс бара, а вообще любую форму которая может быть вызвана, например изменив SysSetupFormRun.
Вообще, мне кажется что данный баг определяется ошибкой в управлении окнами в аксапте. Пока не отработала функция вызванная из формы, не нужно передавать фокус в вызывающую форму, и вообще ни в какую форму. Т.е. не надо дергать SysSetupFormRun.activate() пока функция вызванная кнопкой не отработала до конца.
Либо ядро должно как-то связывать контекст выполнения кода и текущую компанию, так что если даже фокус перешел на вызвавшую форму (salesTable в моем примере) и произошло переключение в компанию 1, то при передаче управления обратно в функцию вызванную с формы, нужно переключать и текущую компанию обратно в компанию 2.
P.S.
Ax 3.0 KR3