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

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

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

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

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

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

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

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

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

Тип макета определяет, какой редактор откроется при двойном щелчке. Табличный документ откроется в редакторе, похожем на электронную таблицу, схема компоновки данных — в конструкторе СКД, а ActiveDocument (например, шаблон Word) — во внешнем приложении через механизм OLE.

Отличие общего макета от макета объекта метаданных в том, что последний лежит внутри ветки конкретного документа, справочника или отчёта и доступен через ПолучитьМакет() менеджера этого объекта. Общий же макет получают глобально — ПолучитьОбщийМакет("ИмяМакета").

Открытие общего макета через конфигуратор

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

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

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

Быстрый поиск макета по имени

Когда конфигурация содержит сотни макетов, листать дерево неудобно. Нажмите Ctrl+Shift+F (глобальный поиск) и введите имя макета — в результатах будут и сами объекты, и места в коде, где макет вызывается. Альтернатива — строка поиска в верхней части окна конфигурации в новых версиях платформы: она фильтрует дерево метаданных по подстроке.

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

Открытие макета в зависимости от его типа

Тип макета виден в колонке «Вид макета» при просмотре списка или в палитре свойств объекта. От типа зависит и редактор, и способ проверки результата.

Тип макетаЧем открываетсяТипичное назначение
Табличный документВстроенный редактор табличных документовПечатные формы, шаблоны этикеток
Схема компоновки данныхКонструктор СКДЗапросы и настройки отчётов
ActiveDocumentВнешнее приложение (Word, Excel)Договоры, сложные формы
Текстовый / HTML-документТекстовый редакторШаблоны писем, страницы
Двоичные данныеНе редактируется в конфигуратореКартинки, внешние компоненты

Для табличного документа после открытия проверьте имена областей и параметров: выделите ячейку и посмотрите свойство «Имя» и «Заполнение» в палитре свойств. Именно по этим именам код обращается к областям через Макет.ПолучитьОбласть("Шапка") и заполняет параметры.

Программное открытие и получение макета из кода

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

Макет = ПолучитьОбщийМакет("МакетПечати");

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

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

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

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

ТабДок.Показать();

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

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

Ограничения: поддержка, права и режим работы

Не всегда макет можно открыть на редактирование сразу. Три типовые ситуации блокируют работу:

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

Альтернатива: правка макета через расширение

Если конфигурация типовая и обновляется регулярно, менять общий макет напрямую нежелательно. Расширение конфигурации позволяет заимствовать макет и изменить его копию, не трогая основную конфигурацию. Порядок: Конфигурация → Расширения конфигурации → создать новое расширение, затем в основной конфигурации найти общий макет, вызвать контекстное меню и добавить его в расширение.

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

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

Прямая правка в конфигурации

Быстро, подходит для самописных конфигураций. Минус: конфликты при обновлении типовых решений.

Расширение конфигурации

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

Копия макета под новым именем

Компромисс: типовой макет не тронут, но нужно менять код, который вызывает старый макет.

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

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

Типичные ошибки
01
Правка макета объекта вместо общего: изменения есть, но печатная форма не меняется, потому что код берёт ПолучитьОбщийМакет
02
Переименование области в табличном документе без правки кода: ПолучитьОбласть падает с ошибкой
03
Изменение типового макета без копии и без расширения: при обновлении правки затираются
04
Сохранение макета без обновления конфигурации базы данных: пользователи видят старую версию
05
Опечатка в имени макета в коде: ошибка «Макет не найден» при формировании печати
Контрольные точки

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

Макет открывается двойным щелчком
Норма

Открывается редактор нужного типа

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

Пункт неактивен — конфигурация закрыта или нет прав

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

Изменения видны в режиме предприятия

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

Форма старая — правили не тот макет или не перезапустили сеанс

Сохранение конфигурации
Норма

Нет сообщений об ошибках, F7 проходит

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

Ошибка монопольного доступа — в базе есть пользователи

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

Можно ли открыть общий макет в режиме «Предприятие»?

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

Почему в ветке «Общие макеты» пусто, хотя печатные формы работают?

Значит, макеты хранятся не как общие, а внутри объектов метаданных — документов, справочников, обработок. Раскройте ветку нужного объекта: там будет подветка «Макеты». Также печатные формы могут формироваться внешними обработками из справочника дополнительных отчётов и обработок.

Как открыть макет типа ActiveDocument с шаблоном Word?

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

Что делать, если кнопка «Открыть конфигурацию» неактивна?

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

Затрутся ли мои правки общего макета при обновлении типовой 1С?

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

Как узнать, какой именно макет использует печатная форма?

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

Итог

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

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