Формировать, рассылать и контролировать подписание кадровых документов вручную не слишком удобно даже в маленькой фирме. Что уж говорить про компанию, в которой работает более полутора тысяч человек. Меня зовут Михаил Егоров, я работаю на проектах Fix Price в качестве программиста-консультанта. Расскажу вам о том, как мы упростили работу нашим кадровикам и автоматизировали эти процессы в сети Fix Price в Казахстане. А перед этим скажу, что код, связывающий API оператора и нашу 1С, был написан мною с нуля. При этом на момент внедрения (апрель 2022 года) разработок и примеров работы в открытом доступе не было.
От ручного труда к автоматизации
Нашей целью было сокращение рутинной работы персонала отдела кадров до минимума с внедрением такой модели: сотрудник кадровой службы нажимает на кнопку, формируя документы, затем отправляет их адресатам. После этого примерно раз в день он заходит в сервис и снова нажатием одной кнопки отправляет напоминания тем работникам, которые еще не подписали документы. В результате нам удалось бы значительно сократить время на создание и отправку документов и контроль за их подписанием.
Для сравнения: до внедрения модуля ЭДО (ЭДО — электронный документооборот) нашим сотрудникам кадровой службы приходилось распечатывать бумажные документы, подписывать их, пересылать работникам по почте и вручную контролировать подписание. Понятно, что такая работа выполнялась не за один день, и к ней привлекались десятки сотрудников. Также нужно учесть и материальные затраты (бумага, деньги за отправление корреспонденции).
Поэтому мы решили воспользоваться преимуществом местного законодательства, согласно которому каждый гражданин Казахстана обязан бесплатно оформить ЭЦП (электронно-цифровую подпись). Таким образом, работники могут удаленно подписывать любые кадровые документы, которые затем отправляются местному оператору ЭДО. Однако коробочное решение 1С ЗУП («Зарплата и управление персоналом») не предусматривало подписания документов с помощью ЭЦП.
Для решения этой задачи мы получили SDK от государственного регулятора (НУЦ — Национальный Удостоверяющий Центр) и API коммерческих сервисов ЭДО (в частности, «Договор24» или Д24) для связи с их серверами. На этих сервисах люди могут создавать рабочие пространства и обмениваться документами внутри компании. Сделано это довольно удобно: в рабочем пространстве сотрудника собраны все подписанные им документы. Мы также используем эти сайты, чтобы наши работники в Казахстане могли туда заходить и подписывать электронные документы. А для связи API сервисов с 1С мы разработали собственный модуль.
Задачи и вводные
Главная проблема была в том, что в типовом 1С ЗУП для Казахстана нет программных инструментов для работы с НУЦ и Д24. Поэтому пришлось создавать всё с нуля, а также разрабатывать и схему учета и контроля отправленных документов. Основные задачи были следующие:
создать интерфейсы для работы с НУЦ и «Договор24»;
создать схему отправки, подписания и контроля подписания документов.
Чтобы пригласить работника подписать документ, необходимо, чтобы у него был указан адрес электронной почты. Желательно личной, поскольку к этому адресу привязывается документ на сервисе Д24, где есть возможность указывать несколько актуальных адресов почты для одного кабинета. Если же привязать документ к корпоративной почте, то после увольнения у сотрудника пропадет доступ к нему. Именно поэтому в справочнике «Сотрудники» адрес для ЭДО выделен в отдельный реквизит. Если же у сотрудника не указан адрес почты для ЭДО, то считается, что работник не участвует в процесс подписания документов с ЭЦП.
Как всё работает
В 1С ЗУП сотрудники кадровой службы формируют различные кадровые документы: прием на работу, кадровый перевод, увольнение, дополнительные соглашения, приказы, заявления. Необходимо, чтобы печатные формы этих документов можно было подписывать с ЭЦП и со стороны организации, и со стороны работника.
Интерфейсы отправки
Общая форма «Печать документов» обрабатывает все типовые вызовы отправки на печать, в том числе и внешние печатные формы. При открытии здесь определяется принадлежность вызываемой печатной формы к процессу. В случае необходимости на панель добавляются команды процесса ЭДО. Команда «Отправить» позволяет отправить документ на подписание. Таким образом отправляются примерно 80% используемых печатных форм.
Документы с множественной отправкой
В случае, если есть документы, содержащие список сотрудников (например «Изменение плановых начислений»), каждому работнику отправляется персональный пакет документов (дополнительные соглашения и т.п.). При этом не все сотрудники имеют адреса почты для ЭДО. Для таких случаев отправка документов в ЭДО описана отдельно.
Процесс пользователя
Пользователь создает документ в 1С.
Формирует печатную форму.
Отправляет печатную форму на подписание.
Отправленный документ попадает в список контроля ЭДО.
Регулярно опрашивается сервис Д24 и принимается информация о подписании документов.
Подписанные документы скачиваются в виде ZIP контейнера и помещаются в файловое хранилище.
Контроль статусов документов
Все отправленные на подписание ЭЦП документы получают статус ЭДО. Этот статус показывает, на каком этапе находится подписание документа: ожидание, подписан, нет приглашения и т.д.
Обновление происходит в ЭДО.Документы. 1С обращается к сервису Д24, получает список документов с данными о подписании, анализирует и на основании этого формирует данные в 1С. Владельцы сервиса предоставляют API, где есть все необходимые команды для взаимодействия с Д24.
Этапы взаимодействия с Д24 следующие:
Отправка документа в Д24.
Подписание от имени организации.
Приглашение сотрудника к подписанию.
Ожидание подписания документа сотрудником.
Скачивание подписанного документа и сохранение в файловом хранилище.
Использование НУЦ
Для получения SDK для работы с НУЦ нужно зайти на страницу https://pki.gov.kz/developers/ , и в соответствии с рекомендациями отправить заявку в НУЦ. НУЦ предоставляет SDK с описанием и примерами на нескольких языках программирования.
К НУЦ мы обращаемся в следующих случаях:
Получение данных ЭЦП. Содержит информацию о владельце, сроке действия и ИИН (ИИН — Индивидуальный Идентификационный Номер).
Проверка актуальности ЭЦП (не отозвана ли она).
Подписание документа.
Верификация подписания.
Процесс отправки документа из 1С выглядит так:
Отправляем документ в Д24. В ответ получаем уникальный ID документа.
Отправляем в Д24 приглашение нашей организации к подписанию, включая ID документа, email организации. Получаем уникальный номер приглашения.
Скачиваем с Д24 XML представление документа, отправляем ID документа. Получаем строку, содержащую XML-представление документа.
Отправляем полученную XML строку в НУЦ для подписания, ЭЦП и пароль ЭЦП. Получаем результат с подписанной XML строкой.
Отправляем данные в Д24: ID документа, ID приглашения и подписанную строку XML. Получаем ответ — ОК.
Данные о состоянии отправленного документа
После отправки документа в Д24 в системе необходимо сохранить связь данных 1С и Д24. Идентификатор документа в Д24 — GUID, который присваивается при загрузке документа. В системе 1С создан регистр сведений для хранения привязки документа и его GUID.
Один документ 1С может быть источником для нескольких печатных форм и нескольких подписываемых документов. Разделение на документы, контрагенты и виды документов позволяет обрабатывать такие случаи. При попытке отправить документ на подписание система может проверить его на наличие в программе для исключения дублей. В регистре устанавливается статус записи: отправлен, подписан, ожидает подписания и т.д.
Обработка фп.ЭДО.Документы
Обработка работает с регистром сведений фп_ЭДО_Документы. На рабочем столе оператора ЭДО представлены списки документов, которые ожидают подписания и завершения. Также есть статусы и списки завершенных. Существуют различные команды для работы со списком отправленных документов: например, отправить приглашение повторно, отозвать приглашение, удалить документ.
Микросервис для подписания с ЭЦП
Предусматривалось использование НУЦ для подписания файлов с ЭЦП не только в кадровом учете, но и в других областях документооборота в компании. Поэтому для подписания был создана отдельная система FP_ECP на платформе 1С, которая содержала команды для обращения в НУЦ, а также HTTP-сервис для получения данных и отправки результата.
При необходимости подписания документа от имени организации запрос из системы 1С ЗУП отправляется в FP_ECP. После обращения в НУЦ сервис FP_ECP возвращает подписанный документ. В настоящее время рассматривается вариант использования сервиса FP_ECP для подписания документов в SAP.
Регистр сведений фп.Документы ЭДО
Это регистр сведений для хранения данных об отправленных документах, который позволяет учесть все варианты отправки документов, в том числе:
В одном документе может быть табличная часть со списком сотрудников, для каждого из которых нужно отправить отдельный документ. Документ в 1С один, а отправленных печатных документов для подписания несколько — по количеству сотрудников.
Один документ может является источником для нескольких видов печатных документов: например, для приема на работу. В этом случае сотрудник один, а документов целый пакет, при необходимости они раскидываются по разным значениям измерения Вид документа ЭДО.
Главный ресурс регистра — GUID документа, то есть ID документа в системе Договор24. Он формируется сервисом Д24 при первоначальной отправке документа и является связующим значением записи в 1С и файлом на Д24. С помощью GUID производятся все дальнейшие действия с этим объектом.
Также есть ресурс Статус ЭДО, который отвечает за определение этапа подписания документа. Он устанавливается при обновлении данных и может принимать различные значения: (не) отправлен, (не) подписан, (не) согласован, завершающий этап и т.д. Также есть промежуточные состояния: нет приглашения, ожидание подписания организацией и т.д.
Справочник фп.Виды документов ЭДО
Этот справочник призван разграничить виды отправляемых документов. Используя его настройки, можно описать 90% вариантов отправки документов.
В разделе Печатная форма нужно указать ссылку на справочник «Дополнительные отчеты и обработки» и выбрать Идентификатор команды. Типовая печать всех документов происходит через общую форму Печать документов. В случае если используется внешняя печатная форма, при открытии формы Печать документов с помощью информации из справочника фп.Виды документов ЭДО определяется необходимость/возможность отправки документа в сервис Д24 для подписания.
Доработанная общая форма Печать документов:
Таким образом можно быстро настраивать отправку в ЭДО с ЭЦП для любой внешней печатной формы, что покрывает 90% возможных вариантов в кадровом документообороте.
Универсальный документ фп.Заявление
В кадровом учете инициатором документа не всегда выступает организация. Например, заявления изначально исходят от сотрудника. Чтобы реализовать возможность подписания таких заявлений с ЭЦП, было создано решение фп.Заявление.
Сотрудник составляет заявление: пишет от руки, присылает электронное письмо или сообщение.
Работник кадровой службы создает в 1С документ Заявление, инициирует процесс подписания, отправляет на Договор24 и приглашает к подписанию сотрудника.
При необходимости приглашаются к подписанию и другие сотрудники для согласования.
Таким образом с сотрудника снимается обязанность самому регистрировать документ в Д24 (это платная услуга), так как за сотрудника этот документ регистрирует компания. А поскольку видов заявлений множество, был создан универсальный документ фп.Заявление, а также справочник фп.Виды заявлений, который хранит настройки для формирования документа и печатной формы.
Это форма вида заявления, в котором в режиме 1С Предприятия можно настроить печатные формы и параметры для ввода.
На вкладке Запрос вводится текст запроса для заполнения макета печатной формы:
На вкладке Виды документов на основании можно описать модуль для создания документа на основании заявления:
Эти настройки применяются, когда в документе фп.Заявление выбирается нужный вид заявления:
Таким образом, отпала необходимость создавать новый вид документа в конфигураторе под каждый новый вид заявления. Примерно так же организован документ фп.Приказ для формирования различных кадровых приказов.
Первые результаты
Развитие системы ЭДО началось с кадровых документов по приему на работу и переводу, а затем мы расширили ее и на другие документы (табели, заявления от сотрудников и т.д.). Также было подключено СМС-информирование о поступивших документах. Разумеется, внедрение системы ЭДО позволило существенно снизить нагрузку на кадровую службу компании.
Свежий пример: при недавнем изменении штатного расписания данные 1200 сотрудников Fix Price в Казахстане были обработаны всего за час. Такое время ушло на создание и рассылку дополнительных соглашений, причем задействован для этой задачи был всего один сотрудник кадровой службы компании. И всё это благодаря разработанному модулю для 1С ЗУП.
Теперь даже обновление статусов (отправлен, подписан, ожидает подписания и т.д.) происходит автоматически. Также упростилось составление и подписание табелей, что нужно обязательно делать по закону. Все табели уже составляются и подписываются в электронном виде, так как ЭЦП имеет равную силу с бумажной подписью. А еще мы сделали автоматические отчеты по магазинам — теперь директора тех магазинов, в которых работники еще не подписали документы, получают уведомления.
Этим заинтересовалась и наша бухгалтерия — сотрудники попросили реализовать возможность подписания бухгалтерских документов непосредственно из SAP. И это вскоре должно быть сделано, поскольку модуль подписания был изначально выделен в отдельный микросервис, а API сервиса позволяет подписывать любые электронные документы и любой подписью.
Чего мы добились
В результате нам удалось:
Исключить ручную передачу документов оператору ЭДО: теперь это происходит автоматически через 1С.
Исключить человеческий фактор при формировании и отправке документов.
Полностью контролировать статусы подписания документов со стороны работодателя и работников, не выходя из 1С.
Добиться значительной экономии времени кадровой службы компании и бухгалтерии.
Упростить подписание документов работниками.
С удовольствием отвечу на вопросы!