11.05.2006, 16:27 | #1 |
Moderator
|
Блокировка окна AXAPTA
Добрый день!
Неожиданно возникла проблема, вроде все просто, а решения не придумали. Предыстория: в цикле последовательно выдаются на печать документы. До сих пор считал, что, пока система выполняет какой-либо код, пользователь ничего нажимать не может (за исключением специально написанных механизмов с setTimeOut()). Так вот, отчеты последовательно выводятся на экран, но почему-то пользователь может улучить момент и ткнуть мышкой в кнопку печати на уже сформированном отчете! И открывается окно свойств печати, хотя Аксапта в это время продолжает заниматься генерацией очередного отчета. В результате этих действий система впадает в легкий ступор, а вместе с ней и юзер. Рассасывается это только после закрытия формы свойств и самого зависшего отчета, после чего система продолжает спокойно генерить отчеты дальше. Как решить эту проблему? Мне видятся 2 возможных способа: 1. Использовать какие-то неизвестные мне свойства отчета или механизма генерации отчетов, чтобы сделать недоступными открывшиеся документы до формирования всего пакета. 2. Каким-то образом программно блокировать Аксапту до завершения печати пакета документов. Кто что может подсказать?
__________________
Андрей. |
|
11.05.2006, 16:48 | #2 |
Участник
|
Посмотрите что народ про модальные окна пишет http://www.axforum.info/forums/searc...searchid=20388
|
|
11.05.2006, 16:50 | #3 |
Участник
|
Формирование отчетов запускается в отдельном потоке. По-этому оно не влияет на выполнение остального кода в системе.
Заблокировать наврядли что-либо получится. Кстати, отчет можно не закрывать, а нажать на кнопку "Следующая страница" - тогда формирвание отчета продолжится
__________________
Axapta v.3.0 sp5 kr2 |
|
11.05.2006, 16:53 | #4 |
Moderator
|
Цитата:
Сообщение от MironovI
Посмотрите что народ про модальные окна пишет http://www.axforum.info/forums/searc...searchid=20388
__________________
Андрей. |
|
11.05.2006, 17:15 | #5 |
Microsoft Dynamics
|
Может быть, стоит подойти к решению проблемы с другой стороны. Скажем, реализовать вывод группы отчетов сразу на принтер, или в Excel на отдельные листы рабочей книги...
|
|
12.05.2006, 11:45 | #6 |
Участник
|
Кстати, можно дизейблить окна из формы SysPrintProgress - она показывается при формировании отчета. Думаю, надо подправить в ней метод CanClose() - чтобы при нажатии на крестик она не скрывалась.
Правда прервать формирование отчетов не получится (по крайней мере я не нашел как. Если показывать кнопку "Отмена" из этой формы, то у меня по коду в ней Axapta зависала).
__________________
Axapta v.3.0 sp5 kr2 |
|
|
|