Совершенствование системы организации обучения по охране труда посредством разработки программного продукта
Журнал: Вестник аграрной науки Дона @don-agrarian-science
Рубрика: Безопасность труда в агропромышленном комплексе
Статья в выпуске: 3 (71), 2025 года.
Бесплатный доступ
Актуальность выбранной темы обусловлена тем, что нарушения, связанные с организацией обучения по охране труда, являются одними из наиболее часто фиксируемых в ходе контрольнонадзорной деятельности. В статье рассмотрены существующие программы для автоматизации процесса организации обучения по охране труда и предложено авторское решение проблемы автоматизации процесса организации обучения по охране труда. Описан авторский программный продукт, вебприложение, позволяющее автоматизировать процессы, связанные с организацией, контролем и документированием обучения по охране труда. Описаны наиболее значимые этапы создания программы, включая выбор программного обеспечения, языка программирования, создание базы данных, разработку серверной части, осуществление хранения информации о сотрудниках и видах обучения. Для достижения результатов были использованы следующие методы исследования: анализ, сравнение, обобщение, моделирование, наблюдение. Перечень необходимых информационных технологий: система разработки программного обеспечения Microsoft Visual Studio, язык программирования Go, объектнореляционная система управления базами данных PostgreSQL, сервис Draw.io. Представлены преимущества использования программного продукта, которые заключаются в определении перечня необходимых обучающих мероприятий с привязкой к штатным работникам, отслеживании сроков проведения и действия проведенного обучения, своевременной постановки задач специалистам по охране труда, уведомлении руководителей о необходимости проведения инструктажей, а также генерировании документов, необходимых для их регистрации в автоматическом режиме. Внедрение предложенной в статье программы на предприятии позволяет устранить нарушения, повысить точность учёта и улучшить контроль за проведением обучения. Проведённый расчёт эффективности предложенного варианта автоматизации организационных процедур путем сравнения трудозатрат до и после внедрения программного продукта на примере предприятия подтверждает снижение затрат времени и ресурсов. Разработанное решение может быть адаптировано для применения в организациях разных отраслей экономики. Полученные результаты демонстрируют целесообразность автоматизации организационных процедур в сфере охраны труда и перспективы масштабирования и развития разработанной системы.
Короткий адрес: https://sciup.org/140315925
IDS: 140315925 | УДК: 331.45 | DOI: 10.55618/20756704_2025_18_3_123-138
Improving the system of organizing health and safety training through the development of a software product
The relevance of the chosen topic is due to the fact that violations related to the organiza-tion of occupational safety training are among the most frequently recorded during control and supervisory activities. The article discusses existing programs for automating the process of organizing occupational safety training and proposes an author's solution to the problem of automating the process of organizing occupational safety training. The article describes an author's software product, a web application that al-lows for the automation of processes related to the organization, control, and documentation of occupa-tional safety training. The most significant stages of creating a program are described, including the selec-tion of software, programming language, database creation, server development, and storage of infor-mation about employees and types of training. The following research methods were used to achieve the results: analysis, comparison, generalization, modeling, and observation. The list of required information technologies includes Microsoft Visual Studio software development system, the Go programming lan-guage, the PostgreSQL object-relational database management system, and the Draw.io service. The ad-vantages of using the software product include determining the list of necessary training activities, tracking the timing and effectiveness of the training, setting tasks for occupational safety specialists in a timely manner, notifying managers about the need for training, and generating documents necessary for their re-gistration in an automated manner. The implementation of the program proposed in the article at an enter-prise allows to eliminate violations, increase the accuracy of accounting and improve control over the train-ing. The calculation of the effectiveness of the proposed option of automation of organizational procedures by comparing the labor costs before and after the implementation of the software product on the example of an enterprise confirms the reduction of time and resource costs. The developed solution can be adapted for use in organizations of different sectors of the economy. The results obtained demonstrate the feasibility of automation of organizational procedures in the field of occupational safety and the prospects for scaling and development of the developed system.
Текст научной статьи Совершенствование системы организации обучения по охране труда посредством разработки программного продукта
Введение. Охрана труда является неотъемлемым элементом механизмов управления предприятиями. Регулирование систем обеспечения безопасности работников в настоящий момент претерпевает множество изменений, законодательство совершенствуется и систематизируется в соответствии с национальными целями и федеральными приоритетами, выстраиваемыми на уровне Правительства, а также Министерства труда и социальной защиты РФ.
В связи с развитием цифровых систем учёта, контроля и управления многие привычные действия и процедуры переходят в электронный формат. Цифровизация в охране труда имеет значительные перспективы, поскольку позволяет автоматизировать рутинные процессы, использовать новые аналитические инструменты и алгоритмы, визуализировать и моделировать производственные процессы [1, 2].
Однако полная цифровизация процедуры регистрации инструктажей по охране труда, включая перевод всех записей и подписей в электронный формат, невозможна ввиду ограничений, установленных трудовым законодательством [3].
Анализ результатов проведения проверок государственными инспекторами труда за последние несколько лет показывает, что из года в год преобладают
нарушения, связанные с обучением по охране труда [4, 5].
Нарушения в области обучения по охране труда напрямую влияют на возникновение несчастных случаев, потому что именно обучение закладывает основы безопасного поведения сотрудника на рабочем месте [6].
Материалы и методы исследования. В работе использованы: анализ нормативно-правовой базы, статистических данных и систем организации обучения по охране труда на предприятиях, обобщение результатов анализа, моделирование элементов программного продукта, измерение и сравнение времени выполнения процедур по организации обучения по охране труда.
При анализе трудовых обязанностей специалиста по охране труда [7] был определен его функционал (рисунок 1), который взят за основу при разработке программного продукта.
Были проанализированы альтернативы самостоятельной разработки программного продукта – использование уже существующих распространённых решений со схожим функционалом [8, 9, 10].
По результатам сравнительного анализа наиболее популярных языков программирования было принято решение использовать язык Go в качестве основной технологии.
На этапе анализа рассматривались различные варианты систем управления базами данных, включая как коммерческие решения (например, Microsoft SQL
Server, Oracle Database), так и системы с открытым исходным кодом (PostgreSQL, MySQL, MariaDB) [11, 12, 13].
Функционал программного продукта Software features
Определение необходимости проведения обучения по охране труда Determining the necessity of occupational safety and health training
Напоминание о необходимости прохождения повторного обучения сотрудником Reminder about the need to complete refresher training
Подбор программ обучения в соответствии с должностью Selecting training programs based on job position
Внесение дат прохождения повторных обучений
Entering the dates of completing refresher courses
Создание документа (.docx)для регистрации прохождения вводного и первичного (при необходимости) инструктажа
Creating a(.docx) document for recording the completion of introductory and initial (if necessary) training
Работа с новыми сотрудниками Working with new employees
Работа со штатными сотрудниками Working with regular employees
Создание документа (.docx) для регистрации прохождения повторного (при необходимости) внепланового инструктажа
Creating a (.docx) document to record the completion of refresher and unscheduled (if necessary) training
Уведомление руководителей о необходимости проведения первичного инструктажа Notifying managers about the necessity of conducting initial training
Уведомление руководителей о необходимости проведения инструктажа Notifying managers about the need to conduct a training
Внесение дат прохождения инструктажей и обучения по необходимым программам Entering the dates of completed trainings and required training programs
Просмотр истории обучения конкретного сотрудника
Reviewing the training record of a particular employee
Рисунок 1 – Функционал программного продукта Figure 1 – Software product features
Результаты исследования и их обсуждение. На этапе реализации был осуществлён переход от проектирования архитектуры и выбора технологий к непосредственной разработке программного продукта (Свидетельство о государственной регистрации программы для ЭВМ 2025685107 от 19.09.2025. Программа для контроля прохождения обу-
чения по охране труда / Доронин А.С., Румянцева Н.В., Денисенко Д.Ю.). Работа велась последовательно для серверной и клиентской частей системы с соблюдением принципов модульности, масштабируемости и удобства дальнейшего сопровождения.
Условно работу можно представить в виде следующих шагов:
Таблица 1 – Предложенная структура таблиц базы данных Table 1 – Proposed structure of database table
|
Поле Area |
Описание Description |
|
1 – Positions – список должностей и отделов 1 – Positions – list of positions and departments |
|
|
id |
Уникальный идентификатор должности в отделе Unique identifier for a position within a department |
|
position |
Наименование должности Position title |
|
department |
Наименование отдела Department name |
|
Employees – информация о сотрудниках Employees – employee details |
|
|
id |
Уникальный идентификатор сотрудника Unique employee ID |
|
full_name |
Фамилия имя отчество Second name first name patronymic |
|
birth_date |
Дата рождения Birth date |
|
department |
Название подразделения Department |
|
position |
Должность Position |
|
snils |
СНИЛС Individual Insurance Account Number |
|
employment_date |
Дата приема на работу Employment Date |
|
is_a leader |
Является ли руководителем Is a leader |
|
|
Электронная почта Email |
|
2 – Local_acts – информация о локальных нормативных актах 2 – Local_acts – local acts information |
|
|
id |
Уникальный идентификатор документа Unique document identifier |
|
act_name |
Наименование документа Act name |
|
3 – Notification_types_templates – шаблоны уведомлений по типам 3 – Notification_types_templates – notnotification templates by type |
|
|
notification_type |
Тип уведомления Notification type |
|
subject_template |
Шаблон темы сообщения Subject template |
|
body_template |
Шаблон текста сообщения Body template |
|
4 – Trainings – информация об обучениях 4 – Trainings – training information |
|
|
id |
Уникальный идентификатор обучения Unique training identifier |
|
training_type |
Тип обучения Training type |
|
training_name |
Наименование программы обучения Training name |
|
valid_period |
Срок действия обучения Valid period |
|
5 – Tasks – информация о задачах 5 – Tasks – task information |
|
|
id |
Уникальный идентификатор задачи Unique task identifier |
|
task_type |
Тип задачи Task type |
|
training_id |
Уникальный идентификатор назначенного обучения Unique identifier of planned training |
|
employee_id |
Уникальный идентификатор сотрудника, к которому относится задача Unique identifier of the employee to whom the task is assigned. |
|
executor_id |
Уникальный идентификатор сотрудника, который является исполнителем Unique identifier of the employee who is the assignee |
|
position_id |
Уникальный идентификатор должности, к которой относится задача Unique identifier of the position to which the task is assigned. |
|
created_at |
Дата создания задачи Task creation date |
|
done |
Статус выполнения Status of completion |
|
done_at |
Дата завершения задачи Task completion date |
|
6 – Notifications_queue – очередь уведомлений 6 – Notifications_queue – notifications queue |
|
|
id |
Уникальный идентификатор уведомления Unique identifier of the notification |
|
employee_id |
Уникальный идентификатор сотрудника, к которому относится уведомление Unique identifier of the employee to whom the notification is assigned |
|
training_id |
Уникальный идентификатор назначенного обучения Unique identifier of the assigned training |
|
notification_type |
Тип уведомления Notification type |
|
created_at |
Время создания уведомления Notification creation type |
|
sent |
Отправлено или нет Sent or not |
|
sent_at |
Дата отправки Date of sending |
|
7 – Download_tokens – уникальные ссылки для загрузки файлов 7 – Download_tokens – unique links for file uploads |
|
|
token |
Уникальный токен Unique token |
|
employee_id |
Уникальный идентификатор сотрудника, к которому относится лист регистрации инструктажа |
|
Unique identifier of the employee to whom the training log sheet belongs |
|
|
training_id |
Уникальный идентификатор вида инструктажа Unique identifier of the training type |
|
created_at |
Дата создания токена для загрузки Token creation date for upload |
|
expires_at |
Дата истечения срока действия токена Token expiration date |
|
loads_count |
Количество скачиваний download count |
|
8 – Task_types_texts – шаблоны текстов задач по типам 8 – Task_types_texts – task text templates, grouped by type |
|
|
task_type |
Тип задачи Task type |
|
task_text |
Шаблон текста задачи Task type template |
|
9 – Employee_trainings – информация об обучении сотрудников 9 – Employee_trainings – employee traning information |
|
|
employee_id |
Уникальный идентификатор сотрудника Unique employee identifier |
|
training_id |
Уникальный идентификатор назначенного обучения Unique assigned training identifier |
|
training_date |
Дата прохождения обучения Training date |
|
retraining_date |
Дата перепрохождения обучения Training refresher date |
|
has_protocol |
Статус получения протокола Status of received protocol |
|
10 – Position_trainings – соответствие видов обучения и должностей 10 – Position_trainings – training types and job positions correlation |
|
|
position_id |
Уникальный идентификатор должности в отделе Unique identifier for the position within the department |
|
training_id |
Уникальный идентификатор обучения для должности Unique identifier for training assigned to the job position |
1. Организация базы данных. Cоздание базы данных PostgreSQL [11]. Структура базы данных включает в себя ряд связанных между собой таблиц, каждая из которых отвечает за определён-
ный аспект предметной области: сотрудники; виды обучения; задачи; нормативные документы; уведомления.
Ниже представлены структуры всех таблиц базы данных (таблица 1).
Данные в таблицах связаны между собой при помощи внешних ключей, что обеспечивает следующие преимущества:
-
- сохранение целостности данных, благодаря чему, например, исключается возможность указания в задаче несуществующего сотрудника;
-
- удобство выполнения выборок, позволяющее оперативно получать информацию о пройденных сотрудником
обучениях, либо о невыполненных задачах;
-
- автоматизацию операций, в частности, возможность автоматического удаления связанных данных, например, задач, при удалении сотрудника.
-
2. Реализация серверной части . Разработка серверной части велась с учётом будущего возможного масштабирования и адаптации системы под нужды других предприятий.
-
3. Реализация клиентской части . Клиентская часть проекта была разделена на три основные функциональные области: просмотр и завершение задач (Tasks); просмотр подробной информации о конкретном сотруднике и его обучениях с возможностью редактирования (Personal Cards); поиск и просмотр краткой информации о сотрудниках с помощью фильтрации по отделу, должности, статусу обучений и другим параметрам (Employee Overview) .
На рисунке 2 представлена схема табличных связей базы данных.
Рисунок 2 – Схема табличных связей базы данных Figure 2 – Database table relationship diagram
Архитектура серверной части включала в себя следующие ключевые модули: управление сотрудниками, обучением; сроками; задачами; документами, уведомлениями; загрузками, подразумевающее использование механизма многоразовых защищённых ссылок (токенов) для скачивания документов без необходимости авторизации.
Для обмена данными между сервером и клиентом был разработан удобный API-интерфейс на основе стандартных веб-запросов (REST), что обеспечило простоту интеграции и стабильную работу приложения.
Для реализации пользовательского интерфейса были выбраны вебтехнологии, позволяющие обеспечить удобство работы сотрудников отделов охраны труда и высокую скорость отклика системы: React; TypeScript; Material UI (MUI); React Router Dom [12,13,14].
При выборе системы управления базами данных рассматривались различные варианты систем управления базами данных, включая как коммерческие решения (например, Microsoft SQL Server, Oracle Database), так и системы с открытым исходным кодом (PostgreSQL, MySQL, MariaDB) [15,16].
Разработанное программное обеспечение опирается на данные о штатном расписании и кадровых изменениях, поэтому при его внедрении первоочередной задачей является настройка взаимодействия с используемой в организации системой учета сотрудников. Это необходимо для автоматизированного получения штатной расстановки и ежедневных изменений в кадровом составе.
При первоначальной загрузке штатного расписания в программе необходимо задать соответствие между должностями и необходимыми видами обучения. В дальнейшем, при устройстве нового сотрудника на существующую должность, программа автоматически формирует перечень необходимых для него обучающих мероприятий, а в случае новой должности, специалисту по охране труда ставится задача определить перечень обязательных видов обучения для данной должности.
Далее система автоматически формирует задачи в зависимости от необходимых для сотрудника видов обучения.
Для облегчения организации вводного инструктажа и инструктажа на рабочем месте функциональные возможности разработанной программы включают в себя автоматическое формирование заполненных листов регистрации. Например, для вводного инструктажа необхо- димо нажать кнопку «Скачать лист регистрации» в соответствующей задаче. Дата проведения инструктажа вносится в систему в момент генерации документа.
Благодаря использованию программы специалист по охране труда сможет оперативно проверить, прошел ли сотрудник необходимое обучение, а также узнать даты прохождения и виды проведённых обучающих мероприятий.
Знание точных дат проведения инструктажей и обучений позволяет быстро найти подтверждающие документы при условии их правильного хранения. Под правильным хранением подразумевается следующая структура: для протоколов проверки знаний – одна папка на один календарный год, один файл – на одну программу обучения, при этом документы должны быть размещены в хронологическом порядке. Листы регистрации вводного инструктажа рекомендуется хранить в отдельной папке, также в хронологическом порядке. Что касается инструктажа на рабочем месте – для каждого подразделения выделяется своя папка, в которой документы упорядочиваются по дате проведения.
В связи с этим регистрация инструктажей осуществляется посредством печати сформированных в программе бумажных форм, которые впоследствии подписываются обеими сторонами – инструктирующим и работником. Такой подход обеспечивает как соответствие правовым требованиям, так и удобство для пользователей программы.
На основании практического наблюдения за выполнением основных операций была проведена оценка среднего времени, необходимого на выполнение каждой задачи вручную (без использования программы) и после автоматизации [17] (таблица 2).
Таблица 2 – Сравнение времени выполнения задач без программы и с ее использованием Table 2 – Comparison of task execution time without and with the program
|
Задача Task |
Время выполнения задачи без использования программы (мин.) Execution time without and with the program (min.) |
Время выполнения задачи с использованием программы (мин.) Execution time with the program (min.) |
Исполнитель Performer |
Среднее количество выполнений в год (iшт.) Average number of executions per year (pcs.) |
|
Оформление документа для регистрации прохождения вводного инструктажа Registration of a document for completing the introductory training |
10 |
1 |
Специалист по охране труда Safety specialist |
96 |
|
Оформление документа для регистрации прохождения первичного инструктажа Registration of a document for completing the initial training |
10 |
1 |
Непосредственный руководитель сотрудника Employee’s direct supervisor |
32 |
|
Оформление документа для регистрации прохождения повторного инструктажа Registration of a document for completing the refresher training |
10 |
1 |
Непосредственный руководитель сотрудника Employee’s direct supervisor |
140 |
|
Уведомление руководителей о необходимости проведения первичного инструктажа Notification to supervisors regarding the necessity of conducting initial training |
10 |
0 |
Специалист по охране труда Safety specialist |
32 |
|
Уведомление руководителей о необходимости проведения повторного инструктажа Notification to supervisors regarding the necessity of conducting refresher training |
10 |
0 |
Специалист по охране труда Safety specialist |
93 |
|
Просмотр истории обучения конкретного сотрудника Viewing a specific employee's training history |
7 |
1 |
Специалист по охране труда Safety specialist |
60 |
|
Ведение учета прохождения обучения Keeping track of training records |
7 |
1 |
Специалист по охране труда Safety specialist |
130 |
|
Определение необходимости проведения повторного обучения Determining the need for refresher training |
2 |
0 |
Специалист по охране труда Safety specialist |
48 |
|
Всего Total |
66 |
5 |
- |
- |
Таблица 3 – Сравнение трудозатрат (мин.) в год до и после автоматизации процесса Table 3 – Comparison of labor costs (min.) per year before and after process automation
|
Задача Task |
Трудозатраты в год до автоматизации, мин. Labor costs (min.) per year before process automation |
Трудозатраты в год после автоматизации, мин. Labor costs (min.) per year after process automation |
|
Оформление документа для регистрации прохождения вводного инструктажа Registration of a document for completing the introductory training |
960 |
96 |
|
Оформление документа для регистрации прохождения первичного инструктажа Registration of a document for completing the initial training |
320 |
32 |
|
Оформление документа для регистрации прохождения повторного инструктажа Registration of a document for completing the refresher training |
1400 |
140 |
|
Уведомление руководителей о необходимости проведения первичного инструктажа Notification to supervisors regarding the necessity of conducting initial training |
320 |
0 |
|
Уведомление руководителей о необходимости проведения повторного инструктажа Notification to supervisors regarding the necessity of conducting refresher training |
930 |
0 |
|
Просмотр истории обучения конкретного сотрудника Viewing a specific employee's training history |
420 |
60 |
|
Ведение учета прохождения обучения Keeping track of training records |
910 |
130 |
|
Определение необходимости проведения повторного обучения Determining the need for refresher training |
96 |
0 |
Для расчета трудозатрат в денеж- Расчет проводился по формуле (2):
ном выражении (таблица 4) были приня- Т₽ = Тм × С , (2)
ты следующие данные:
заработная плата специалиста по где Т ₽ – трудозатраты, руб.;
охране труда – 80 000 руб./мес. Тм – трудозатраты, мин.;
-
(8,1 руб./мин.); С – стоимость одной минуты рабо
заработная плата непосредственно- ты специалиста, руб./мин.
го руководителя – 135 000 руб./мес.
(13,68 руб./мин.).
Таблица 4 – Сравнение трудозатрат (руб.) в год до и после автоматизации процесса Table 4 – Comparison of labor costs (rubles) per year before and after process automation
|
Задача Task |
Трудозатраты в год до автоматизации, руб. Labor costs per year before process automation, rubles |
Трудозатраты в год после автоматизации, руб. Labor costs per year after process automation, rubles |
|
Оформление документа для регистрации прохождения вводного инструктажа Registration of a document for completing the introductory training |
7 776 |
778 |
|
Оформление документа для регистрации прохождения первичного инструктажа Registration of a document for completing the initial training |
4 378 |
438 |
|
Оформление документа для регистрации прохождения повторного инструктажа Registration of a document for completing the refresher training |
19 152 |
1 915 |
|
Уведомление руководителей о необходимости проведения первичного инструктажа Notification to supervisors regarding the necessity of conducting initial training |
2 592 |
0 |
|
Уведомление руководителей о необходимости проведения повторного инструктажа Notification to supervisors regarding the necessity of conducting refresher training |
7 533 |
0 |
|
Просмотр истории обучения конкретного сотрудника Viewing a specific employee's training history |
3 402 |
486 |
|
Ведение учета прохождения обучения Keeping track of training records |
7 371 |
1 053 |
|
Определение необходимости проведения повторного обучения Determining the need for refresher training |
778 |
0 |
В таблице 3 представлены трудозатраты за год на выполнение задач до и после автоматизации системы, рассчитанные по формуле (1):
TM = t x N , (1)
где Т м – трудозатраты, мин.;
t – время выполнения задачи, мин.;
N – количество выполнений задачи в год.
После автоматизации процесса суммарные трудозатраты снизились с 52 982 до 4 670 рублей, что составляет снижение на 91% от первоначальных затрат. Таким образом, использование цифровых решений в охране труда позволяет существенно сократить трудозатраты как во временном, так и в денежном выражении.
При этом расчёты выполнены на основе данных для предприятия с численностью около 250 человек. В более крупной организации количество операций по указанным задачам было бы значительно выше, а значит и потенциальная экономическая выгода от внедрения подобной программы может увеличиться в разы.
Выводы. Разработанный программный продукт ориентирован на реальные задачи специалиста по охране труда и актуален для организаций, заинтересованных в эффективном выполнении требований охраны труда с применением современных цифровых решений.
Аналогичные программные решения, как правило, охватывают все ключевые процедуры охраны труда, тогда как разработанный программный продукт сосредоточен исключительно на обучении, что позволяет более детально прорабатывать ключевые процессы, связанные с планированием, контролем и документированием обучения сотрудников.
Отличие от типовых решений связано с тем, что в рамках предложенного программного продукта реализован полноценный механизм автоматической постановки задач специалистам по охране труда – от проведения инструктажа до внесения дат. Еще одной из ключевых особенностей является не только реализация механизма автоматических уведомлений руководителей о необходимости проведения инструктажей, но и автоматическое формирование и прикрепление к этим уведомлениям заполненных листов регистрации. Дополнительную новизну представляет модуль учёта полученных протоколов от обучающих центров, позволяющий минимизировать риск их потери.
Предложенный программный продукт [18] позволит не только освободить рабочее время специалиста по охране труда для качественного и плодотворного решения прикладных задач на производстве, но и минимизировать влияние человеческого фактора, повысить точность учета и своевременность прохождения инструктажей и обучений.