Медицина, Корпоративное ПО
.NET Core
Клиент (NDA) активно сотрудничает с поставщиками сырья, логистическими партнерами, подрядчиками по обслуживанию оборудования. В связи с этим ведет учет всех контрагентов, с которыми заключает контракты на сотрудничество.
Клиент использовал устаревшую систему управления контрагентами на PHP5. Она обрабатывала данные по двум основным направлениям: контрагенты-дебиторы и контрагенты-кредиторы. Заявки в этой системе использовали данные из системы управления предприятием (SAP) и различных справочников, но сам процесс был неавтоматизированным и требовал значительных трудозатрат.
Основные проблемы:
Когда мы начали работу над системой управления контрагентами, перед нами стояла важная задача — сделать процесс добавления новых контрагентов быстрее и удобнее. Мы детально проанализировали бизнес-процессы и выявили три ключевые проблемы:
Чтобы решить эти проблемы, мы разработали на .NET отдельный сервис «Дебитор Кредитор», который полностью автоматизировал процесс. Теперь система позволяет быстро создавать, редактировать и согласовывать заявки. Умные фильтры упрощают поиск, а многоуровневое согласование гарантирует четкость и прозрачность процесса.
1. Пользователь создает заявку: указывает данные о контрагенте, при этом система автоматически подсказывает корректные значения.
2. Система проверяет информацию в SAP: если данные некорректны или контрагент уже существует, пользователь получает уведомление.
3. Заявка отправляется на согласование: в зависимости от типа контрагента, она проходит через нужные уровни проверки.
4. Автоматическая транслитерация: если SAP требует данные на латинице, система сама переводит их с кириллицы (через сервис ZWS_ABAP_SERVICE).
5. Интеграция с SAP и Golden Box: после успешного согласования данные передаются в основные системы компании. Контрагент добавляется в систему без дополнительных действий со стороны пользователя.
Когда мы начали разработку сервиса «Дебитор-Кредитор», одной из задач было добавить автоматическое согласование заявок по подразделениям. Сначала мы попытались встроить этот процесс в существующую внутреннюю систему, добавляя новую логику и дорабатывая функционал. Однако вскоре столкнулись с рядом проблем: согласования усложнились, система часто зависала и выдавала ошибки, а внесение изменений на устаревших технологиях занимало много времени. Для эффективной работы потребовался отдельный, гибкий инструмент, который учитывает структуру компании и разные сценарии согласования.
Мы разработали сервис «Согласование», который позволил не только автоматизировать согласование заявок на контрагентов, но и автоматизировать другие процессы в компании.
1. Пользователь создаёт заявку в любом сервисе, связанном с системой согласований.
2. Система автоматически определяет маршрут: кто должен утвердить заявку и в каком порядке.
3. Согласующие получают уведомления и могут подтвердить или отклонить заявку в один клик.
4. Если кто-то в отпуске или на больничном, система автоматически передаёт заявку замещающему.
5. После завершения процесса информация передаётся обратно в исходный сервис, где заявка была создана.
Теперь не нужно привлекать разработчиков для настройки цепочек согласования — все можно сделать через удобный интерфейс. Теперь согласование происходит без лишних задержек и человеческого фактора — система сама адаптируется к ситуации.
Таким образом, теперь все заявки из разных сервисов согласовываются централизованно, что исключает утерю документов и дублирование процессов.
Один из ключевых вызовов в работе согласований — это человеческий фактор. Что делать, если сотрудник, который должен утвердить заявку, ушел в отпуск или на больничный? Раньше такие заявки зависали в системе, создавая задержки в процессах.
Мы решили эту проблему, реализовав автоматическое назначение замещающих сотрудников.
1. В цепочке согласований заранее настраивается, кто является замещающим для каждого согласующего.
2. Если основной сотрудник уходит в отпуск или на больничный, информация об этом загружается из внешнего сервера и обновляется в базе MSSQL.
3. Система автоматически перенаправляет все его согласования замещающему, без необходимости вмешательства пользователя.
4. После выхода основного сотрудника на работу новые заявки снова отправляются ему, а не замещающему.
Изначально мы разрабатывали систему для согласования заявок по контрагентам, но быстро поняли, что её потенциал намного больше. Сейчас через этот сервис проходят различные процессы компании:
Теперь любой процесс, который требует нескольких этапов согласования, можно быстро и удобно автоматизировать.
В итоге клиент получил современную и надежную автоматизированную систему для управления внутренними процессами, которая легко масштабируется вместе с бизнесом.
.Net 6, ASP.NET Web Api, RESTful API, SOAP, Swagger, MsSQL, Entity Framework Core, Serilog, ReactJs, gitlab ci, powershell, IIS