Документы и Печать · 9 мин
Как изменить печатную форму документа в 1С
Как изменить печатную форму документа в 1С: редактирование макета через конфигуратор, внешние печатные формы, типичные ошибки и проверка результата.
Печатная форма документа в 1С — это шаблон, по которому программа выводит на печать счета, акты, накладные и другие документы. Стандартные макеты не всегда подходят: компании нужны свои реквизиты, логотип, измененный порядок колонок или дополнительные поля вроде подписей и печатей.
Изменить печатную форму можно двумя принципиально разными способами: отредактировать макет прямо в конфигураторе или подключить внешнюю печатную форму без изменения конфигурации. Выбор зависит от того, стоит ли конфигурация на поддержке, есть ли у вас доступ к конфигуратору и насколько глубокие правки требуются.
Простые правки — добавить строку, поменять надпись, вставить логотип — обычно занимают минуты и не требуют навыков программирования. Сложные изменения, затрагивающие логику заполнения макета, потребуют правки программного кода и аккуратного тестирования.
Как устроены печатные формы в 1С
Каждая печатная форма состоит из двух частей: макета и программного кода, который его заполняет. Макет — это табличный документ с областями (шапка, строка таблицы, подвал), в ячейках которого заданы статичный текст и параметры. Параметры выглядят как имена в квадратных скобках и при печати заменяются реальными данными документа.
Код, формирующий печатную форму, обычно находится в модуле менеджера объекта (в типовых конфигурациях) или в модуле объекта. Он получает данные документа, выводит области макета в нужном порядке и подставляет значения в параметры. Поэтому изменения бывают двух уровней: косметические (правка макета) и логические (правка кода).
Понимание этой структуры важно на практике: если нужно просто переименовать надпись или сдвинуть колонку, достаточно поправить макет. Если нужно вывести новое поле, которого нет в параметрах макета, придется добавлять параметр в макет и дописывать код, который его заполняет.
Как изменить макет через конфигуратор
Это прямой способ, который подходит для собственных разработок и конфигураций, снятых с поддержки. Перед началом обязательно сделайте резервную копию информационной базы через пункт «Администрирование — Выгрузить информационную базу».
- 1Откройте конфигуратор и войдите под пользователем с правами администратора
- 2В дереве конфигурации найдите нужный вид документа, например «Реализация товаров и услуг»
- 3Раскройте ветку объекта и откройте папку «Макеты» — найдите нужный макет, например «МакетТОРГ12» или «Счет»
- 4Отредактируйте ячейки: текст, шрифты, границы, ширину колонок
- 5Сохраните конфигурацию (F7) и обновите конфигурацию базы данных
- 6Откройте 1С:Предприятие и распечатайте тестовый документ
В макете редактируйте ячейки как в обычной таблице: двойной щелчок открывает текст для правки, свойства ячейки (шрифт, выравнивание, границы) меняются через палитру свойств. Ячейки с параметрами имеют тип заполнения «Параметр» — их текст не трогайте, если не уверены, иначе при печати значение перестанет подставляться.
Если нужно добавить новую строку в шапку, выделите соседнюю область, скопируйте её и вставьте, затем поправьте содержимое. Помните: области макета выводятся кодом по именам, поэтому переименовывать области нельзя — код перестанет их находить, и печать будет падать с ошибкой.
Как добавить логотип, печать и новые поля
Логотип вставляется в макет как картинка: встаньте в нужную ячейку, в меню выберите вставку рисунка и укажите файл изображения. Картинка сохраняется внутри конфигурации, поэтому внешний файл после вставки можно удалить. Учитывайте, что крупные изображения увеличивают размер конфигурации.
Для вывода нового поля, например «ИНН покупателя» в дополнительной строке, действуйте в три этапа. Сначала добавьте ячейку в макет и задайте ей тип заполнения «Параметр» с уникальным именем, например «ИННПокупателя». Затем найдите код формирования печатной формы (обычно в модуле менеджера документа, процедура «Печать») и добавьте заполнение параметра из данных документа.
ОбластьШапка.Параметры.ИННПокупателя = Шапка.Контрагент.ИНН;Если поле берется из справочника, а не из шапки документа, проверьте, что значение доступно в запросе, которым код получает данные. Частая ошибка — параметр добавлен в макет, но в коде не заполняется: на печати вместо значения выводится пустота или сам текст параметра.
Внешние печатные формы без изменения конфигурации
Внешняя печатная форма — это файл с расширением .epf, который подключается к типовой конфигурации через раздел «Администрирование — Печатные формы, отчеты и обработки — Дополнительные отчеты и обработки». Конфигурация при этом не меняется, поддержка не снимается, обновления проходят штатно.
Внешнюю форму можно написать самостоятельно на основе типового макета: скопируйте макет из конфигуратора во внешнюю обработку, перенесите код печати и измените под свои задачи. В модуле обработки обязательно должна быть функция «СведенияОВнешнейОбработке», описывающая, к каким документам привязана форма и какую команду печати она добавляет.
Два способа изменения формы
Быстро и просто для своих конфигураций. Не подходит для типовых на поддержке — правки конфликтуют с обновлениями.
Безопасно для типовых конфигураций, легко отключить. Требует начальных навыков разработки и правильного описания обработки.
После подключения внешней формы в меню «Печать» документа появится дополнительный пункт с вашим вариантом. Старая типовая форма остается доступной — это удобно для сравнения и отката. Если внешняя форма перестала нужна, её просто удаляют из списка дополнительных обработок.
Как проверить результат и откатить изменения
Проверку делайте на копии базы или на тестовом документе, не на реальных проведенных данных. Распечатайте документ с максимальным набором строк: длинная табличная часть часто ломает верстку, которую не видно на документе из двух позиций.
Как проверить результат
Все поля выводят реальные данные документа
Видны пустые места или текст параметра в квадратных скобках
Шапка и подвал на месте, строки не обрезаны, итоги верны
Подвал «уезжает», итоги считаются не по всем строкам
Печать работает у всех пользователей и для похожих документов
Ошибка прав доступа или падение на документах другого периода
Если что-то пошло не так при правке в конфигураторе, вернитесь к резервной копии или сравните конфигурацию с конфигурацией поставщика и восстановите макет из неё. Для внешней формы откат еще проще: отключите обработку, и типовая печать снова станет единственной.
Типичные ошибки при изменении печатных форм
Отдельная группа проблем связана с правами: пользователь без прав администратора не откроет конфигуратор, а подключение внешних обработок может быть запрещено настройками безопасности. Если кнопка «Дополнительные отчеты и обработки» недоступна, проверьте роли пользователя и настройку «Интерактивное открытие внешних отчетов и обработок».
Еще одна распространенная ситуация: макет исправлен, но печать выводит старый вариант. Причина обычно в том, что конфигурация базы данных не обновлена после сохранения, либо форма берется из регистра пользовательских макетов, которые в типовых конфигурациях переопределяют стандартные. Проверьте раздел «Администрирование — Печатные формы, отчеты и обработки — Пользовательские макеты».
Часто задаваемые вопросы
Можно ли изменить печатную форму без конфигуратора?
Да, если конфигурация поддерживает пользовательские макеты: в меню печати документа выберите «Изменить макет» и отредактируйте табличный документ прямо в режиме «Предприятие». Такой макет сохраняется отдельно от конфигурации и не мешает обновлениям. Для сложных изменений логики используют внешние печатные формы.
Что будет с моими правками после обновления конфигурации?
Если макет изменен в конфигураторе типовой конфигурации, при обновлении программа предложит сравнить изменения, и ваши правки могут быть заменены типовым вариантом. Пользовательские макеты и внешние печатные формы обновлению не мешают и сохраняются.
Почему вместо значения печатается текст в квадратных скобках?
Это значит, что параметр макета не заполнен в коде: либо имя параметра в макете не совпадает с именем в коде, либо строка заполнения отсутствует. Проверьте точное совпадение имен, включая регистр букв.
Как вернуть типовую печатную форму?
Для пользовательского макета откройте список пользовательских макетов и удалите свой вариант — вернется стандартный. Для внешней формы удалите её из дополнительных обработок. Для правки в конфигураторе восстановите макет из конфигурации поставщика через сравнение конфигураций.
Нужно ли согласовывать измененную форму, если это утвержденный бланк?
Для унифицированных форм первичных документов допускается добавление строк и граф, но нельзя удалять обязательные реквизиты. Перед изменением форм, которые подписывают контрагенты или проверяющие, уточните требования у бухгалтера или в актуальных нормативных документах.
Что важно запомнить
Простые правки делайте через пользовательский макет, для типовых конфигураций на поддержке — через внешнюю печатную форму, а прямую правку в конфигураторе оставляйте для собственных разработок. Перед изменениями делайте копию базы, после — проверяйте печать на длинном документе.