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

Разработка и Конфигурация · 10 мин

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

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

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

Чаще всего задача возникает, когда нужно изменить печатную форму документа — добавить логотип, реквизиты, печать или подпись. В типовых конфигурациях на управляемых формах («Управление торговлей», «Бухгалтерия предприятия», «Зарплата и управление персоналом») для этого предусмотрен штатный механизм дополнительных отчетов и обработок, который не требует снятия конфигурации с поддержки.

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

Что такое макет в 1С и какие виды бывают

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

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

Как загрузить макет через конфигуратор

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

  1. Откройте конфигуратор и выполните команду «Конфигурация» → «Открыть конфигурацию».
  2. Если макет нужен для конкретного объекта (документа, справочника), найдите объект в дереве конфигурации, раскройте его ветку «Макеты» и выберите «Добавить» через контекстное меню.
  3. Если макет общий, откройте ветку «Общие» → «Макеты» и добавьте новый элемент.
  4. В конструкторе укажите имя макета и тип «Табличный документ».
  5. Откроется пустой табличный документ. Чтобы загрузить готовый шаблон из файла, используйте «Файл» → «Открыть» и выберите файл формата MXL, либо скопируйте содержимое из другого макета через буфер обмена.
  6. Сохраните макет и обновите конфигурацию базы данных (клавиша F7).
Порядок действий в конфигураторе
  1. 1
    Откройте конфигурацию и найдите нужный объект или ветку «Общие» → «Макеты»
  2. 2
    Добавьте новый макет, задайте имя и тип «Табличный документ»
  3. 3
    Загрузите содержимое из файла MXL через «Файл» → «Открыть» или скопируйте из другого макета
  4. 4
    Проверьте имена областей и параметров — они должны совпадать с кодом формирования
  5. 5
    Обновите конфигурацию базы данных и проверьте печать на тестовом документе

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

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

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

Сначала включите механизм: перейдите в раздел «Администрирование» → «Печатные формы, отчеты и обработки» и установите флаг «Дополнительные отчеты и обработки». После этого появится ссылка на одноимённый справочник. Создайте новый элемент и укажите файл внешней обработки печатной формы (формат EPF). Программа автоматически определит, к каким документам привязана форма, и добавит её в меню «Печать».

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

Как отредактировать макет встроенной печатной формы

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

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

Программная загрузка макета из файла

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

ТабДок = Новый ТабличныйДокумент;

ТабДок.Прочитать("C:\Шаблоны\МакетСчета.mxl");

// далее работаем с областями как с обычным макетом

Область = ТабДок.ПолучитьОбласть("Шапка");

Область.Параметры.НомерДокумента = НомерДок;

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

Проверка результата и типичные ошибки

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

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

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

Подстановка параметров
Норма

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

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

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

Вывод областей
Норма

Шапка, строки и подвал идут в правильном порядке

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

Ошибка «Область не найдена» при печати

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

Переносы корректны, итоги на последней странице

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

Строки обрываются, подвал «уехал» на отдельный лист

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

Какой способ выбрать

Сравнение вариантов

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

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

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

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

Загрузка MXL из файла кодом

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

Итог

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

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

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

Можно ли загрузить макет в 1С без конфигуратора?

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

В каком формате сохранять файл макета?

Макет табличного документа сохраняется в формате MXL — это родной формат табличных документов 1С. Сохранить макет в файл можно из конфигуратора через «Файл» → «Сохранить как», а загрузить — через «Файл» → «Открыть» при открытом макете.

Почему после загрузки макета при печати ошибка «Область не найдена»?

Код формирования печатной формы обращается к областям по именам. Если в загруженном макете область называется иначе или удалена, возникает эта ошибка. Откройте макет, выделите нужные строки и проверьте имя области в свойствах — оно должно точно совпадать с именем в коде.

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

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

Как добавить логотип или печать в макет?

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

Можно ли использовать макет из Excel?

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