Совершенствование системы организации обучения по охране труда посредством разработки программного продукта

Румянцева Н.В. Шкрабак В.С. Ульянов А.И. Куклин Д.А. Денисенко Д.Ю.

Журнал: Вестник аграрной науки Дона @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

Электронная почта 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] позволит не только освободить рабочее время специалиста по охране труда для качественного и плодотворного решения прикладных задач на производстве, но и минимизировать влияние человеческого фактора, повысить точность учета и своевременность прохождения инструктажей и обучений.