Как добавить свою печатную форму в сервис 1С:Кабинет сотрудника для использования в КЭДО?

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

Развитие кадрового электронного документооборота (КЭДО) требует от разработчиков гибкости в настройке печатных форм. Часто стандартных приказов или соглашений недостаточно, и возникает необходимость передать в сервис 1С:Кабинет сотрудника (КС) доработанную или полностью уникальную форму. В этой статье мы подробно разберем, как адаптировать внешнюю печатную форму (ВПФ) для работы с КЭДО, какие программные требования предъявляет система и как правильно зарегистрировать форму в конфигурации ЗУП 3.1 КОРП.

Общие принципы работы внешних форм в КЭДО

Для начала проанализируем ситуацию: возможность использования внешних печатных форм для публикации в сервисе появилась в релизах ЗУП и ЗГУ, начиная с версии 3.1.22. Однако недостаточно просто создать стандартную ВПФ по технологии БСП. Чтобы кнопка "Передать в 1С:Кабинет сотрудника" стала доступна, форма должна соответствовать ряду жестких критериев. Рассмотрим их подробнее.

Прежде всего, публикация возможна только для тех документов, для которых в типовом функционале уже заложена такая возможность. Проверить это можно через конфигуратор, изучив определяемый тип ДокументСПечатнымиФормамиОбъект. Если ваш документ входит в этот тип и в настройках сервиса включен флажок "Используется кадровый ЭДО", мы можем приступать к разработке — здесь может пригодиться обработка печати кадровых документов по шаблонам для 1С:ЗУП.

Технические требования к коду внешней печатной формы

Для того чтобы система корректно обработала форму и передала её в облачный сервис, нам необходимо внести изменения в модуль обработки. Разберем основные моменты по шагам — в качестве примера можно использовать внешнюю печатную форму трудового договора для 1С:ЗУП.

  1. Наименование макета: Имя макета не должно превышать 80 символов. Это критично для генерации PDF, даже если используется печать дополнительного соглашения к трудовому договору из шаблона Word на стороне сервера — для этой задачи подойдёт внешняя печатная форма доп. соглашения для КЭДО.
  2. Исключение дублирования подписей: Обработка перед формированием табличного документа должна содержать код, который проверяет, не был ли документ уже подписан. Мы должны исключить вывод данных без штампов электронных подписей по тем объектам, по которым формы уже сформированы и подписаны.
  3. Определение параметров детализации: Это самый важный этап для списочных документов (например, "Кадровый перевод списком"). Нам нужно решить, создаем ли мы один общий документ для всех или отдельный файл для каждого сотрудника.

Рассмотрим пример настройки параметров регистрации ВПФ, такой как документ Заявление на материальную помощь, в функции СведенияОВнешнейОбработке. Для поддержки КЭДО в структуру параметров стоит добавить информацию о детализации:


ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("3.1.22.1");
// ... стандартные настройки ...
ПараметрыРегистрации.Вставить("ИспользоватьДляКадровогоЭДО", Истина);

// Если документ списочный и нужны отдельные файлы на каждого:
ПараметрыРегистрации.Вставить("РеквизитыДетализации", "Сотрудники.Сотрудник");

Если мы предполагаем создание одного документа, который должны подписать все сотрудники списка (например, приказ Т-5а), вместо РеквизитыДетализации используется параметр ПутьКПодписантам.

Работа с областями печати и списочными документами

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

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


// В цикле формирования табличного документа для каждого объекта
НомерСтрокиНачалоОбласти = ТабДокумент.ВысотаТаблицы + 1;

// Выводим макет объекта...
ТабДокумент.Вывести(ОбластьМакета);

// Задаем область печати для КЭДО
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент, НомерСтрокиНачалоОбласти, ОбъектыПечати, ТекущийОбъект);

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

Регистрация формы в настройках ЗУП

После того как внешняя обработка написана и добавлена в справочник "Дополнительные отчеты и обработки", её нужно активировать для КЭДО. Это делается в отдельном месте:

  1. Перейдем в раздел Настройка – Сервис – Настройки печатных форм (зарплата кадры).
  2. В открывшемся списке нужно нажать Еще – Разблокировать объекты, так как список типовых форм защищен от случайного редактирования.
  3. Нажмем Добавить внешние печатные формы и выберем нашу обработку.
  4. Важный момент: Для каждой формы нужно указать Содержимое документа. Доступны три варианта:
    • Не содержит зарплаты: форма будет видна кадровикам с ограниченными правами.
    • Содержит тарифные ставки: средний уровень доступа.
    • Содержит зарплату: форма будет доступна только пользователям с полным доступом к начислениям.

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

Особенности печати из справочников (например, "Сотрудники")

Выясним причину, по которой печать из справочников часто вызывает затруднения. Архитектура 1С:Кабинет сотрудника ориентирована на объекты-события, то есть на документы. Справочник "Сотрудники" сам по себе не является основанием для возникновения обязательств по подписанию в терминах КЭДО.

Если вам жизненно необходимо отправлять формы из карточки сотрудника, рассмотрим два пути:

  1. Программный путь: В коде внешней обработки придется программно создавать объект Документ.ДокументKadrovogoEDO (Документ кадрового ЭДО), привязывать к нему ваш файл и отправлять его. Это сложный путь, требующий глубокого понимания механизмов интеграции.
  2. Использование "Произвольного документа": В новых версиях ЗУП появился механизм "Произвольный документ кадрового ЭДО". Проанализируем этот вариант: вместо доработки справочника можно создать такой документ, выбрать сотрудника и прикрепить к нему любой PDF-файл, сформированный вашей печатной формой. Это гораздо стабильнее и не требует вмешательства в типовую логику.

Режим "Без подписи" и штампы визуализации

Рассмотрим ситуацию, когда документ нужно просто отправить для ознакомления, без требования электронной подписи сотрудника. В настройках печатных форм можно снять флаг "Требуется подпись сотрудника". Однако помните, что даже в этом случае сервис сформирует электронный документ. Штамп визуализации (синий прямоугольник с данными о сертификате) будет наложен на документ автоматически только после фактического подписания сторонами. Поэтому в макете ВПФ рекомендуется оставлять достаточно места внизу страницы, чтобы штамп не перекрыл текст соглашения или реквизиты сторон.

Подводя итог, можно сказать, что механизм подключения своих форм в КЭДО достаточно прозрачен, если следовать стандартам БСП и правильно заполнять параметры детализации объектов. Главное — следить за тем, чтобы табличный документ был четко сегментирован по областям печати, а сама форма была зарегистрирована в специализированном регистре настроек печатных форм.

← На главную