Постановка задачи:
- требуется "перехватить" отправку печатной формы на принтер;
- по перехваченной форме выполнить некоторые "нужные" действия;
Особенности:
Некоторые нужные действия должны выполняться именно в момент отправки на принтер, но не в момент просмотра сформированной печатной формы.
Решение:
Перехват печатной формы на принтер осуществим с использованием предопределенной глобальной процедуры ПриПечатиТаблицы(Таблица,ФлагПредпросмотра,Заголовок). В данной глобальной процедуре мы получим нужный нам объект "Таблица", осталось решить, а та ли это печатная форма, которая нам нужна? Или это совершенно посторонняя печатная форма, которая должна отправляться на печать безо всякого нашего вмешательства? Идентифицировать нужную нам печатную форму, имхо, мы можем по двум признакам: а) или получить из заранее известной ячейки отчета "расшифровку" и идентифицировать печатную форму по этой расшифровке или б) по заголовку печатной формы.
Вариант а) на на данный момент мы не рассматриваем. Обратимся к варианту б). Рассмотрим типовой код формирования и вывода печатной формы: код смотрим здесь: http://www.infostart.ru/upload/iblock/f15/rem1.jpg
(не)Очевидно, что имеется маленькая засада: при отправке печатной формы на принтер без предпросмотра параметр "заголовок" в предопределенной процедуре - пустой... и, соответсвенно, нужные действия выполнены не будут. Вопрос: как сформировать заголовок печ.формы без предпросмотра? Ответ: очень просто (как и все мои советы)... надо всего лишь сделать очередной финт чебурашечьими ушами: код смотрим здесь: http://www.infostart.ru/upload/iblock/f03/rem2.jpg
Такой прием позволяет сформировать требуемый заголовок печатной формы без ее вывода на экран.