
На связи Сергей Скирдин, технический директор ИТ-интегратора «Белый код». Прямая интеграция 1С и CRM или разных баз 1С может давать сбои. Например, в одном из недавних проектов у заказчика при стандартном обмене задваивались данные. Мы придумали, как решить проблему с помощью сервиса внутри DATAREON Platform. Короткий кейс, который показывает, как использовать возможности «посредника» для решения не совсем типовых задач.
Заказчик: инжиниринговый холдинг, занимается энергетическим и промышленным строительством, автоматизацией и системной интеграцией.
Задача: настроить интеграцию между базами 1С и CRM-системой «Первая Форма», исключив при этом дубли.
«Первая Форма» — система для управления бизнес-процессами, проектами и документами, а также для организации эффективных коммуникаций.
С чем обратился заказчик
В инфраструктуре организации 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 и нас как подрядчика, принять взвешенное решение о выборе шины данных. Если у вас есть сложные задачи по интеграции 1С с «Первой Формой», Б24 или любой другой системой, пишите, решим вопрос.
Уже полтора года я изучаю российские ESB-решения и платформы. Общаюсь напрямую с вендорами и создаю детальные технические обзоры. Недавно выпустил большой документ «Обзор российских ESB-решений», где собраны полезные материалы и все готовые обзоры. Будет интересно ИТ-директорам, архитекторам, разработчикам. Про DATAREON Platform там, кстати, тоже есть обзор.
Также для всех, кто интересуется шинами данных, я создал сообщество в Телеграме «Шины не для машины». Это площадка для диалога между российскими разработчиками ESB и компаниями, которым нужна интеграционная шина. Если вы хотите узнать больше о DATAREON Platform, «1С:Шине», Factor-ESB и других отечественных решениях, вступайте в сообщество и задавайте вопросы.