К статье
Практический материал

Документы и Печать · 11 мин

Как добавить печатную форму в документ 1С

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

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

Выбор способа зависит от конфигурации и задачи. В типовых решениях на базе Библиотеки стандартных подсистем (Управление торговлей, Бухгалтерия предприятия, ERP, Управление нашей фирмой) есть механизм «Дополнительные отчеты и обработки», который принимает внешние печатные формы в формате .epf. В самописных или сильно доработанных конфигурациях этот механизм может отсутствовать, и тогда форму встраивают напрямую.

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

Как определить, какой способ подходит вашей конфигурации

Откройте раздел «Администрирование» и найдите подраздел «Печатные формы, отчеты и обработки». Если в нем есть пункт «Дополнительные отчеты и обработки» — конфигурация поддерживает внешние печатные формы, и это предпочтительный путь. Включите флажок «Дополнительные отчеты и обработки», если он снят: без этого пункт меню неактивен.

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

Маршрут решения

Как выбрать действие

В «Администрировании» есть «Дополнительные отчеты и обработки»Подключайте внешнюю печатную форму (.epf) — конфигурация останется на поддержке
Механизма нет, конфигурация типоваяОбновите конфигурацию до актуального релиза, затем используйте внешнюю форму
Конфигурация самописная или механизм вырезанВстраивайте форму в конфигураторе через макет и модуль менеджера документа
Нужно лишь поправить пару полей в типовой формеПопробуйте «Изменить макет» прямо из формы печати, если конфигурация это позволяет

Подключение внешней печатной формы через «Дополнительные отчеты и обработки»

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

Порядок подключения: откройте «Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки», нажмите «Создать» и выберите файл .epf. Система может показать предупреждение безопасности о загрузке файлов из внешних источников — подтвердите, только если доверяете источнику. После загрузки в карточке обработки проверьте таблицу «Назначение»: там должны быть перечислены нужные виды документов. Если список пуст или неполон, добавьте документы вручную по ссылке «Настроить список». Запишите обработку.

Порядок подключения внешней печатной формы
  1. 1
    Включите флажок «Дополнительные отчеты и обработки» в разделе «Администрирование → Печатные формы, отчеты и обработки»
  2. 2
    Откройте список дополнительных отчетов и обработок, нажмите «Создать»
  3. 3
    Выберите файл .epf и подтвердите предупреждение безопасности
  4. 4
    Проверьте таблицу «Назначение» — в ней должны быть нужные виды документов
  5. 5
    Запишите обработку и откройте документ: новая форма появится в меню «Печать»

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

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

Когда нужно поправить только внешний вид — добавить логотип, изменить подписи, убрать лишнюю колонку — не обязательно создавать отдельную обработку. Во многих типовых конфигурациях при просмотре печатной формы доступна команда «Еще → Изменить макет» (или кнопка с аналогичным названием). Откроется табличный макет, который можно отредактировать: текст, шрифты, границы ячеек, картинки.

Учтите ограничения: изменить можно оформление и статичный текст, но не состав выводимых данных — поля макета заполняются кодом конфигурации. Если нужно вывести новый реквизит, которого в макете нет, потребуется доработка процедуры печати. Также помните, что редактирование макета в пользовательском режиме возможно только если конфигурация предоставляет эту возможность; в противном случае команда будет недоступна.

Добавление печатной формы в конфигураторе

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

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

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

bsl
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "МояФорма") Тогда
        ТабДок = Новый ТабличныйДокумент;
        Макет = ПолучитьМакет("МояФорма");
        // запрос данных и вывод областей макета
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "МояФорма", "Моя форма", ТабДок);
    КонецЕсли;
КонецПроцедуры

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

Проверка результата и настройка прав доступа

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

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

Контрольные точки

Как проверить результат

Наличие формы в меню «Печать»
Норма

Форма видна в списке при открытии документа нужного вида

Тревожный признак

Формы нет — проверьте назначение обработки и права пользователя

Заполнение данных
Норма

Все реквизиты, суммы и табличная часть выводятся корректно

Тревожный признак

Пустые поля или ошибки — несовпадение имен параметров макета и кода

Групповая печать
Норма

Печатаются все выбранные документы списком

Тревожный признак

Выводится один документ — обработка не обходит массив объектов

Поведение после обновления
Норма

Форма работает как раньше

Тревожный признак

Форма пропала или искажена — переподключите обработку или верните типовой макет

Типичные ошибки и ограничения

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

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

Типичные ошибки
01
Загрузка .epf без проверки назначения — форма не появляется в нужном документе
02
Использование обработки от другой конфигурации — ошибки обращения к несуществующим реквизитам
03
Правка типового макета вместо пользовательского — изменения теряются при обновлении
04
Встраивание формы в типовую конфигурацию без необходимости — усложнение всех последующих обновлений
05
Отсутствие резервной копии перед доработкой — невозможно быстро откатить ошибку

Частые вопросы

Можно ли добавить печатную форму без программиста?

Да, если у вас есть готовый файл .epf и конфигурация поддерживает дополнительные отчеты и обработки — подключение занимает несколько минут и не требует знания кода. Создание формы с нуля или адаптация чужой обработки уже требуют навыков разработки.

Почему после подключения формы её не видят другие пользователи?

Проверьте две вещи: роль «Использование дополнительных отчетов и обработок» у конкретного пользователя и настройки быстрого доступа в карточке обработки — там могут быть ограничения по списку пользователей или подразделений.

Чем внешняя печатная форма лучше доработки конфигурации?

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

Форма работала, а после обновления конфигурации стала выдавать ошибку. Что делать?

Скорее всего, разработчик изменил процедуры или реквизиты, к которым обращается обработка. Обратитесь к автору формы за обновленной версией. Если ошибку выдает измененный пользовательский макет, попробуйте вернуть типовой макет и внести правки заново.

Как добавить форму сразу для нескольких видов документов?

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

Можно ли заменить типовую форму своей, чтобы она печаталась по умолчанию?

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

Итог

Что важно запомнить

Основной способ добавить печатную форму — подключить файл .epf через «Дополнительные отчеты и обработки», указав назначение и проверив права. Мелкие правки оформления делаются через изменение макета. Встраивание в конфигуратор — крайняя мера, усложняющая обновления. Перед любыми изменениями делайте резервную копию и тестируйте форму на копии базы.