Документы и Печать · 11 мин
Как в 1С добавить печатные формы
Как добавить внешнюю печатную форму в 1С через «Дополнительные отчеты и обработки», подключить макет, назначить команду печати и проверить результат.
Печатная форма в 1С — это шаблон, по которому программа выводит документ на бумагу или в файл: счет на оплату, акт, накладную, доверенность. В типовых конфигурациях уже есть базовый набор форм, но на практике компаниям часто нужны свои варианты: с логотипом, дополнительными реквизитами, измененным порядком строк или формулировками под требования контрагентов.
Добавить печатную форму можно двумя принципиально разными способами: подключить внешнюю печатную форму через механизм «Дополнительные отчеты и обработки» (без изменения конфигурации) или встроить форму в конфигурацию через конфигуратор. Первый способ доступен пользователю с правами администратора и не требует снятия конфигурации с поддержки, второй — работа разработчика.
Ниже разобраны оба подхода, требования к файлу внешней формы, настройка команд печати и типичные ошибки, из-за которых форма не появляется в меню «Печать» или выводится с пустыми полями.
Какие способы добавления печатных форм существуют
Прежде чем что-либо подключать, определите, какой вариант подходит под вашу задачу. От этого зависит, кто будет выполнять работу и как форма будет обновляться в дальнейшем.
Внешняя печатная форма (.epf) — отдельный файл обработки, который подключается к базе без изменения конфигурации. Это стандартный механизм БСП (библиотеки стандартных подсистем), он работает в «1С:Бухгалтерии», «Управлении торговлей», ERP, «Зарплате и управлении персоналом» и других типовых решениях. Подходит, когда нужно добавить свою форму к существующему документу или справочнику.
Изменение макета в конфигураторе — правка встроенного макета или добавление новой команды печати в модуль менеджера объекта. Дает полную свободу, но требует навыков программирования на встроенном языке 1С и усложняет обновление конфигурации, если она на поддержке.
Простая правка макета перед печатью — в ряде форм доступна кнопка «Еще» → «Изменить макет», позволяющая поправить шаблон прямо из пользовательского режима. Подходит для косметических правок: переименовать заголовок, убрать колонку, добавить статичный текст.
Сравнение вариантов
Подходит для добавления новых форм без доработки конфигурации; обновления типового релиза не затрагивают форму. Ограничение: нужен файл, написанный под API БСП.
Полный контроль над логикой и макетом; подходит для нестандартных задач. Ограничение: требует разработчика и усложняет обновление.
Быстрые косметические правки без программирования. Ограничение: нельзя менять логику заполнения, только оформление.
Подготовка: что проверить перед подключением
Механизм дополнительных отчетов и обработок часто отключен в настройках. Откройте «Администрирование» → «Печатные формы, отчеты и обработки» и убедитесь, что установлен флажок «Дополнительные отчеты и обработки». Без этого пункта соответствующий раздел в меню не появится.
Проверьте права: подключать внешние обработки может пользователь с ролью администратора или с правом «Добавление дополнительных отчетов и обработок». В файловой базе без разграничения прав обычно достаточно полных прав.
Убедитесь, что файл формы соответствует вашей конфигурации и версии БСП. Внешняя печатная форма, написанная для «1С:Бухгалтерии 3.0», не подойдет для УТ 11 или ERP — у них разные объекты и разные требования к регистрационным данным. Если форму писал сторонний разработчик, уточните, под какую конфигурацию и релиз она собрана.
Как подключить внешнюю печатную форму пошагово
Стандартный путь в типовых конфигурациях на БСП выглядит так: «Администрирование» → «Печатные формы, отчеты и обработки» → «Дополнительные отчеты и обработки». В открывшемся списке нажмите «Добавить из файла» (или «Создать» → «Загрузить из файла», в зависимости от версии) и укажите файл с расширением .epf.
После загрузки программа считает сведения из модуля обработки и покажет карточку регистрации: наименование, вид «Печатная форма», безопасный режим. Проверьте, что в таблице «Принадлежность» указаны нужные объекты — например, документ «Реализация товаров и услуг» или «Счет на оплату покупателю». Если список пуст, форма нигде не появится.
Нажмите «Записать и закрыть». После этого откройте документ, для которого подключена форма, и проверьте меню «Печать»: новая команда должна появиться в конце списка или в подменю «Дополнительные печатные формы».
- 1Включите механизм: Администрирование → Печатные формы, отчеты и обработки → флажок «Дополнительные отчеты и обработки».
- 2Откройте список «Дополнительные отчеты и обработки» и нажмите «Добавить из файла».
- 3Выберите файл .epf и подтвердите загрузку.
- 4Проверьте в карточке таблицу «Принадлежность» — там должны быть нужные документы.
- 5Запишите, откройте документ и проверьте наличие команды в меню «Печать».
Требования к файлу внешней формы
Чтобы 1С приняла обработку как печатную форму, в модуле объекта должна быть экспортная функция СведенияОВнешнейОбработке(), возвращающая структуру с параметрами регистрации: вид «ПечатнаяФорма», версия API БСП, массив назначений (объектов, к которым привязана форма) и таблица команд.
Каждая команда печати описывается идентификатором, представлением (тем, что видит пользователь в меню «Печать») и способом вызова. Сама печать выполняется процедурой Печать() в модуле объекта обработки, которая получает массив ссылок на документы и должна сформировать табличный документ.
Если форма выводит данные, которых нет в типовом запросе (дополнительные реквизиты, сведения из регистров), вся логика получения данных должна быть внутри обработки — внешняя форма не может опираться на процедуры конфигурации, недоступные из безопасного режима.
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
ПараметрыРегистрации.Назначение.Добавить("Документ.РеализацияТоваровУслуг");
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Идентификатор = "МояПечатнаяФорма";
НоваяКоманда.Представление = НСтр("ru = 'Акт с логотипом'");
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
Возврат ПараметрыРегистрации;
КонецФункцииИзменение макета без программирования
Если задача — только поправить внешний вид существующей формы, во многих типовых конфигурациях это делается прямо из режима 1С:Предприятие. Откройте печатную форму документа, нажмите «Еще» → «Изменить макет» (или аналогичную команду в меню печати). Откроется табличный макет, где можно править тексты, шрифты, ширину колонок, добавлять картинку с логотипом.
Измененный макет сохраняется как «пользовательский» и подменяет типовой при последующих печатях. Важное ограничение: можно менять только оформление. Именованные области и параметры, которые заполняет код конфигурации, удалять нельзя — иначе при печати возникнет ошибка или поля останутся пустыми.
Вернуть типовой вид можно кнопкой «Вернуться к стандартному макету» в том же окне редактирования. Это безопасный способ экспериментировать: исходный макет конфигурации не изменяется.
Добавление формы через конфигуратор
Когда внешней обработки недостаточно — например, форма должна вызываться автоматически при проведении документа или использовать сложную логику — форму встраивают в конфигурацию. Для этого в конфигураторе у объекта (документа) создают макет типа «Табличный документ», а в модуле менеджера объекта добавляют процедуру формирования печатной формы и регистрируют команду в процедуре ДобавитьКомандыПечати.
Такая доработка требует включения возможности изменения конфигурации. Если конфигурация на полной поддержке, при следующем обновлении типовым релизом доработку придется сопоставлять вручную — поэтому для разовых задач предпочтительнее внешние формы.
После внесения изменений обновите конфигурацию базы данных (F7) и проверьте печать на тестовом документе. Работы в конфигураторе выполняйте только на копии базы или вне рабочего времени, если база файловая и монопольный доступ невозможен.
Проверка результата и типичные ошибки
После подключения проверьте три вещи: команда появилась в меню «Печать» нужного документа; форма открывается без сообщений об ошибках; все поля заполнены данными документа, а итоги сходятся с суммами в самом документе.
Если команда не появилась, чаще всего причина в пустой таблице «Принадлежность» в карточке дополнительной обработки или в том, что механизм дополнительных отчетов отключен. Если форма открывается пустой — вероятно, обработка рассчитана на другую конфигурацию и не находит нужные реквизиты документа.
Как проверить результат
Новая форма видна и называется понятно пользователям
Команды нет — проверить принадлежность и включенность механизма
Табличный документ формируется без ошибок
Окно ошибки «Метод не обнаружен» или пустой документ
Номер, дата, контрагент и суммы совпадают с документом
Пустые поля, нулевые итоги, данные другого документа
Часто задаваемые вопросы
Можно ли добавить печатную форму без прав администратора?
Загрузка внешних обработок требует права на добавление дополнительных отчетов и обработок, которое обычно есть только у администратора. Обычный пользователь может лишь изменить макет существующей формы через «Еще» → «Изменить макет», если эта возможность не отключена настройками прав.
Чем внешняя печатная форма отличается от внешнего отчета?
Печатная форма (вид «ПечатнаяФорма») привязывается к конкретным документам и вызывается из их меню «Печать». Внешний отчет (вид «ДополнительныйОтчет») появляется в разделе «Дополнительные отчеты» и работает независимо от открытого документа.
Почему после обновления конфигурации внешняя форма перестала работать?
В новом релизе могли переименоваться реквизиты документа или измениться версия API БСП, на которую рассчитана обработка. Откройте форму в конфигураторе, сверьте обращения к реквизитам с актуальной структурой документа и при необходимости обновите версию в вызове СведенияОВнешнейОбработке.
Можно ли подключить одну форму сразу к нескольким документам?
Да. В функции СведенияОВнешнейОбработке в массив «Назначение» добавляют несколько объектов, например Документ.РеализацияТоваровУслуг и Документ.АктВыполненныхРабот. Внутри процедуры печати логику разветвляют по типу переданной ссылки.
Как убрать подключенную внешнюю печатную форму?
Откройте «Администрирование» → «Дополнительные отчеты и обработки», найдите форму в списке и либо снимите флажок «Публикация» (форма скроется, но останется в базе), либо пометьте элемент на удаление. Команда исчезнет из меню «Печать» сразу после записи.
Работает ли механизм внешних форм в базовых версиях 1С?
Механизм дополнительных отчетов и обработок в базовых версиях обычно доступен, но базовые поставки не поддерживают изменение конфигурации в конфигураторе. Поэтому для базовой версии внешняя форма .epf — фактически единственный способ добавить свою печатную форму.
Что важно запомнить
Основной способ добавить печатную форму в типовую 1С — загрузить файл .epf через «Дополнительные отчеты и обработки», проверив принадлежность к нужным документам. Для косметических правок достаточно изменения макета из режима предприятия, а глубокие доработки через конфигуратор делайте только с резервной копией.