02.12.2002, 17:17 | #1 |
Учаснег
|
Программирование кнопочки Print
Доброго времени суток всем!
Хотел бы предложить на размышление одну головоломку всем гуру Аксапты. Требуется изменить поведение кнопочки Print на стандартной форме печати отчета (см. рисунок, кнопочка помечена красной стрелкой). Конкретно, хотелось бы чтобы при нажатии этой кнопочки на ОДНОМ из отчетов (не на ВСЕХ подряд) вылезало некое сообщение, например "Привет!" Как мне сказал один уважаемый товарищ в Коламбусе (не российском) - сие в принципе невозможно,т.к.это окошко запрограммировано на "низком уровне", для нас простых смертных недоступном (судя по всему - и для него тоже)... Я ему честно говоря не поверил. Окошко как окошко, вроде как "обслуживаемое" классом SysPrintPrinterProgress (судя по данным Code Profiler-а, только вот класса такого я честно говоря не обнаружил нигде). Неужто все так плохо,а? Чего скажете? Как решить сию задачу хитрую ? |
|
02.12.2002, 17:35 | #2 |
Участник
|
Для начала стоит посмотреть на отчет tutorial_Prompt.
После этого сформулируй вопрос заново. Уверен, что сам же на него и ответишь |
|
02.12.2002, 17:56 | #3 |
Учаснег
|
Привет,mazzy!
Посмотрел. Извини, может я туплю,но мне надо совсем не это. Да,я знаю как управлять печатью: как скрыть/открыть те или иные свойства, как задать Printtarget и т.д. Но мне надо - не это! Предположим,отчет УЖЕ напечатан на экран. Класс ReportRun уже отработал,все. Задействовать его методы не получится никак. Окошко,о котором я говорю, не имеет к нему ровно никакого отношения. Мне надо - вывести мессагу ИМЕННО по нажатию вот этой самой кнопочки принт. Буквально - в тот момент, когда пользователь РЕАЛЬНО начнет печатать НА ПРИНТЕР (а не на экран, в файл или куда еще) - но не раньше!. Еще лучше - когда он УСПЕШНО НАПЕЧАТАЕТ свой отчет, т.е. по крайней мере когда он попадет в память принтера; но это уж,я думаю, совсем невозможно. Совсем запрещать вывод отчета на экран и принуждать печатать только на принтер я не могу. |
|
02.12.2002, 19:26 | #4 |
Участник
|
Хм... То что ты хочешь делается не так.
Если ты заметил, то при проведении накладной из заказа Аксапта даже ругается, если печать идет не на принтер, а на экран. Т.е. они просто берут и печатают на принтер. Хочешь сказать, что нужен визуальный контроль документа? Зачем? Ответ на этот вопрос скорее всего покажет тебе дыру в логике. Я не понял почему у тебя проблемы с перехватом событий. Формы SysPrintForm, SysPrintPrinterProgress, SysPrintProgress, доступны. Это не совсем событие. Это формы, которые вызываются при событии. Чем они тебя не устраивают? Тем что программист может сделать так, что эти формы могут и не вызываться? А ты тогда кто? Хакер, который вирус пишет? И потом, SysPrintPrinterProgress, IHMO, всегда открывается... Не проверял правда. Израт это на мой взгляд |
|
02.12.2002, 20:02 | #5 |
Учаснег
|
Похоже,я действительно тупил
Я как-то не подумал,что SysPrintPrinterProgress может быть формой,а не классом Спасибо за советы, сейчас во всем разобрался. |
|
|
|