Добавляем внешнюю печатную форму в документ, для которого в типовой конфигурации печать не предусмотрена.
Итак, создаём внешнюю печатную форму, загружаем её в программу и устанавливаем флаг "Видимость" в поденю "Печать" для какого-то документа. Затем открываем форму этого документа и видим, что команды "Печать" нет.
Займёмся настройкой команды "Печать". Сделать это можно в расширении конфигурации, чтобы не трогать типовую конфигурацию. Кнопку "Печать" будем добавлять и в форму документа, и в форму списка документов.
Форма документа:
Добавим элемент формы: группа "ПодменюПечать", вид "Подменю". Размещаем аналогично тому, как это сделано в типовых документах, для которых печать настроена изначально. Например, документ "Реализация товаров и услуг".
В обработчике события ПриСозданииНаСервере добавим такой код:
&НаСервере Процедура р1_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка) УправлениеПечатью.ПриСозданииНаСервере(ЭтаФорма, Элементы.ПодменюПечать); КонецПроцедуры
Добавим процедуру, исполняемую на клиенте:
&НаКлиенте Процедура Подключаемый_ВыполнитьКомандуПечати(Команда) УправлениеПечатьюКлиент.ВыполнитьПодключаемуюКомандуПечати(Команда, ЭтаФорма, Объект); КонецПроцедуры
Эта процедура без префикса расширения.
Форма списка документов:
Так же, как для формы документа, добавляем элемент формы: группа "ПодменюПечать", вид "Подменю" и дополняем обработчик события ПриСозданииНаСервере.
&НаСервере Процедура р1_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка) УправлениеПечатью.ПриСозданииНаСервере(ЭтаФорма, Элементы.ПодменюПечать); КонецПроцедуры
И "клиентская" процедура:
&НаКлиенте Процедура Подключаемый_ВыполнитьКомандуПечати(Команда) УправлениеПечатьюКлиент.ВыполнитьПодключаемуюКомандуПечати(Команда, ЭтаФорма, Элементы.СписокДокументов); КонецПроцедуры
Эта процедура отличается от той, что мы писали в модуле формы документа: Элементы.СписокДокументов вместо Объект. Для разных типов документов имя элемента формы может отличаться: где-то "СписокДокументов", а где-то "СписокДокументовРеализации", поэтому имя параметра в процедуре надо указывать в соответствии с именем элемента формы.
В результате настройки в форме документа и в форме списка документов должна появиться команда "Печать" с возможностью выбора назначенной внешней печатной формы.