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

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

Как изменять макеты в 1С: практическое руководство

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

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

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

В этом руководстве разобраны оба пути: где находятся макеты, как их открыть и отредактировать, как добавить параметры и области, как проверить результат и не сломать обновление конфигурации. Отдельно описаны типичные ошибки, из-за которых печатная форма перестаёт формироваться.

Что такое макет в 1С и где он хранится

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

Хранятся макеты в двух местах. Общие макеты находятся в конфигураторе в ветке «Общие» → «Общие макеты» — они доступны всем объектам. Макеты конкретных объектов лежат внутри самого объекта: например, у документа «Реализация товаров и услуг» в ветке «Макеты» может быть макет «МакетПечати» или отдельные макеты для ТОРГ-12 и счёта-фактуры.

В типовых конфигурациях на управляемых формах (1С:Бухгалтерия 3.0, УТ 11, ERP) печатные формы часто построены через подсистему «Печать» библиотеки стандартных подсистем. Тогда макет подключается через регистрацию в модуле менеджера объекта, а сам макет лежит либо в общих макетах, либо в макетах документа. Понять, какой макет используется, помогает команда «Ещё» → «Изменить макет» в форме предварительного просмотра печати — если она доступна.

Как изменить макет в пользовательском режиме без конфигуратора

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

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

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

Порядок действий в пользовательском режиме
  1. 1
    Откройте документ и сформируйте нужную печатную форму
  2. 2
    В окне просмотра нажмите «Ещё» → «Изменить макет»
  3. 3
    Отредактируйте ячейки, шрифты, логотип, не трогая параметры в квадратных скобках
  4. 4
    Сохраните макет и сформируйте печатную форму повторно
  5. 5
    Проверьте, что все данные выводятся корректно

Изменение макета через внешнюю печатную форму

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

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

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

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

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

Макет открывается как табличный документ. Ключевые элементы: области (строки или группы строк, выделяемые через меню «Таблица» → «Именованные области») и параметры ячеек. У ячейки свойство «Заполнение» может быть «Текст», «Параметр» или «Шаблон». Параметр — это одиночное значение, шаблон позволяет смешивать текст и параметры в квадратных скобках, например: «Директор [ДолжностьРуководителя] [ФИОРуководителя]».

Чтобы добавить новое поле, создайте параметр в нужной ячейке, а затем в модуле, формирующем печать (обычно модуль менеджера объекта, процедура Печать или ДобавитьКомандыПечати / СформироватьПечатнуюФорму), добавьте заполнение этого параметра: Область.Параметры.МойПараметр = Значение;. Без заполнения в коде параметр выведется пустым.

bsl
Макет = ПолучитьМакет("МакетПечати");
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьШапка.Параметры.НаименованиеОрганизации = Организация.НаименованиеПолное;
ТабличныйДокумент.Вывести(ОбластьШапка);

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

Типичные задачи: логотип, подписи, дополнительные поля

Как добавить логотип в печатную форму

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

Как изменить текст и подписи

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

Как вывести дополнительный реквизит документа

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

Типичные ошибки
01
Удаление или переименование параметра в макете без правки кода — поле выводится пустым или форма падает с ошибкой
02
Правка ячейки с типом «Параметр» как обычного текста — введённый текст затирается при печати
03
Снятие конфигурации с поддержки ради мелкой правки — обновления становятся ручными
04
Правка макета без резервной копии базы — невозможно быстро откатить изменения
05
Забытая настройка размещения внешней печатной формы — кнопка печати не появляется у пользователей

Проверка результата и откат изменений

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

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

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

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

Все параметры заполнены
Норма

Данные документа выводятся в нужных местах

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

Пустые ячейки там, где должны быть значения

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

Таблица и итоги не разрываются некорректно

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

Строки уезжают, итоги на отдельном листе

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

Форма доступна и формируется под нужными ролями

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

Кнопки печати нет или ошибка прав доступа

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

Редактирование в пользовательском режиме

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

Внешняя печатная форма

Подходит для новых макетов и логики без снятия с поддержки. Требует навыков разработки на встроенном языке.

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

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

Ответы на частые вопросы

Почему кнопка «Изменить макет» не отображается при печати?

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

Пропадёт ли изменённый макет после обновления конфигурации?

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

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

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

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

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

Нужно ли снимать конфигурацию с поддержки для изменения макета?

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

Почему после правки макета печатная форма выдаёт ошибку?

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

Итог

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

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