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