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