![]() |
#22 |
Участник
|
Проблема не в форме, на которой бегут гаджики.
Проблема - в форме, которая активируется после закрытия формы прогресса (а в методе SalesFormLetter.progressKill() как раз происходит удаление формы гаджика). Если на ней есть хоть один датасоурс и установлено свойство SetCompany=true, то при ее активации произойдет вызов Application.setDefaultCompany(). Помимо отказа от использования метода SysOperationProgress.reset() (который в конце концов вызывается в progressKill()), можно так же модифицировать его таким образом: X++: public void reset() { ... // D.Andy --> DataAreaId curDataArea = curExt(); int line; // D.Andy <-- ; ... if (id == ownerId) // D.Andy --> { line = infolog.line(); // D.Andy <-- infolog.operationProgressClear(); // D.Andy --> if (curDataArea != curExt()) { appl.setDefaultCompany(curDataArea, false); infolog.cut(line, infolog.line()); } } // D.Andy <-- } После изменения необходимо будет сделать инкрементную компиляцию PS По поводу формы SysOperationProgress. А вы уверены, что она используется при работе класса SysOperationProgress? Во всяком случае, если посмотреть метод setupForm() класса SysOperationProgressForm, то видно, что форма там создается на лету, без использования каких-либо объектов AOT. PPS Если на форме нет датасорсов, то преключение компаний при ее активации не произойдет
__________________
Axapta v.3.0 sp5 kr2 |
|
|
За это сообщение автора поблагодарили: fed (5), glibs (7), belugin (5), sukhanchik (5), Logger (10). |
Теги |
progress bar, sysoperationprogress, баг, бегунок, законченный пример, полезное, смена компании |
|
|