Автоматизация системы проверки знаний: как мы построили гибкий модуль оценки персонала на Битрикс24
О заказчике
Крупная производственная компания федерального масштаба с разветвлённой филиальной структурой. Более 5000 сотрудников, около 20 филиалов по всей стране.
Задача проекта
Заказчик столкнулся с серьезным вызовом: ежегодные проверки знаний сотрудников по охране труда и технике безопасности превратились в «бутылочное горлышко» кадрового делопроизводства.
Отдельные программы обучения у каждого филиала и большое количество сотрудников и отделов требовало ручного согласования дат, формирования протоколов и отслеживания результатов. Отдел охраны труда вел все это в Excel, в результате чего отчетность формировалась неделями.
Нашей задачей было исправление ситуации. Требовалось перенести все работы по ежегодным проверкам знаний в Битрикс24 с соблюдением всех требований закона, а также внутренних регламентов компании.
Реализация
Для решения задачи мы разработали модуль для Битрикс24, который автоматизирует цикл проверки знаний — от назначения даты до подписания протокола и интеграции с реестром Роструда. Модуль построен вокруг слотовой системы планирования и событийно-ориентированной обработки кадровых изменений.
Ключевые правила, заложенные в архитектуру:
-
Сотрудник не может иметь две активные карты знаний
Контроль дубликатов на уровне добавления элемента -
Каждая проверка занимает место в расписании
Специальный справочник ведет учет свободных слотов по датам -
При увольнении карта знаний автоматически отправляется в архив
Фиксация кадрового события и деактивация карты -
При переводе в другое подразделение или смене должности — сброс утверждения
Автоматическая смена должности/подразделения в карте знаний, флаг «Утверждена» = Нет -
Дата проверки не может быть назначена, если нет свободных мест
Генератор проверок запрашивает актуальные слоты перед созданием записи об экзамене

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

Распределение ограниченных ресурсов
В каждом филиале есть лимит проверок в день. Нельзя допустить, чтобы на одну дату было назначено больше проверок, чем позволяет инфраструктура.
Чтобы избегать перегрузки, мы внедрили систему учета занятости на базе highload-блоков. При добавлении доступного дня проверки автоматически генерируются записи на весь год. При назначении проверки счетчик свободных мест уменьшается. Когда счетчик достигает нуля — проверка не создается, пользователь видит отметку «Нет мест». При удалении дня все связанные проверки сбрасывают запланированную дату.
В итоге были полностью исключены двойные бронирования. Система сама следит за заполняемостью расписания.
Интеграция с Рострудом
Компания обязана передавать данные о проверках в реестр Роструда и получать подтвержденные номера после чего нужно автоматически обновлять печатные формы.
Мы реализовали импорт номеров из реестра через специальный интерфейс загрузки файлов. Система автоматически находит соответствующие проверки в графике, проставляет номера в свойства элементов и обновляет docx-файлы протоколов. Печатные формы выгружаются уже с актуальными данными.
По итогу никакого ручного ввода номеров, при этом печатные формы всегда заполнены актуальными данными.
Уведомление сотрудников о проверках
Разные сотрудники хотят получать уведомления по-разному: кто-то только через email, кто-то в мессенджер Битрикс24, кто-то — и то, и другое, а некоторым вообще не нужны уведомления.
Чтобы каждый получал уведомления так, как ему удобно, была разработана двухуровневая система настроек уведомлений. Глобальные настройки модуля определяют доступные каналы для всех. Персональные настройки пользователя позволяют переопределить глобальные. Приоритет всегда отдаётся персональным настройкам.
На выходе получаем гибкую настройку уведомлений с возможностью добавления исключений для отдельных сотрудников.

Синхронизация обучения и проверок
Необходимо, чтобы результат теста автоматически попадал в протокол проверки, а оттуда — в график.
Для решения этой задачи мы реализовали импорт вопросов для программ обучения из xls и docx файлов в интерфейс для прохождения тестирования. Была выстроена автоматическая цепочка передачи данных: завершение попытки тестирования запускает поиск связанной программы обучения, графика проверок и протокола. Результат теста фиксируется в промежуточных данных и при подписании протокола переносится в график.

Так мы избавили весь цикл обучения от ручного переноса данных.

Решение реализовано как модуль для Битрикс24 с использованием событийной модели ядра портала. В основе лежат инфоблоки для хранения карт знаний, графиков проверок и протоколов, а также highload-блоки для управления слотовой системой занятости и учёта кадровых изменений. Обработчики событий обеспечивают бесшовную синхронизацию с кадровым учётом, а интеграция с модулем learning замыкает цикл «обучение → проверка → результат». Первичные данные, вопросы для билетов и номера из Роструд импортируются из файлов xlsx. Печатные формы протоколов генерируются динамически в формате .docx, уведомления доставляются через почтовые события и мессенджер.
Такой модуль обеспечивает автоматизированную проверку знаний в компании любого масштаба. При этом учитываются все требования и регламенты, включая интеграции с государственными системами контроля. Модуль работает в закрытом информационном контуре, то есть все данные хранятся на серверах компании-заказчика и отлично защищены. Подобное решение экономит огромное количество времени для сотрудников, ответственных за охрану труда и учет кадров на любом предприятии. Плюс автоматизация исключает риск ошибок, вызванных человеческим фактором, например, загрузки неверных данных.