Внешние печатные формы в 1С 8.2 и 8.3

 

Изменение встроенных в типовые конфигурации печатных форм — это, вероятно, одна из наиболее распространенных доработок типовых конфигураций. Чтобы каждый раз не изменять саму конфигурацию, компания «1С» создала механизм внешних печатных форм.

Внешняя печатная форма — это обычная внешняя обработка, соответствующая определенным требованиям. Такую обработку можно подключить к какой-либо типовой конфигурации и тем самым добавить новую печатную форму и/или заменить существующую.

Кроме этого, нужно отметить, что создание внешних печатных форм различается для обычного приложения (Бухгалтерия 2.0.*, ЗиУП 2.5.*, УТ 10.3.*) и управляемого приложения (Бухгалтерия 3.0.*, ЗиУП 3.*, УТ 11.*). В статье будут рассмотрены оба варианта.

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

Внешняя печатная форма в управляемом приложении

Начнем с того, что в настоящее время встречается чаще — с управляемого приложения. В тексте ниже будет приведен пример создания и подключения внешней печатной формы для документа «Приходный кассовый ордер» (Бухгалтерия предприятия, редакция 3.0).

Создание

Как уже было сказано выше, внешняя печатная форма — это просто-напросто внешняя обработка соответствующая некоторым требованиям. Первым требованием является реализация в модуле печатной формы экспортной функции СведенияОВнешнейОбработке().

Итак, создаем новую внешнюю обработку и в модуле объекта этой обработки размещаем примерно такой код:

Код в основном прокомментирован, но некоторые моменты нужно обговорить отдельно. Функция СведенияОВнешнейОбработке() является общей для всех внешних объектов. Вид внешнего объекта указывается в параметре «Вид» (у нас указана «ПечатнаяФорма»).

Большинство параметров не являются обязательными для заполнения. В нашем случае обязательно указать параметры «Вид», «Версия» и «Команды» — это обязательные параметры для всех видов внешних объектов («Команды» необязательны для отчетов). Кроме этого будет полезно указать параметры «Назначение». Но вообще, желательно указывать как можно больше информации — это поможет не запутаться как Вашим клиентам так и Вам самим.

Параметр «БезопасныйРежим» со значением «Истина» накладывает следующие ограничения:

  • игнорируется привилегированный режим;
  • запрещена работа с COM;
  • запрещена загрузка внешних компонент;
  • запрещен запуск внешних приложений и команд ОС;
  • запрещен доступ к файловой системе (кроме временных файлов);
  • запрещен доступ к интернету.

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

Кроме функции СведенияОВнешнейОбработке() необходимо реализовать еще одну экспортную функцию — Печать(). Эта функция должна иметь следующие параметры:

  • МассивОбъектов — массив ссылок на объекты, для которых требуется сформировать табличные документы;
  • КоллекцияПечатныхФорм — служебная таблица значений, через нее передаются имена макетов для которых могут быть сформированы табличные документы, а также возвращаются синонимы (представления) макетов, сформированные табличные документы и другая информация;
  • ОбъектыПечати — список значений, к котором устанавливается соответствие между объектами и именами областей печати табличного документа (нужно для возможности печати комплектов документов);
  • ПараметрыВывода — структура с предопределенными ключами, через которую можно вернуть некоторые параметры.

Пример реализации функции Печать():

В коде выше мы находим нашу печатную форму по идентификатору и формируем для нее табличный документ.

Подключение

Подключение нашей внешней печатной формы на примере «Бухгалтерии предприятия, редакция 3.0».

Вкратце повторю основные этапы:

  1. Открываем вкладку «Администрирование» и переходим в раздел «Печатные формы, отчеты и обработки»;
  2. Устанавливаем галку «Дополнительные отчеты и обработки» и переходим в раздел «Дополнительные отчеты и обработки»;
  3. Жмем кнопку «Добавить из файла» и выбираем файл печатной формы;
  4. (Необязательно) Меняем наименование, комментарии, настраиваем видимость, изменяем размещение;
  5. Жмем кнопку «Записать и закрыть».
 

Внешняя печатная форма в обычном приложении

Теперь рассмотрим создание внешней печатной формы в обычном приложении — создадим печатную форму для  документа «Приходный кассовый ордер» (Бухгалтерия предприятия, редакция 2.0). Несмотря на то, что задача та же, решается она по другому.

Создание

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

Кроме этого может присутствовать реквизит «ДополнительныеПараметры» произвольного типа, через который, в виде структуры, будут передаваться дополнительные параметры примитивного типа.

Внешняя печатная форма в обычном приложении
Внешняя печатная форма в обычном приложении

Также во внешней печатной форме может присутствовать макет с названием «Параметры_Авторегистрации» в первой колонке которого можно перечислить объекты метаданных, к которым принадлежит печатная форма. Используется этот макет для автоматического заполнения принадлежности печатной формы.

Параметры_Авторегистрации
Параметры_Авторегистрации

Такой же макет (но с указанием табличной части) используется во внешних обработках табличных частей, о которых имеется отдельная статья.

Пример реализации функции Печать():

Подключение

Подключим нашу внешнюю печатную форму на примере «Бухгалтерии предприятия, редакция 2.0».

Основные этапы:

  1. Открываем справочник внешних печатных форм (Сервис->Дополнительные отчеты и обработки->Дополнительные внешние печатные формы);
  2. Добавляем новый элемент справочника и указываем файл печатной формы;
  3. Записываем элемент.
  4. (Необязательно) Меняем имеющиеся настройки — представления, отборы, дополнительные параметры и прочее.

На этом все, надеюсь, что эта статья была Вам полезна.

Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Оценка статьи:
УжасноПлохоНеплохоХорошоОтлично (оценок: 14, средняя оценка: 4,14 из 5)
Загрузка...

Понравилась статья? Поделиться с друзьями:
Комментарии: 2
  1. Олег

    Доброго времени суток!
    В конфигурации 1С БП 2.0 присутствуют 2 формы вывода на печать: управляемая (ПечатьДокументов) и обычная (ФормаПечати). Возможно-ли в Толстом клиенте на обычных формах через внешнюю печатную форму использовать управляемую форму печати документа? Процедура общего модуля «УправлениеПечатьюКлиент.ВыполнитьПодключаемуюКомандуПечати», которая вызывает данную форму в конфигурации не используется». Для чего она нужна?

    1. Аноним

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

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

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: