
На связи Сергей Скирдин, технический директор ИТ-интегратора «Белый код». Рассказываю о проекте, в котором мы реализовали корпоративное хранилище данных (КХД) на базе DATAREON Platform для компании, занимающейся поставками дорожно-строительной техники и запчастей.
Заказчик: один из ведущих поставщиков спецтехники в России.
Задачи:
Загрузить данные о товарах, поставщиках, остатках и действующих ценах из системы «1С:ERP» в хранилище DATAREON.
Реализовать алгоритм загрузки данных о свободных остатках от партнеров из Excel-файлов в унифицированном формате.
Создать HTTP-сервис, который будет предоставлять информацию о доступности товара по запросу в формате JSON.
Реализовать возможность записи нескольких видов цен, хранения истории цен и обновления данных.
О компании
Федеральный дистрибьютор спецтехники известных брендов. Компания не только продает технику, но и обслуживает ее: развивает сеть сервисных центров, держит собственные склады, работает с партнерами по всей стране. В ассортименте тысячи SKU: от небольших запчастей вроде фильтров и ремней до двигателей и гидроузлов.
С чем обратился заказчик
У компании много партнеров, а в справочниках тысячи SKU: это не только техника, но и запчасти от мелких категорий до крупных. При этом какие-то позиции есть на складах компании в разных регионах, другая часть — на складах партнеров, также по всей стране.
Основная проблема была в том, что информация об остатках находилась в разных местах. Собственные склады — в «1С:ERP», а данные партнеров приходили в Excel-файлах. Чтобы узнать, есть ли нужная запчасть и где именно — менеджеру необходимо было обзванивать партнеров.
Ситуацию усложняло наличие аналогов: например, оригинальный фильтр и его эквивалент от другого производителя. Внутри 1С такие соответствия есть, но у партнеров — нет, поэтому каждый запрос заканчивался ручной сверкой.
Чтобы ускорить процесс поиска запчастей, в компании задумались о КХД — корпоративном хранилище данных.
Компания хотела:
консолидировать все данные об остатках и ценах в одном месте;
учитывать аналоги;
получать данные от партнеров в едином формате;
видеть историю изменений цен и остатков;
ускорить ответ менеджера клиенту и сократить количество ручной работы.
Что сделали
Для заказчика мы сделали пилотный проект, чтобы клиент мог оценить, как работает схема. Мы организовали хранилище на базе DATAREON Platform с регулярной синхронизацией. При этом платформа выполняет роль промежуточного слоя, туда поступают обновленные данные, там обрабатываются и передаются в хранилище на базе MS SQL Server. В итоге в КХД хранятся не только актуальные остатки, но и история изменений по каждой позиции.

В первую очередь через модуль интеграции DATAREON мы подгрузили в хранилище данные об остатках из «1С:ERP» заказчика. Но главная задача была собрать информацию от партнеров. Это второй источник данных. Для пилотного проекта компания договорилась с несколькими поставщиками: раз в неделю они присылают Excel-файлы в согласованном формате.

Если у поставщика несколько цен по одной номенклатуре, значит, должно быть несколько записей в таблице. В одном таком документе содержится до 50 тысяч строк. После того как пришли файлы, подключается аналитик, он проверяет их и помещает в каталог, откуда DATAREON забирает данные для обработки.
Наступает самый сложный этап — сопоставление номенклатуры. Для этого мы написали алгоритм, который анализирует файлы и сопоставляет их по трем ключам:

Если позиция совпадает, остаток объединяется. Если система находит новый артикул, которого нет в хранилище, она передает его в отдельный каталог для проверки аналитиком. И он решает, создавать ли новую номенклатуру или связать товар как аналог. Таким образом, система постепенно учится распознавать товары и унифицировать данные разных партнеров.
Также мы реализовали HTTP-сервис, который позволяет делать запрос в формате JSON и получать актуальные данные по остаткам. Запрос отправляется в формате JSON и возвращает сведения по складам, брендам, количеству и ценам. Чтобы сотрудникам было проще ввести артикул и увидеть все в одном окне, заказчик дополнительно планирует разработать интерфейс в 1С.
Сейчас к системе заказчика подключено два крупнейших партнера. При этом такая схема работает только для пилотного проекта. В случае если надо будет подключать всех партнеров, понадобится полноценная интеграция с базами партнеров.
Результат
Пилотный проект показал, что схема работает. При запросе менеджер получает актуальные данные о наличии товаров на складах компании и партнеров, включая аналоги и цены.
Для компании это означает:
сокращение времени на обработку запроса клиента — вместо звонков и ручных сверок информация появляется сразу;
единая база остатков и цен — основа для аналитики и пополнения складов;
возможность автоматизации процесса в дальнейшем, включая сопоставление и обмен с системами всех партнеров.
Из технических особенностей самым сложным оказался алгоритм сопоставления номенклатуры: много условий, проверок и ветвлений. Но именно он стал ключевым элементом, который сделал работу возможной. Сегодня система стабильно выдерживает нагрузку.
Уже полтора года я изучаю российские ESB-решения и платформы. Общаюсь напрямую с вендорами и создаю детальные технические обзоры. Недавно выпустил большой документ «Обзор российских ESB-решений», где собраны полезные материалы и все готовые обзоры. Будет интересно ИТ-директорам, архитекторам, разработчикам. Про DATAREON Platform там, кстати, тоже есть обзор.
Также для всех, кто интересуется шинами данных, я также создал сообщество в Телеграме «Шины не для машины». Это площадка для диалога между российскими разработчиками ESB и компаниями, которым нужна интеграционная шина. Если вы хотите узнать больше о DATAREON Platform, «1С:Шине», Factor-ESB и других отечественных решениях, вступайте в сообщество и задавайте вопросы.