Представляю вашему вниманию внешнюю компоненту для перехвата события "Печать" в 1С.
Перед печатью компонента генерирует внешнее событие, которое можно обработать.
Для использования:
В модуле управляемого приложения
Перем Hooklib; //обязательно после создания хранить контекст компоненты в глоб. переменной
Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)
Если Источник = "PrintHook" И Событие = "PrintStarting" Тогда
СохранитьТабДок();
КонецЕсли;
КонецПроцедуры
Процедура ПриНачалеРаботыСистемы()
//в общем макете(двоичные данные) компонента в виде zip-архива (hooklib.dll и MANIFEST.xml)
Если ПодключитьВнешнююКомпоненту("ОбщийМакет.HookLib", "Hooklib", AddInType.Native) Тогда
Hooklib = Новый("AddIn.Hooklib.PrintHook");
//Hooklib.ЗапретПечати = Истина;
Hooklib.Перехват();
Иначе
Сообщить("Компонента не подключена");
КонецЕсли;
КонецПроцедуры
Возможен запрет на распечатывание установкой свойства Hooklib.ЗапретПечати = Истина;
В архиве компонента с исходниками(Delphi7) и конфигурация с ее использованием(8.3). В конфигурации в качестве примера использования компоненты реализовано сохранение копии распечатываемого документа (табличный документ, mxl).