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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Комментарии

  • Андрей 02.08.2018 09:55
    Большое спасибо! По "Варианту 2": в выбранных полях группировки колонок (у меня их несколько) кроме поля самой колонки пришлось добавить и ресурс.

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

     
  • Moby 05.07.2018 11:51
    Спасибо! По "Варианту 2" заработало только после добавления ресурса в выбранные поля группировки строк. Не помню что до этого менял, может ресурс там и был когда-то.

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

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

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