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