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

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

Где находятся печатные формы в конфигураторе 1С

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

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

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

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

Макеты внутри объекта: документы и справочники

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

Например, у документа «Реализация товаров и услуг» в типовой «Управление торговлей» в макетах можно найти «МакетТОРГ12», «МакетСчетФактура» и другие. Двойной клик по макету открывает редактор табличного документа: там видны области (шапка, строка, подвал), ячейки с параметрами в фигурных скобках и оформление.

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

Как открыть макет печатной формы объекта
  1. 1
    Откройте конфигуратор и разверните дерево конфигурации
  2. 2
    Найдите нужный объект в ветке «Документы» или «Справочники»
  3. 3
    Раскройте объект и перейдите в подветку «Макеты»
  4. 4
    Откройте нужный макет двойным кликом и проверьте его области и параметры

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

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

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

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

Модуль менеджера и процедуры печати

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

Ищите процедуры с говорящими именами: «Печать», «ПечатьДокумента», «ДобавитьКомандыПечати», «СформироватьПечатныеФормы». В конфигурациях на БСП обязательна процедура ДобавитьКомандыПечати — она регистрирует команды печати объекта, а формирование выполняет процедура Печать с параметром, определяющим, какая именно форма запрошена.

Подсистема печати БСП в типовых конфигурациях

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

Чтобы найти, где лежит конкретная форма, откройте модуль менеджера нужного объекта и найдите процедуру ДобавитьКомандыПечати. В ней видны идентификаторы команд — например, «ТОРГ12» или «СчетНаОплату». Затем в процедуре Печать по этому идентификатору находится ветка кода, которая получает макет и заполняет его. Именно из этой ветки видно полный путь к макету: объектный он или общий.

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

Макет в объектеОбъект → Макеты

Подходит для форм, привязанных к одному документу

Общий макетОбщие → Макеты

Формы, общие для нескольких объектов

Модуль менеджераДобавитьКомандыПечати и Печать

Логика формирования и регистрация команд

Данные ИБШаблоны в режиме Предприятие

Договоры и офисные шаблоны хранятся в базе, не в конфигураторе

Как быстро найти форму глобальным поиском

Когда структура конфигурации незнакома, быстрее всего работает глобальный поиск по конфигурации — комбинация Ctrl+Shift+F в конфигураторе. Искать можно по нескольким зацепкам.

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

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

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

Внешние печатные формы и расширения

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

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

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

Маршрут решения

Где искать форму в вашем случае

Форма стандартная, из типовой поставкиИщите макет в объекте или в Общие → Макеты, код — в модуле менеджера
Поиск по конфигурации не находит название кнопки печатиПроверьте справочник дополнительных отчетов и обработок в режиме Предприятие
Конфигурация дорабатывалась без снятия с поддержкиОткройте список расширений конфигурации и ищите макет там
Это договор или офисный документ с редактируемым текстомФорма хранится в данных ИБ, откройте шаблоны печатных форм в режиме Предприятие

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

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

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

Типичные ошибки при работе с печатными формами
01
Правка макета в рабочей базе без копии — при ошибке форма перестаёт формироваться у всех пользователей
02
Изменение общего макета без проверки — форма ломается сразу в нескольких документах, которые его используют
03
Поиск только в конфигураторе — внешние печатные формы и расширения остаются незамеченными, и правки вносятся не туда
04
Переименование областей и параметров макета без правки кода — при печати возникают пустые поля или ошибки обращения к области
05
Проверка только на документе с одной строкой — дефекты многострочной печати обнаруживаются у пользователей

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

Итог

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

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

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

Почему в ветке «Макеты» документа пусто, хотя печать работает?

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

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

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

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

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

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

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

Изменил макет, но на печать выводится старый вариант. В чём причина?

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

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

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