Программа учёта обучения персонала хранит в одном месте, какое обучение и когда прошёл каждый сотрудник, какие курсы обязательны для его должности и когда нужно продлить каждый сертификат. Коротко: она сразу и с подтверждением отвечает на вопрос "допущен ли этот человек к этой работе?". Для этого мало хранить листы посещения: нужны матрица обучения по должностям, список недостающих и просроченных курсов и проверка, которая не даёт назначить необученного сотрудника на работу.
Зачем нужна программа учёта обучения?
Во многих компаниях записи об обучении разбросаны между подписанными листами в папке отдела кадров, сертификатами в почте и таблицей Excel. Какие курсы нужны новому сотруднику, у кого в этом месяце истекает удостоверение водителя погрузчика и как подготовить список для проверки, каждый раз выясняют вручную.
- Матрица обучения: обязательные курсы и сроки действия для каждой должности.
- Автоматический список недостающих, истекающих и просроченных курсов по каждому сотруднику.
- Занятие, преподаватель, посещение, результат экзамена и файл сертификата в истории сотрудника.
- Напоминания сотруднику, руководителю и отделу кадров до окончания срока.
- Выгрузка по подразделению или курсу в один клик для проверки.
Почему основа учёта не лист посещения, а матрица обучения?
Лист посещения описывает прошлое. Главный вопрос обращён в будущее: чего не хватает этому сотруднику сегодня? Чтобы ответить, сначала составляют таблицу: какая должность какой курс требует и как часто. Программа сравнивает должность каждого сотрудника с матрицей, находит последнее прохождение каждого курса и прибавляет срок действия. Список пробелов не готовится один раз, а пересчитывается в любой момент; при смене должности он меняется сам.
Новая запись об обучении не заменяет старую, а добавляется к ней. Только система с историей ответит проверяющему, было ли у человека действующее обучение в день прошлогоднего происшествия.
Пример ниже вычисляет недостающие или просроченные курсы сотрудника по его должности. У разовых курсов срока действия нет; у периодических он прибавляется к дате последнего прохождения.
type Requirement = { role: string; courseId: string; validMonths: number | null };
type Completion = { employeeId: string; courseId: string; completedAt: Date };
function addMonths(d: Date, months: number): Date {
const r = new Date(d);
r.setMonth(r.getMonth() + months);
return r;
}
// Which required courses are missing or expired for one employee today?
function gaps(
employeeId: string,
role: string,
matrix: Requirement[],
done: Completion[],
now: Date,
): string[] {
return matrix
.filter((req) => req.role === role)
.filter((req) => {
const latest = done
.filter((c) => c.employeeId === employeeId && c.courseId === req.courseId)
.sort((a, b) => b.completedAt.getTime() - a.completedAt.getTime())[0];
if (!latest) return true; // never completed
if (req.validMonths === null) return false; // one-off course
return addMonths(latest.completedAt, req.validMonths) <= now; // expired
})
.map((req) => req.courseId);
}Напоминания и проверка при назначении
Напоминания рассчитываются заранее запланированной задачей (cron job), и один человек получает не больше одного уведомления по курсу в день. Но одного напоминания мало: просроченное обучение должно блокировать назначение на работу, которая его требует. Если в смену на погрузчике ставят сотрудника без действующего удостоверения, предупреждение должно появиться до публикации графика; когда программа планирования смен читает те же данные об обучении, списки не расходятся.
Дни обучения тоже рабочее время. Где был сотрудник во время внешнего курса, должно быть видно в учёте рабочего времени (PDKS), а пересечения с отпуском в программе учёта отпусков.
Сертификаты, экзамены и права доступа
Каждый сертификат хранится файлом, привязанным к записи об обучении, и не изменяется после загрузки. Для курсов с экзаменом посещение и сдача являются разными полями: тот, кто пришёл, но не сдал, в матрице не считается обученным. Кто может добавлять записи и кто видит только своё подразделение, задаётся ролевой моделью доступа (RBAC). Какие курсы обязательны по закону для каких должностей и сколько они действуют, определяют нормативные требования и ваш специалист по охране труда; статья не является юридической консультацией и не предлагает сроков.
Готовая программа или разработка на заказ?
Для компании с небольшим числом должностей и курсов обычно хватает готовой программы или LMS. Разработка на заказ оправдана, когда статус обучения должен сразу отображаться в ваших системах, например в графике смен, нарядах или полевом приложении, когда есть несколько площадок с разными матрицами или когда сертификаты нужно хранить в одном архиве с системой управления документами.
Итог
Хорошая программа учёта обучения начинается с матрицы по должностям, в любой момент пересчитывает недостающие и просроченные курсы, не удаляет историю и не даёт назначить необученного сотрудника на соответствующую работу. Если хотите вместе спроектировать кадровые процессы, загляните на страницу корпоративных решений или запросите предложение.