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

Для начала специалисты создали таблицу в банке данных, где хранится соответствие идентификаторов между системами.

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

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