Система обработки заявок пользователей (Help Desk)
1. Предпосылки для создания системы
Необходимость создания системы обработки заявок (Help Desk) возникла в процессе сопровождения разработанной мной конфигурации в организации. По договору на обслуживание для связи с разработчиком (то есть со мной) должен был быть назначен специальный представитель заказчика. Кроме того, я создал сайт-справочник по конфигурации, где опубликовал всю необходимую информацию по работе с ней.
Однако на практике это не сработало: на мою электронную почту стали приходить запросы от разных пользователей организации. Вопросы часто касались тем, уже освещенных на сайте-справочнике, или содержали просьбы о доработках и исправлениях (куда же без этого).
Таким образом, общение через специального представителя не состоялось, и весь поток вопросов шел напрямую мне. Поскольку игнорировать эти запросы было нельзя, я решил разработать собственную систему обработки заявок, но с одним условием — работать в ней могли только зарегистрированные пользователи. Это помогло упорядочить общение.
2. Роли в системе
В системе предусмотрены четыре основные роли:
- Администратор системы
- Разработчик конфигурации
- Менеджер по обслуживанию конфигурации
- Пользователь конфигурации
3. Возможности системы обработки заявок
- Регистрация пользователей (выполняется только администратором системы).
- Ведение заявок по нескольким конфигурациям.
- Создание заявки пользователем.
- Управление заявкой:
- Назначение исполнителя.
- Заявка может быть создана не только для разработчика, но и любым пользователем системы для другого пользователя.
- Ведение статуса и приоритета заявки.
- Прикрепление файлов и скриншотов к заявке.
- Ведение чата (переписки) по заявке между пользователем и исполнителем.
- Прикрепление файлов и скриншотов к сообщениям в чате.
- Автоматическая отправка уведомлений на электронную почту при изменениях в заявке или появлении новых сообщений.
- Статистика по заявкам (для пользователей — по своим, для администратора — по всем).
- Восстановление пароля пользователя (при настройке в системе отправки почтовых сообщений).
4. Дополнительные возможности администратора системы
- Создание и удаление пользователей.
- Добавление новых конфигураций в систему или их удаление.
- Добавление пользователей в список участников по конфигурации или их исключение.
- Управление активностью пользователей в системе (блокировка/активация).
5. Установка и настройка системы на локальном сервере (для тестирования)
Для разработки и тестирования я использовал локальный сервер XAMPP.
5.1. Создание базы данных MySQL
- Создайте базу данных на сервере XAMPP.
Ссылки на видео по вариантам установки базы на сервере
- В файле конфигурации config.php (расположен в директории сайта includes) настройте подключение к базе данных:
// Конфигурация базы данных
define('DB_HOST', 'localhost');
define('DB_NAME', 'helpdesk');
define('DB_USER', ''); // укажите пользователя
define('DB_PASS', ''); // укажите пароль, если требуется
5.2. Импорт структуры базы данных
Есть два способа:
- Способ 1: Откройте phpMyAdmin и импортируйте файл helpdesk_hd.sql из директории files проекта.
- Способ 2: После установки XAMPP и размещения папки сайта helpdesk в директории C:\xampp\htdocs запустите в браузере файл установки: http://localhost/helpdesk/install_db.php и введите параметры для создания БД.
Данные для входа администратора после установки:
- Логин: admin
- Пароль: adminadmin
5.3. Настройка отправки email-уведомлений
Для работы уведомлений настройте параметры отправки почты в том же файле config.php. Пример для Gmail:
// Настройки отправки почты
define('SMTP_HOST', 'smtp.gmail.com');
define('SMTP_PORT', 587);
define('SMTP_USER', 'user@gmail.com');
define('SMTP_PASS', 'пароль_приложения'); // Важно!
define('SMTP_SECURE', 'tls');
define('SMTP_FROM', 'user@gmail.com');
Важно! Используйте не пароль от почты, а «Пароль приложения». В настройках безопасности почтового сервиса (Gmail, Yandex, Mail.ru) есть раздел для создания таких паролей. Именно этот сгенерированный пароль нужно указать в конфигурации.
При настройке я руководствовался этим материалом: https://yandex.ru/video/preview/7298089265208888555
Демонстрационный сайт системы help-desk
Именов пользователей и пароли для демо сайта help-desk
| Роль | Логин | Пароль | ||
|---|---|---|---|---|
| Администратор системы | admin | adminadmin | ||
| Менеджер |
|
|
||
| Менеджер |
|
manager0123 | ||
| Менеджер |
|
manager0123 | ||
| Разработчик | dev1 | developer0123 | ||
| Пользователь | user1 | user0123 | ||
| Пользователь | user2 | user0123 | ||
| Пользователь | user3 | user0123 | ||
| Пользователь | user4 | user0123 | ||
| Пользователь | user5 | user0123 | ||
| Пользователь | user6 | user0123 | ||
| Пользователь | user7 | user0123 |
При создании системы обработки заявок пользователей я использовал искусственный интеллект, в частности DeepSeek, все остальные оказались непригодными, по крайней мере для меня. Помог опыт 20-летней давности по разработке динамических сайтов. Потом я это успешно забросил и перешёл на создание конфигураций на платформе 1С.
Участие искусственного интеллекта в разработке системы составило 80%, а моё — всё остальное.
Тестировалось на релизе платформы 1С:Предприятие 8.3 (8.3.27.1508).
Вступайте в нашу телеграмм-группу Инфостарт