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