Заказчик: инжиниринговый холдинг, занимается энергетическим и промышленным строительством, автоматизацией и системной интеграцией.
Задача: настроить интеграцию между базами 1С и BPM-системой, исключив при этом дубли.
С чем обратился заказчик
В инфраструктуре организации 12 баз «1С:ЗУП» и CRM-система на веб-платформе. Между системами активный обмен: множеству справочников требуются обновления данных. Однако компания столкнулась с проблемой дублей при обмене данными между базами 1С и CRM. Дело в том, что базы 1С никак между собой не связаны, и те же физлица при приеме на работу заводятся в каждую базу со своим идентификатором. При стандартной синхронизации из 1С в CRM создавались повторяющиеся записи по одним и тем же объектам. Это приводило к искажению информации, усложняло учет и мешало работе. Необходимо было реализовать механизм, который исключил бы появление дублей при передаче данных.
Что сделали
В пилотном проекте, чтобы протестировать вариант решения задачи, мы настроили обмен между 3 базами 1С и CRM-системой. Это 12 различных объектов (справочники, регистры, документы):

Для интеграции использовали DATAREON Platfrom. В Платформе есть сервис «Банк данных» для хранения пользовательских данных на MSSQL или PostgreSQL, и именно его мы задействовали, чтобы решить проблему дублей.
Основная идея — использовать банк данных внутри DATAREON как инструмент для контроля уникальности объектов.
Для начала мы создали таблицу в банке данных, где хранится соответствие идентификаторов между системами.

В этом кейсе в рамках пилота мы реализовали заполнение данной таблицы динамически, т. е. когда осуществляется передача объекта, мы записываем соответствие в банк данных. Но для реализации решения на проекте с целью безотказной работы необходимо будет прогрузить все публичные идентификаторы синхронизируемых объектов из баз 1С в Банк данных, для этого мы уже сделали обработку, которая выполняет эту функцию.
При отправке объекта (например, физлица) DATAREON обращается к банку данных и проверяет с помощью таблицы соответствий Банка данных, существует ли уже идентификатор этого объекта в системе-приемнике. Если идентификатор найден, он подставляется в объект, и дубли не создаются. Если идентификатора нет, выполняется сверка по комбинации ключевых полей (ФИО, дата рождения и др.), после чего новый объект добавляется в банк данных. Благодаря этому устраняются дубли на уровне Платформы.
Так схема для обработки реквизитов физического лица выглядит в DATAREON Platform.

Технически решение реализовано через стандартный функционал DATAREON: типы данных, обработчики и схемы с блоком «алгоритм». В рамках схемы предусмотрена логика поиска и записи соответствий в банк данных. Для обмена использовалась база MS SQL.
Результат
С помощью придуманной схемы и банка данных DATAREON Platform удалось полностью устранить дубли при синхронизации между 1С и CRM. Компания получила устойчивый механизм обмена, который масштабируется на все 12 баз «1С:ЗУП». Пилот подтвердил корректность подхода и стал основой для дальнейшего внедрения.
Выбор шины данных всегда сложный вопрос. Проект внедрения дорогой, ошибаться нельзя, поэтому мы всегда рекомендуем проводить пилоты. Все работы выполнялись на тотальных лицензиях. Стоимость пилота составила 500 тысяч рублей. Эти затраты позволили клиенту протестировать DATAREON и нас как подрядчика, принять взвешенное решение о выборе шины данных.
Вступайте в нашу телеграмм-группу Инфостарт
