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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Комментарии

  • MariNew 20.06.2018 15:36
    Отлично!!! У меня получилось!!!! СПАСИБО!

    Подробнее...

     
  • Ирина 09.06.2018 13:05
    Спасибо большое! Пригодилось.

    Подробнее...

     
  • Ненавижу1С 19.05.2018 18:16
    Благодарю. Помогло данное решение.

    Подробнее...