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

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

Печатные формы в 1С: как сделать и настроить

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

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

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

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

Способы создания печатных форм: что выбрать

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

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

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

Сравнение вариантов

Правка макета в конфигураторе

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

Редактирование макета в пользовательском режиме

Доступно в конфигурациях на БСП, не требует конфигуратора и не нарушает поддержку. Ограничение — правится только сам макет, логика заполнения остается типовой.

Внешняя печатная форма (.epf)

Не меняет конфигурацию, легко отключить или обновить. Требует навыков программирования на встроенном языке 1С либо готового файла.

Форма в Word/Excel через COM-объект

Удобна для сложной верстки, но работает только при установленном MS Office и заметно медленнее табличного документа.

Как отредактировать типовой макет в конфигураторе

Откройте конфигуратор и найдите нужный объект: например, документ «Реализация товаров и услуг». В дереве объекта раскройте ветку «Макеты» — там обычно лежат макеты печатных форм с говорящими именами (МакетТОРГ12, МакетСчетФактура и т.п.). Если макета нет, проверьте ветку «Общие макеты» в корне конфигурации.

Двойной щелчок открывает табличный документ — редактор макета. Форма состоит из именованных областей: шапка, строка таблицы, подвал. Текст в угловых скобках вида [НомерДокумента] — это параметры, которые заполняются кодом при печати. Обычный текст выводится как есть. Чтобы добавить статичную надпись, достаточно вписать ее в ячейку. Чтобы вывести новые данные, параметр должен быть заполнен в модуле менеджера объекта или модуле формы — здесь уже нужен код.

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

Редактирование макета без конфигуратора

В конфигурациях на базе БСП (1С:Бухгалтерия 3.0, Управление торговлей 11, ERP и др.) часть макетов можно править прямо в режиме предприятия. Путь: «Администрирование» → «Печатные формы, отчеты и обработки» → «Макеты печатных форм». Откроется список макетов, доступных для редактирования.

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

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

Как сделать внешнюю печатную форму

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

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

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

Порядок действий для внешней формы
  1. 1
    Создайте в конфигураторе новую внешнюю обработку и добавьте макет табличного документа
  2. 2
    Реализуйте функцию СведенияОВнешнейОбработке() с видом «ПечатнаяФорма» и командой печати
  3. 3
    Напишите процедуру Печать: запрос данных по массиву ссылок и вывод областей макета
  4. 4
    Сохраните файл .epf и подключите его через «Дополнительные отчеты и обработки»
  5. 5
    Укажите объекты назначения и проверьте печать на тестовом документе

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

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

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

Для официальных форм (счет-фактура, ТОРГ-12, УПД) сверяйте состав реквизитов с действующими требованиями: удаление обязательного поля может сделать документ недействительным для контрагентов и налоговой. Декоративные правки допустимы, но состав обязательных реквизитов менять нельзя.

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

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

Заполнение параметров
Норма

Все поля выводятся, пустых квадратных скобок нет

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

На печати видны [Параметр] или пустые места вместо данных

Длинные наименования
Норма

Текст переносится, строки не обрезаются

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

Текст налезает на соседние ячейки или скрыт

Многостраничная печать
Норма

Заголовок таблицы повторяется, итоги в подвале корректны

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

Таблица «уезжает», итоги печатаются не на той странице

Обязательные реквизиты
Норма

Состав полей соответствует требованиям к форме

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

Удалено обязательное поле (ИНН, номер, дата, подписи)

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

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

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

Учитывайте и ограничения платформы: табличный документ — не текстовый процессор, сложная верстка (обтекание, колонтитулы с переменным содержимым) реализуется трудоемко. Если форма требует свободной верстки, разумнее выгружать данные в шаблон Word или Excel.

Типичные ошибки
01
Переименовали параметр в макете — поля на печати пустые, при этом ошибок программа не показывает
02
Правят макет в конфигураторе на автоматически обновляемой базе — изменения теряются при обновлении
03
Подключают внешнюю обработку из интернета без проверки на копии — риск ошибок и вредоносного кода
04
Удаляют обязательные реквизиты из счета-фактуры или УПД — документ оспаривается контрагентами и налоговой
05
Тестируют форму только на коротком документе — на реальных длинных наименованиях верстка разваливается

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

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

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

Почему после обновления конфигурации моя форма пропала?

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

Как вывести сумму прописью в печатной форме?

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

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

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

Как добавить свою кнопку печати в документ?

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

Чем отличается макет табличного документа от макета Word?

Табличный документ формируется быстро, не требует установленного Office и одинаково работает на сервере и клиенте. Макет Word удобнее для сложной верстки, но печать через COM-объект медленнее и зависит от наличия MS Office на рабочем месте.

Итог

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

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