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

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

Как открыть макет внешней обработки в 1С

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

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

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

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

Что такое макет внешней обработки и где он хранится

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

К макету обращаются из кода методом ПолучитьМакет("ИмяМакета"), вызванным в контексте объекта обработки. Если макет отсутствует или имя указано с ошибкой, платформа выдаст исключение в момент выполнения, поэтому важно точно знать, какие макеты реально есть в файле.

Какие типы макетов можно встретить

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

  • Табличный документ — самый частый вариант для печатных форм; открывается в редакторе, похожем на электронную таблицу, с областями и параметрами.
  • Схема компоновки данных (СКД) — основа отчётов; открывается конструктор с набором данных, ресурсами и настройками.
  • Текстовый документ — шаблоны писем, запросов, скриптов.
  • Двоичные данные — картинки, библиотеки, файлы, встроенные в обработку.
  • Макет оформления компоновки данных, HTML-документ, географическая схема, графическая схема — реже встречающиеся специализированные типы.

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

Пошаговая инструкция: открытие макета в конфигураторе

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

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

Если узла «Макеты» в дереве нет, значит, в обработке ещё не создан ни один макет. Его можно добавить: щёлкните правой кнопкой по корню структуры или по ветке «Макеты», выберите «Добавить», задайте имя и тип.

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

Редактирование табличного макета печатной формы

Табличный документ — наиболее востребованный тип макета, поэтому разберём работу с ним подробнее. Редактор состоит из ячеек, объединённых в именованные области: шапка, строка, подвал и т. п. Код обработки получает эти области по имени и заполняет параметры.

Чтобы ячейка работала как параметр, выделите её, откройте свойства (правый клик → «Свойства») и установите свойство «Заполнение» в значение «Параметр», а в свойстве «Параметр» укажите имя. Если оставить заполнение «Текст», значение из кода подставлено не будет — это одна из самых частых причин «пустых» печатных форм.

Имена областей задаются в левой серой колонке редактора: выделите строки и введите имя области. Именно эти имена используются в коде: Макет.ПолучитьОбласть("Шапка"). Переименование области без правки кода приведёт к ошибке выполнения.

Как обратиться к макету из кода

Открытие макета в редакторе нужно для настройки, но конечная цель — использование в коде. Для внешней обработки вызов выполняется в модуле объекта:

Макет = ЭтотОбъект.ПолучитьМакет("МакетПечати");

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

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

ТабДок.Вывести(ОбластьШапка);

Если обработка подключена через механизм дополнительных отчётов и обработок (БСП), получение макета может выполняться через объект обработки, полученный методом Создать() у менеджера внешних обработок, либо через объект, переданный в экспортную функцию. Прямой вызов ПолучитьМакет() из модуля формы без контекста объекта не сработает.

bsl
Макет = ЭтотОбъект.ПолучитьМакет("МакетПечати");

Типичные ошибки и как их избежать

Типичные ошибки
01
Попытка найти макет в режиме 1С:Предприятие — макеты редактируются только в конфигураторе, в пользовательском режиме доступен лишь результат их использования.
02
Опечатка в имени макета при вызове ПолучитьМакет() — платформа выбрасывает исключение «Макет не найден»; сверяйте имя посимвольно с деревом структуры.
03
Ячейка оставлена с заполнением «Текст» вместо «Параметр» — данные из кода не подставляются, печатная форма выходит пустой.
04
Переименование области макета без правки кода — вызов ПолучитьОбласть() падает с ошибкой.
05
Изменения сохранены, но обработка не переоткрыта в сеансе предприятия — пользователь видит старый вариант макета.
06
Редактирование копии файла, а в базу подключён другой файл — правки «теряются», потому что изменялся не тот .epf.

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

Проверка результата после редактирования

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

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

Сохранение файла
Норма

После Ctrl+S окно структуры не показывает признак несохранённых изменений (звёздочка в заголовке исчезает)

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

При закрытии появляется вопрос о сохранении — изменения не записаны

Имя макета в коде
Норма

Имя в ПолучитьМакет() посимвольно совпадает с именем в ветке «Макеты»

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

Различия в регистре букв, лишние пробелы или другое имя

Параметры ячеек
Норма

У ячеек с данными заполнение «Параметр» и задано имя параметра

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

Заполнение «Текст» — значения не подставляются

Запуск обработки
Норма

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

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

Форма выглядит по-старому — обработка не была переоткрыта

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

Итог

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

Макет внешней обработки открывается в конфигураторе: «Файл → Открыть» → файл .epf → ветка «Макеты» в структуре обработки → двойной щелчок по макету. После правок сохраните файл и переоткройте обработку в режиме предприятия. Следите за совпадением имён макетов и областей с кодом и за типом заполнения ячеек.

Часто задаваемые вопросы

Можно ли открыть макет внешней обработки в режиме 1С:Предприятие?

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

Почему в структуре обработки нет ветки «Макеты»?

Это значит, что в обработке не создано ни одного макета. Добавьте его через контекстное меню структуры: правый клик → «Добавить» → выбор типа макета. Ветка появится после создания первого элемента.

Как изменить тип существующего макета?

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

Ошибка «Макет не найден» при запуске обработки — что проверить?

Сначала сверьте имя в вызове ПолучитьМакет() с именем в ветке «Макеты» — включая регистр и пробелы. Затем убедитесь, что вызов выполняется в контексте объекта обработки (ЭтотОбъект), а не из произвольного модуля формы. Наконец, проверьте, что запускается именно отредактированный файл, а не его старая копия.

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

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

Файл обработки открывается, но окно структуры не видно. Что делать?

Окно структуры могло быть свёрнуто или перекрыто другими окнами. Откройте меню «Окна» в конфигураторе и найдите окно с именем обработки, либо закройте файл и откройте его заново через «Файл → Открыть».