Перейти к содержимому

Контроль обязательного обучения

Внутренний трекер для HR, службы охраны труда и руководителей: кому какое обучение назначено, кто прошёл его вовремя, у кого истекает удостоверение и что показать проверяющим.

Без него данные о прохождении лежат в выгрузках из LMS, таблицах и письмах, и единого источника нет. Руководитель узнаёт, что сотрудник пропустил обязательный курс, только перед проверкой. HR несколько часов в квартал вручную собирает отчёты. Просроченные назначения неделями никто не замечает, потому что оповещений нет, а сертификаты и удостоверения лежат в почте и общих папках без связи с карточкой сотрудника.

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

  • Назначает обучение по правилам. Курсы назначаются по роли, подразделению или вручную, с разделением на обязательные и развивающие.
  • Следит за сроками. Напоминания уходят, например, за 7, 3 и 1 день до срока, а в первый день просрочки — руководителю.
  • Требует подтверждения. Назначение закрывается только с загруженным сертификатом или отметкой из LMS.
  • Ведёт переаттестацию. У сертификата хранится срок действия, и за месяц до его окончания курс назначается повторно.
  • Даёт руководителю сводку. Раз в неделю руководитель получает список открытых и просроченных назначений своей команды.
  • Готовит отчёт для проверки. Выгрузка по курсу, подразделению и периоду содержит только обязательное обучение.
  • LMS остаётся местом обучения. Курсы проходят в iSpring, Moodle или другой LMS; трекер забирает оттуда факт прохождения по API или из выгрузок. Если LMS уже даёт отчёты по обязательному обучению с нужными разрезами, отдельный трекер может не понадобиться.
  • Курс привязан к версии. Устаревшие курсы архивируют раз в квартал, а назначение ссылается на конкретную редакцию курса, чтобы было понятно, что именно человек прошёл.
  • Отметка без подтверждения — не прохождение. Самостоятельная отметка «прошёл» без файла или записи LMS на проверке ничего не стоит.
  • Регламентированное обучение живёт по своим правилам. Для охраны труда, пожарной безопасности и отраслевых допусков сроки и порядок задают нормативные документы; трекер лишь напоминает о них, а требования уточняет ответственный специалист.
  • Отсутствие данных — не просрочка. Если загрузка из LMS сорвалась, назначения не должны массово краснеть: показывайте дату последней синхронизации и отдельный статус «нет данных из LMS».
  • Доступ ограничивают на сервере. Сотрудник видит свои назначения, руководитель — свою команду, HR и охрана труда — всех. Правило действует в таблицах, виджетах и выгрузке.
  • Минимум данных. В сертификатах и удостоверениях бывают паспортные данные; храните только то, что нужно для подтверждения, по правилам 152-ФЗ, принятым в компании.

Промпты рассчитаны на AI-агента (Claude Code, Cursor и аналоги) в Laravel-проекте с установленным Filament 4.x. Отправляйте их по одному и проверяйте результат каждого шага.

Создай модели и миграции для контроля обучения: Course (название, тип —
обязательный или развивающий, внешний id в LMS, в архиве), CourseVersion
(курс, редакция, дата), TrainingRule (курс, роль или подразделение, срок
на прохождение в днях, срок действия сертификата в месяцах), Assignment
(сотрудник, версия курса, срок, статус: не начат, в процессе, пройден,
просрочен, нет данных из LMS), Completion (назначение, дата, источник,
файл сертификата, дата окончания действия). Добавь фабрики.
Сгенерируй Filament-ресурсы для Course и TrainingRule. Сделай действие
«Применить правила», которое создаёт назначения для сотрудников по роли и
подразделению без дублей, и автоматический запуск этого действия для
новых сотрудников.
Сделай ресурс назначений с фильтрами по курсу, типу, подразделению,
статусу и сроку. Действие «Отметить пройденным» требует загрузки
сертификата или ссылки на запись LMS. Для сотрудника добавь страницу
«Моё обучение» с его назначениями и сроками.
Сделай фоновую задачу, которая загружает прохождения из LMS по API,
закрывает назначения и пишет журнал синхронизации. Если синхронизация не
удалась, ставь затронутым назначениям статус «нет данных из LMS», а не
«просрочен». Ежедневно отправляй напоминания за 7, 3 и 1 день и
уведомление руководителю в первый день просрочки. За 30 дней до окончания
действия сертификата создавай новое назначение.

Проверьте, что сбой синхронизации не превращает все назначения в просроченные.

Настрой доступ: сотрудник видит свои назначения, руководитель — свою
команду, HR и охрана труда — всех. Добавь еженедельную сводку
руководителю, виджеты доли пройденного вовремя по подразделениям и
истекающих сертификатов, а также экспорт по обязательным курсам за
период.