1С. Как добавить внешнюю печатую форму в документ, для которого печать не предусмотрена.

Добавляем внешнюю печатную форму в документ, для которого в типовой конфигурации печать не предусмотрена.

Итак, создаём внешнюю печатную форму, загружаем её в программу и устанавливаем флаг «Видимость» в поденю «Печать» для какого-то документа. Затем открываем форму этого документа и видим, что команды «Печать» нет.

Займёмся настройкой команды «Печать». Сделать это можно в расширении конфигурации, чтобы не трогать типовую конфигурацию. Кнопку «Печать» будем добавлять и в форму документа, и в форму списка документов.

Форма документа:

Добавим элемент формы: группа «ПодменюПечать», вид «Подменю». Размещаем аналогично тому, как это сделано в типовых документах, для которых печать настроена изначально. Например, документ «Реализация товаров и услуг».

В обработчике события ПриСозданииНаСервере добавим такой код:

&НаСервере
Процедура р1_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
	
	УправлениеПечатью.ПриСозданииНаСервере(ЭтаФорма, Элементы.ПодменюПечать);
	
КонецПроцедуры

Добавим процедуру, исполняемую на клиенте:

&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуПечати(Команда)
	
	УправлениеПечатьюКлиент.ВыполнитьПодключаемуюКомандуПечати(Команда, ЭтаФорма, Объект);
	
КонецПроцедуры

Эта процедура без префикса расширения.

Форма списка документов:

Так же, как для формы документа, добавляем элемент формы: группа «ПодменюПечать», вид «Подменю» и дополняем обработчик события ПриСозданииНаСервере.

&НаСервере
Процедура р1_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
	
	УправлениеПечатью.ПриСозданииНаСервере(ЭтаФорма, Элементы.ПодменюПечать);
	
КонецПроцедуры

И «клиентская» процедура:

&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуПечати(Команда)
	
	УправлениеПечатьюКлиент.ВыполнитьПодключаемуюКомандуПечати(Команда, ЭтаФорма, Элементы.СписокДокументов);
	
КонецПроцедуры

Эта процедура отличается от той, что мы писали в модуле формы документа: Элементы.СписокДокументов вместо Объект. Для разных типов документов имя элемента формы может отличаться: где-то «СписокДокументов», а где-то «СписокДокументовРеализации», поэтому имя параметра в процедуре надо указывать в соответствии с именем элемента формы.

В результате настройки в форме документа и в форме списка документов должна появиться команда «Печать» с возможностью выбора назначенной внешней печатной формы.

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *