1С бсп печать документа

Добавление команд печати в данной версии БСП будет несколько отличаться от предыдущих версий.

1. Для начала необходимо прописать наш документ в общем модуле

в массив "ИменаДокументов"

Это надо будет сделать так же, чтоб подключать и другие команды к форме и форме списка нашего документа.

2. Для подключения команды печати к форме документа необходимо в процедуре "ПриСозданииНаСервере" добавить:

И так же в модуль формы добавить следующий блок процедур:

3. Для подключения команды печати в форме списка документа добавить:

4. Добавить само создание команды в модуле менеджера документа:

5. Добавить процедуру Печать тоже в модуль менеджера:

6. Добавить процедуру формирования печатной формы в модуль менеджера:

Шпаргалка из гл 3.38 документации БСП

Подсистема «Печать» библиотеки стандартных подсистем предназначена для формирования печатных форм объектов на основе табличных макетов (формат MXL) или макетов офисных документов в формате Office Open XML (docx).

Подсистема предоставляет инструменты для размещения команд печати на формах в подменю Печать, форму предпросмотра печатных форм, а также различные сервисные возможности по сохранению печатных форм в файлы, отправке по электронной почте и формированию изображений QR-кодов. Кроме того, в подсистему входит рабочее место по редактированию макетов печатных форм.

Настройка

Необходимо принять решение по поводу состава объектов конфигурации (справочников, документов и т. п.), которые требуется выводить на печать, и того, в каком виде должны формироваться печатные формы. Затем создать для них команды печати, разработав описательную часть, логику формирования печатной формы, и внести изменения в модули форм, в которых предполагается выводить команды печати.

Читайте также:  Фото парней обычных в жизни на аву

Описательная часть находится в процедуре ДобавитьКомандыПечати, а логика формирования печатной формы зависит от того, в каком виде должны формироваться печатные формы:

  • Формирование печатной формы в формате табличного документа (с предварительным просмотром или сразу на принтер).
  • Формирование комплекта табличных документов (с предварительным просмотром или сразу на принтер).
  • Формирование печатных форм с интерактивным запросом дополнительных параметров у пользователя.
  • Вывод табличного документа в один из популярных форматов (Office Open XML, Microsoft Excel, Adobe PDF, HTML, текстовый документ и другие).
  • Формирование печатной формы в виде офисных документов в формате Office Open XML (для тех случаев, когда возможностей табличного макета недостаточно).

Подключение объектов программы

Необходимо принять решение, для каких объектов программы разрабатываются команды печати и в каких их формах требуется выводить подменю с командами печати

При этом стоит учитывать сценарии подключения команд при помощи расширений. Т. е. если для объекта программы не планируется разрабатывать команды печати в составе конфигурации, но есть вероятность, что партнеры захотят подключить к этому объекту свои команды печати (при помощи расширений), то рекомендуется подключить этот объект.

  • Объекты конфигурации, являющиеся поставщиками команд печати, следует перечислить в процедуре
    ПриОпределенииОбъектовСКомандамиПечати модуля Управление Печатью Переопределяемый.
  • В модуле менеджера каждого из этих объектов, в области ПрограммныйИнтерфейс, должна быть определена процедура ДобавитьКомандыПечати по шаблону:

Если предполагается, что в этом подменю может быть выведено большое количество команд (более 10), то рекомендуется добавить вложенные группы кнопок с суффиксами “Важное”, “Обычное” и “СмТакже”. Например: “ПодменюПечатьВажное”, “ПодменюПечатьОбычное” и “ПодменюПечатьСмТакже”. Суффиксы этих групп указываются в свойстве Важность тех команд, которые должны выводиться в этих группах (подробнее про это свойство см. далее в таблице «Параметры команд печати»).

Читайте также:  Сохранила презентацию не могу найти

Далее, в формах объектов, подключенных на предыдущем шаге, в которых требуется выводить подменю с командами печати, нужно Встроить подсистему «Подключаемые команды»

В формах журналов документов подменю Печать по умолчанию заполняется командами документов, входящих в журнал. В случаях, когда команды печати необходимо брать непосредственно в модуле менеджера журнала документов, необходимо сделать соответствующую вставку кода в процедуре ПриПолученииНастроекСпискаКомандПечати общего модуля УправлениеПечатьюПереопределяемый:

Разработка процедуры «Печать»

1 . В модуль менеджера печати, указанного в параметре МенеджерПечати, добавить экспортную процедуру Печать:

2. Разместить в конфигурации макет табличного и
Добавить функцию, формирующую печатную форму (табличный документ), например:

3. В процедуре Печать разместить код для идентификации требуемой печатной формы и вызова функции по ее формированию . Например:

Формирование печатной формы в клиентском контексте

В отдельных случаях для формирования некоторых печатных форм может потребоваться клиентский контекст. Например, для запроса дополнительных параметров печатной формы у пользователя непосредственно перед печатью. В таких случаях механизм формирования печатной формы необходимо размещать в клиентском модуле, а при описании команды печати в процедуре ДобавитьКомандыПечати использовать параметр Обработчик для передачи управления в этот модуль.

Принцип создания команд, использующих клиентский контекст, несколько отличается от основного. Процедура Печать модуля менеджера объекта не вызывается механизмами подсистемы, поэтому создавать ее для такой команды не требуется.

Процесс создания такой команды выглядит следующим образом:

  1. В модуле менеджера объекта в процедуре ДобавитьКомандыПечати добавить описание команды (с использованием параметра Обработчик), например:

2. Добавить клиентскую экспортную функцию формирования печатной формы с единственным параметром, в который подсистема «Печать» будет передавать структуру параметров команды. Имя функции может быть произвольным, например:

Из этой функции подсистема «Печать» не ожидает никакого результата. Использование функции вместо процедуры обусловлено тем, что ее вызов осуществляется при помощи метода Вычислить().

Читайте также:  Фоновая интеллектуальная служба передачи bits как отключить

Если клиентский контекст предполагает только запрос дополнительных параметров, а формирование табличного документа выполняется на сервере, то необходимо также выполнить инструкцию по разработке процедуры «Печать», а из клиентской функции выполнять передачу управления в процедуру УправлениеПечатьюКлиент.ВыполнитьКомандуПечати.

Эта статья подойдет для любой конфигурации на основе БСП, так как использует возможности ее подсистемы «Печать»
В последних версия БСП реализация команд печати была существенно переработана.
Рассмотрим добавление команды печати в не типовой документ.

Возьмем наш документ. Добавим макет печатной формы.

Хочется, не прилагая больших усилий, добиться следующего результата: чтобы в каждой из двух форм этого документа в командной панели была кнопка-подменю Печать, в которой был бы добавленный пункт печати.

Откроем форму документа и создадим обработчик ПриСозданииНаСервере. Скопируем в модуль формы следующий код (если он там отсутствует):

Оцените статью
Добавить комментарий

Adblock detector