Откуда берется кнопка печати в ЗУП 3.1 и как настроить заголовок внешней печатной формы

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

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

Почему кнопка печати отсутствует в конфигураторе

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

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

Как подсистема БСП формирует меню печати на форме

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

  1. Точка входа на сервере: При открытии формы документа срабатывает серверное событие ПриСозданииНаСервере. В этом обработчике вызывается специализированный метод БСП: УправлениеПечатью.ПриСозданииНаСервере(ЭтаФорма, Элементы.ГруппаПечать);
  2. Опрос модуля менеджера: БСП обращается к модулю менеджера конкретного документа (например, Документы.Увольнение.МодульМенеджера) и вызывает экспортную процедуру ДобавитьКомандыПечати(КомандыПечати). В этой процедуре разработчик описывает встроенные макеты.
  3. Подключение внешних обработок (ВПФ): БСП запрашивает данные из справочника ДополнительныеОтчетыИОбработки. Если к документу привязаны активные внешние печатные формы, они автоматически добавляются в общий список команд.
  4. Отрисовка элементов: На основе собранного массива команд подсистема программно создает кнопки и выпадающие пункты меню в указанной группе элементов формы.

Как найти алгоритм формирования и вывода макета

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

Разберем алгоритм отладки по шагам:

  1. Откройте конфигуратор и запустите режим «1С:Предприятие» в режиме отладки.
  2. Откройте нужный документ (например, «Увольнение»).
  3. В конфигураторе перейдите в меню Отладка — Замер производительности (или нажмите горячую клавишу).
  4. В окне «1С:Предприятие» нажмите нужную кнопку в подменю «Печать».
  5. После того как табличный документ заполнится и отобразится на экране, выключите замер производительности в конфигураторе.
  6. Проанализируйте полученную таблицу вызовов. Вы легко увидите последовательность процедур и функций модулей УправлениеПечатью, модуля менеджера документа или модуля объекта внешней печатной формы.

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

Частая проблема при создании внешних печатных форм (ВПФ) заключается в том, что в окне просмотра печатного документа выводится стандартный заголовок «Печать документа», тогда как для встроенных форм отображается представление объекта (например, «Увольнение № 0000-000001 от 15.08.2026»).

Проанализируем способы решения этой задачи внутри модуля объекта внешней обработки.

Способ 1. Установка свойства «Заголовок» у Табличного Документа

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


// В модуле объекта внешней печатной формы
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
    
    // Получаем макет и формируем табличный документ
    ТабличныйДокумент = СформироватьПечатнуюФорму(МассивОбъектов[0]);
    
    // Задаем заголовок окна печати
    ТабличныйДокумент.Заголовок = Строка(МассивОбъектов[0]);
    
    // Выводим результат в коллекцию
    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
        КоллекцияПечатныхФорм,
        "МояВнешняяПечатнаяФорма",
        "Мое представление макета",
        ТабличныйДокумент
    );

КонецПроцедуры

Способ 2. Передача синонима в коллекцию печатных форм

При вызове функции УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию() третий параметр отвечает за представление макета. Если передать туда динамически сформированное представление документа, оно будет использовано механизмом БСП:


УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
    КоллекцияПечатныхФорм,
    ИдентификаторКоманды,
    Строка(СсылкаНаДокумент), // Заголовок печатной формы
    ТабличныйДокумент
);

Способ 3. Использование структуры ПараметрыВывода

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


ПараметрыВывода.СистемныеПоля.Вставить("ЗаголовокФормы", Строка(СсылкаНаДокумент));

Таким образом, понимание работы подсистемы УправлениеПечатью из БСП позволяет быстро находить алгоритмы формирования макетов в типовых конфигурациях 1С (ЗУП, ERP, КА, БП) и гибко настраивать поведение внешних печатных форм.

← На главную