В статье представлены результаты разработки универсального программного модуля отчетности для CRM-систем управления персоналом. Проведен анализ существующих решений, обоснован выбор технологий (C#, PostgreSQL, Visual Studio), описаны архитектура модуля и схемы взаимодействия.
Ключевые слова: CRM-система, модуль отчетности, экспорт данных,автоматизация отчетности, Excel, C#,Telegram, PostgreSQL, REST API.
Современные CRM-системы играют большую роль в управлении бизнес-процессами, однако часто их функционал требует доработки для решения специфических задач, таких как автоматизация отчетности. Внедрение специализированного модуля отчетов, интегрируемого с CRM, позволяет повысить эффективность работы компаний за счет ускорения работы сотрудников и оптимизации аналитики.
В данной работе рассматривается разработка такого модуля отчетности, совместимого с различными CRM-системами. Этот модуль реализует работу с отчетами, экспорт данных в формат Excel, а также интеграцию с Telegram для получения уведомлений.
В таблице 1 проведен анализ аналогичных решений.
Таблица 1
Обзор аналогичных программных решений
Аспект |
Salesforce |
Zoho CRM |
Nimble |
SberCRM |
Разработанный программный модуль |
Встроенная интеграция с Telegram |
- |
- |
- |
- |
+ |
Экспорт отчетов в Excel |
+ |
+ |
- |
- |
+ |
Поддержка API |
- |
+ |
+ |
- |
+ |
Создание/ редактирование /удаление отчетов |
+/- |
+ |
+ |
+ |
+ |
Доступность в России |
- |
+ |
+ |
+ |
+ |
«+» — функция присутствует
«+/-» — функция присутствует частично
«-» — функция отсутствует
Анализ программных модулей существующих CRM-систем позволяет сделать выводы, что они обладают рядом ограничений, которые затрудняют их использование для требуемых целей. У многих решений есть проблемы с интеграцией с Telegram и отсутствует экспорт отчетов в Excel. Этот анализ демонстрирует актуальность разработки универсального программного модуля для работы с отчетами.
В рамках работы программного модуля можно выделить 4 основные сущности: пользователь, админ, отчет и задача. Отчет состоит из задач и имеет 3 состояния: в работе, готов, отменен.
Программный модуль реализует следующий функционал: создание/удаление/редактирование задач в отчете, создание/удаление/ редактирование отчета, получение отчета в формате xlsx или json, а также отправку уведомлений об изменении статуса отчета в Telegram.
Модуль также отвечает за контроль доступа пользователя к данным функциям на основе роли пользователя, полученной из другого модуля. В случае если у пользователя не хватает прав на выполнение операции, модуль возвращает ответ, сообщающий об ошибке.
На рисунке 1 представлена схема алгоритма работы модуля.
Рис. 1. Схема алгоритма
Для разработки модуля требовался язык программирования, поддерживающий работу с базами данных, позволяющий быстро создать REST API, а также имеющий мощные средств для работы с MS Excel.
Таким языком был выбран язык программирования C#, который имеет много встроенных инструментов для разработки веб-приложений и взаимодействия с экосистемой Microsoft.
В качестве среды разработки была выбрана Microsoft Visual Studio Community, так как она позволяет легко добавлять необходимые пакеты через NuGet и является бесплатной версией, что делает ее доступной для широкого круга разработчиков.
Для использования в программном модуле в качестве базы данных была выбрана СУБД PostgreSQL. Для взаимодействия с данной БД, используя язык C#, необходимо установить пакет Npgsql.EntityFrameworkCore.PostgreSQL, который включает в себя все необходимые библиотеки.
База данных модуля содержит три таблицы: таблица пользователей, таблица отчетов и таблица задач. Работа с сущностями базы данных происходит с использованием подхода ORM (Object-Relational Mapping) для защиты от SQL-инъекций и упрощения работы с базой данных.
На рисунке 2 представлена схема базы данных модуля.
Рис. 2. Схема базы данных
Литература:
- Salesforce.com [Электронный ресурс] Salesforce is relationship management technology URL: https://www.salesforce.com/
- Zoho.com [Электронный ресурс] Zoho CRM — облачное решение для управления взаимоотношениями с клиентами URL: https://www.zoho.com/crm/
- Nimble.com [Электронный ресурс]CRM for Solopreneurs and Business TeamsURL: https://www.nimble.com/
- Sbercrm.com [Электронный ресурс] SberCRM — российский онлайн-сервис, позволяющий автоматизировать управление взаимоотношениями с клиентами. URL: https://sbercrm.com/
- Learn.microsoft.com/ru-ru/dotnet/csharp [Электронный ресурс] Документация по языку C# URL: https://learn.microsoft.com/ru-ru/dotnet/csharp/
- Visualstudio.microsoft.com [Электронный ресурс] Visual Studio is an integrated development environment (IDE) developed by Microsoft URL: https://visualstudio.microsoft.com/