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

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

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

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

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

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

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

Как устроены печатные формы в 1С

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

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

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

Как изменить макет через конфигуратор

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

Порядок действий в конфигураторе
  1. 1
    Откройте конфигуратор и войдите под пользователем с правами администратора
  2. 2
    В дереве конфигурации найдите нужный вид документа, например «Реализация товаров и услуг»
  3. 3
    Раскройте ветку объекта и откройте папку «Макеты» — найдите нужный макет, например «МакетТОРГ12» или «Счет»
  4. 4
    Отредактируйте ячейки: текст, шрифты, границы, ширину колонок
  5. 5
    Сохраните конфигурацию (F7) и обновите конфигурацию базы данных
  6. 6
    Откройте 1С:Предприятие и распечатайте тестовый документ

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

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

Как добавить логотип, печать и новые поля

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

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

1c
ОбластьШапка.Параметры.ИННПокупателя = Шапка.Контрагент.ИНН;

Если поле берется из справочника, а не из шапки документа, проверьте, что значение доступно в запросе, которым код получает данные. Частая ошибка — параметр добавлен в макет, но в коде не заполняется: на печати вместо значения выводится пустота или сам текст параметра.

Внешние печатные формы без изменения конфигурации

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

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

Два способа изменения формы

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

Быстро и просто для своих конфигураций. Не подходит для типовых на поддержке — правки конфликтуют с обновлениями.

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

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

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

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

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

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

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

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

Все поля выводят реальные данные документа

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

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

Многострочный документ
Норма

Шапка и подвал на месте, строки не обрезаны, итоги верны

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

Подвал «уезжает», итоги считаются не по всем строкам

Другие документы и пользователи
Норма

Печать работает у всех пользователей и для похожих документов

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

Ошибка прав доступа или падение на документах другого периода

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

Типичные ошибки при изменении печатных форм

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

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

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

Часто задаваемые вопросы

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

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

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

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

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

Это значит, что параметр макета не заполнен в коде: либо имя параметра в макете не совпадает с именем в коде, либо строка заполнения отсутствует. Проверьте точное совпадение имен, включая регистр букв.

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

Для пользовательского макета откройте список пользовательских макетов и удалите свой вариант — вернется стандартный. Для внешней формы удалите её из дополнительных обработок. Для правки в конфигураторе восстановите макет из конфигурации поставщика через сравнение конфигураций.

Нужно ли согласовывать измененную форму, если это утвержденный бланк?

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

Итог

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

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