Где искать макеты печатных форм, если их нет в списке макетов документа?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Метод №1: Поиск через глобальный контекст и конфигуратор

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

  1. Нажмите комбинацию клавиш Ctrl + Shift + F для вызова окна поиска.
  2. В поле «Строка поиска» введите ключевое слово, которое присутствует на печатной форме (например, заголовок «Счет на оплату» или специфический реквизит).
  3. В настройках поиска установите область поиска «Во всех видах объектов».
  4. Если поиск выдал результат в модуле менеджера или модуле объекта, изучите код. Возможно, там используется метод ПолучитьМакет().

Метод №2: Использование Замера производительности

Это самый эффективный способ, если макет формируется динамически или спрятан глубоко в архитектуре БСП (Библиотеки стандартных подсистем). Замер производительности позволяет отследить весь путь выполнения кода в момент нажатия кнопки «Печать».

Рассмотрим алгоритм действий:

  1. Запустите систему в режиме «1С:Предприятие».
  2. Перейдите в меню «Администрирование» или используйте «Все функции» для запуска Замера производительности.
  3. Нажмите кнопку печати нужного документа.
  4. Остановите замер и откройте отчет. Вы увидите цепочку вызовов процедур и функций.
  5. Найдите процедуру, отвечающую за вывод печатной формы, и перейдите к ней в конфигураторе. Скорее всего, именно там будет указан путь к источнику макета.

Метод №3: Проверка программной реализации макетов

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


// Пример программного формирования табличного документа
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("Макет");
Область = Макет.ПолучитьОбласть("Заголовок");
Область.Параметры.Дата = ТекущаяДата();
ТабДок.Вывести(Область);

Если в коде вы видите создание ТабличныйДокумент без обращения к ПолучитьМакет, значит, структуру таблицы разработчик задал жестко в коде. В такой ситуации вам нужно искать процедуры типа Вывести или Присоединить в модуле менеджера документа.

Метод №4: Поиск в регистрах сведений и внешних обработках

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

Если форма является внешней, проверьте:

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

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

← На главную