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

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

Как изменить печатный макет в 1С

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

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

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

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

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

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

Макеты хранятся в двух местах. Общие макеты находятся в ветке «Общие — Макеты» дерева конфигурации, а макеты конкретного документа — внутри самого объекта, например «Документы — РеализацияТоваровУслуг — Макеты». В типовых конфигурациях печать часто вынесена в общие модули менеджера печати, и один макет может использоваться для нескольких видов документов.

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

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

Если конфигурация на поддержке без возможности изменения, сначала включите возможность изменений: «Конфигурация — Поддержка — Настройка поддержки», затем для нужного объекта установите режим «Редактируется с сохранением поддержки». Учтите, что это осложнит последующие обновления.

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

Что именно можно менять в макете

Текст и оформление

Статичный текст — заголовки, подписи, надписи вроде «Поставщик» и «Покупатель» — редактируется прямо в ячейках, как в обычной таблице. Через палитру свойств меняются шрифт, границы, выравнивание, цвет и формат ячеек. Чтобы добавить логотип, вставьте картинку через меню «Таблица — Рисунки» или добавьте в макет элемент типа «Картинка».

Параметры и данные документа

Чтобы вывести новое поле из документа, добавьте в ячейку параметр: правый клик по ячейке — «Свойства», в поле «Заполнение» выберите «Параметр», а в тексте ячейки укажите имя в квадратных скобках, например [АдресПоставщика]. Важно: сам параметр должен заполняться в программном коде процедуры печати. Если код его не передаёт, на печати будет пустое место или имя параметра — тогда придётся править и модуль менеджера печати.

Области

Новые области создаются через меню «Таблица — Имена — Назначить имя» для выделенных строк или колонок. Удалять существующие области без проверки кода нельзя: если процедура печати обращается к области, которой больше нет, печать завершится ошибкой «Область не найдена».

Как изменить печатную форму без изменения конфигурации

В конфигурациях на БСП (1С: Бухгалтерия, Управление торговлей, ERP) есть механизм дополнительных отчетов и обработок: «Администрирование — Печатные формы, отчеты и обработки». Через него подключается внешняя печатная форма — файл с расширением .epf, который заменяет или дополняет типовую печать. Конфигурация при этом остаётся на полной поддержке.

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

Способы изменения макета

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

Быстро и просто, но требует снятия объекта с полной поддержки; изменения могут конфликтовать при обновлении

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

Конфигурация не меняется, обновления проходят штатно; требует написания обвязочного кода регистрации

Макет в справочнике «Пользовательские макеты»

В некоторых конфигурациях позволяет править макет прямо в режиме Предприятия; доступно не для всех печатных форм

Редактирование макета прямо в режиме Предприятия

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

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

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

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

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

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

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

Вывод параметров
Норма

Все поля заполнены данными документа

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

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

Табличная часть
Норма

Все строки документа выведены, нумерация не сбита

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

Строки пропущены или дублируются

Разбивка на страницы
Норма

Итоги и подписи на одной странице с последними строками

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

Подвал уехал на отдельный лист

Печать у других пользователей
Норма

Форма открывается без ошибок под разными правами

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

Ошибка «область не найдена» или недоступность формы

Типичные ошибки при правке макетов

Самая частая проблема — параметр добавлен в макет, но не заполняется в коде. Симптом: на печати виден текст вида [МойПараметр] или пустая ячейка. Решение — найти процедуру формирования печатной формы и добавить заполнение параметра в структуру данных.

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

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

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

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

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

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

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

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

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

Как добавить в макет поле, которого нет в списке параметров?

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

На печати вместо данных выводится текст в квадратных скобках. Что делать?

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

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

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

Один макет используется для нескольких документов — как не сломать остальные?

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