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

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

Как открыть модуль печатной формы в 1С

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

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

Чаще всего модуль печатной формы находится в модуле менеджера объекта (например, в модуле менеджера документа «Реализация товаров и услуг»), в общем модуле печати или в файле внешней печатной формы с расширением .epf. Ниже разобраны все три сценария с точными действиями в конфигураторе.

Для работы потребуется запущенный конфигуратор 1С и права на изменение конфигурации. Если база рабочая и в ней ведётся учёт, любые правки сначала выполняются в копии базы — это базовое правило безопасности.

Что такое модуль печатной формы и где он находится

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

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

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

Как открыть модуль печати типовой формы через конфигуратор

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

Найдите нужный объект в дереве конфигурации. Например, для печатной формы счёта на оплату это документ «СчетНаОплатуПокупателю» или аналогичный. Раскройте ветку «Документы», кликните правой кнопкой по объекту и выберите «Открыть модуль менеджера». Если пункт неактивен — модуль менеджера пуст, и код печати находится в общем модуле.

В открывшемся модуле используйте поиск (Ctrl+F) по словам «Печать», «ПечатнаяФорма», «Сформировать» или по имени конкретной формы, например «СчетЗаказ» или «ТОРГ12». Процедура ДобавитьКомандыПечати покажет, какие печатные формы зарегистрированы у объекта, а процедура Печать — какая функция вызывается при нажатии конкретной команды.

Порядок действий для типовой печатной формы
  1. 1
    Откройте конфигуратор и конфигурацию (Конфигурация → Открыть конфигурацию)
  2. 2
    В дереве объектов найдите нужный документ или справочник
  3. 3
    Правой кнопкой откройте модуль менеджера объекта
  4. 4
    Найдите процедуры ДобавитьКомандыПечати и Печать через Ctrl+F
  5. 5
    Перейдите к функции формирования конкретной формы и изучите код
  6. 6
    При необходимости откройте макет: ветка Макеты у того же объекта

Как найти нужную печатную форму, если объект неизвестен

Если непонятно, к какому объекту привязана печатная форма, используйте глобальный поиск по конфигурации: меню «Правка» → «Глобальный поиск по текстам» (Ctrl+Shift+F). Введите название формы, как оно отображается в кнопке печати, — например, «Счёт на оплату» или «Акт выполненных работ».

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

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

Как открыть модуль внешней печатной формы (.epf)

Внешняя печатная форма — это файл с расширением .epf. Чтобы открыть его модуль, в конфигураторе выберите «Файл» → «Открыть» и укажите файл обработки. Откроется форма обработки в режиме конструктора.

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

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

Как открыть макет и связать его с кодом

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

Чтобы понять, откуда берётся значение в печатной форме, найдите в макете параметр (например, [НомерДокумента]), затем поиском по модулю найдите строку вида Область.Параметры.НомерДокумента = .... Так выстраивается полная цепочка: данные документа → запрос → параметры макета → готовый табличный документ.

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

Как проверить изменения и не сломать рабочую базу

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

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

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

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

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

Открытие формы печати
Норма

Предпросмотр открывается без сообщений об ошибках

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

Ошибка «Процедура или функция не обнаружена» — код не обновлён или имя не совпадает

Заполнение параметров
Норма

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

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

Пустые области или текст вида [Параметр] — параметр не заполнен в коде

Многострочные данные
Норма

Все строки табличной части выведены, итоги совпадают

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

Строки пропущены или дублируются — ошибка в цикле вывода областей

Типичные ошибки при открытии и доработке модуля печати

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

Ещё одна ошибка — правка макета без правки кода. Если переименовать параметр в макете, но оставить старое имя в модуле, при печати возникнет ошибка. Всегда меняйте макет и код согласованно.

Типичные ошибки
01
Искать код в модуле формы документа — печать чаще живёт в модуле менеджера или общих модулях
02
Править типовую конфигурацию вместо создания внешней печатной формы — сложности при обновлении
03
Не заметить, что подключена внешняя форма .epf — изменения в конфигурации не действуют
04
Менять макет без правки кода — ошибки «Параметр не найден» при печати
05
Забыть обновить конфигурацию базы данных (F7) — старый код продолжает работать

FAQ: частые вопросы

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

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

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

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

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

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

Можно ли открыть модуль печатной формы без конфигуратора?

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

Что делать, если при нажатии «Печать» возникает ошибка в модуле?

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

Как сохранить изменённую внешнюю печатную форму?

В конфигураторе с открытым файлом .epf выберите «Файл» → «Сохранить» или «Сохранить как». Затем в режиме предприятия замените старую версию в справочнике дополнительных отчетов и обработок, открыв карточку обработки и загрузив новый файл. Старую версию файла сохраните отдельно как резервную копию.

Итог

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

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