[ОБУЧАЛОВКА] Некоторые особенности обработки печати отчетов при использовании Formex

Опубликовал Сергей (Che) Коцюра (CheBurator) в раздел Программирование - Практика программирования

Обсуждается использование предопределенной процедуры ПриПечатиТаблицы(), которая отрабатывает в момент отправки печатной формы на принтер путем вызова штатного диалога печати или при использовании метода Таб.Напечатать(0)

Постановка задачи:

- требуется "перехватить" отправку печатной формы на принтер;

- по перехваченной форме выполнить некоторые "нужные" действия;

Особенности: 

Некоторые нужные действия должны выполняться именно в момент отправки на принтер, но не в момент просмотра сформированной печатной формы.

Решение:

Перехват печатной формы на принтер осуществим с использованием предопределенной глобальной процедуры ПриПечатиТаблицы(Таблица,ФлагПредпросмотра,Заголовок). В данной глобальной процедуре мы получим нужный нам объект "Таблица", осталось решить, а та ли это печатная форма, которая нам нужна? Или это совершенно посторонняя печатная форма, которая должна отправляться на печать безо всякого нашего вмешательства? Идентифицировать нужную нам печатную форму, имхо, мы можем по двум признакам: а) или получить из заранее известной ячейки отчета "расшифровку" и идентифицировать печатную форму по этой расшифровке или б) по заголовку печатной формы.

Вариант а) на на данный момент мы не рассматриваем. Обратимся к варианту б). Рассмотрим типовой код формирования и вывода печатной формы: код смотрим здесь: http://www.infostart.ru/upload/iblock/f15/rem1.jpg

(не)Очевидно, что имеется маленькая засада: при отправке печатной формы на принтер без предпросмотра параметр "заголовок" в предопределенной процедуре - пустой... и, соответсвенно, нужные действия выполнены не будут. Вопрос: как сформировать заголовок печ.формы без предпросмотра? Ответ: очень просто (как и все мои советы)... надо всего лишь сделать очередной финт чебурашечьими ушами: код смотрим здесь: http://www.infostart.ru/upload/iblock/f03/rem2.jpg

Такой прием позволяет сформировать требуемый заголовок печатной формы без ее вывода на экран.

См. также

Комментарии
1. Сhe Burashka (CheBurator) 26.03.09 21:39 Сейчас в теме
Вопрос саппорту: как без лишнего мозгломоства в этом редакторе оформить участок кода?
2. Алексей Плутенко (Noy) 1054 27.03.09 09:35 Сейчас в теме
3. Сhe Burashka (CheBurator) 27.03.09 11:36 Сейчас в теме
92) это что? типа "аффтар, упейся ап забор"...?
4. Алексей Плутенко (Noy) 1054 27.03.09 12:54 Сейчас в теме
5. Сhe Burashka (CheBurator) 27.03.09 13:51 Сейчас в теме
(4) неееееее.. откуда мы знаем, что ты знал...?
6. Сhe Burashka (CheBurator) 30.03.09 17:50 Сейчас в теме
теперича, если кто-нибудь шарящий в скриптах, виндах и настоящем программировании выложит "процедурку" мониторинга очереди печати на предмет задания с заранее известным наименованием - то буде щасте! ;-)
(в принципе у мменя оно есть, но где-то в загашниках...)
7. Василий Демидов (Душелов) 3779 30.03.09 18:03 Сейчас в теме
8. Сhe Burashka (CheBurator) 30.03.09 18:10 Сейчас в теме
(7) ну так пора! правда, меня начинает волновать ваша "алкогольная зависимость" ;-)
..а в будни никак нам не пересечься? можно в принципе в любое время после 19-30... или раньше... ну по всякому можно
9. Василий Демидов (Душелов) 3779 30.03.09 18:15 Сейчас в теме
(8) Вообщем, нужно просто функция, возвращающая очередь печати? Т.е. массив имен документов/файлов?

...Можно завтра, я все равно пока безлошадный.
10. Сhe Burashka (CheBurator) 30.03.09 18:33 Сейчас в теме
(9) ок, сговоримся.. если не будешь спать поздно вечером - выходи в асю..
11. Сhe Burashka (CheBurator) 30.03.09 18:34 Сейчас в теме
(9) наверное чуть хитрее надо.. ноадо подумать..