Синхронизация 1С и CRM перестаёт плодить дубли, когда заранее решены три вещи: у каждого поля есть владелец, у каждого объекта — ключ сопоставления, у каждого изменения — подтверждённая доставка. Пока этих правил нет, обмен данными превращается в гонку двух систем, где каждая считает свои значения верными и перезаписывает другую.
Рабочая схема собирается из нескольких простых механизмов: закрепление поля за одной системой, устойчивый ключ для контактов и сделок, очередь изменений с повторной доставкой, разрешение конфликтов по правилу владельца и обязательная сверка после обмена. Дальше — как устроить каждый из них и что для этого понадобится от вашей ИТ-службы.
Синхронизация 1С и CRM: когда нужен двусторонний обмен
Односторонняя выгрузка закрывает задачу, если вторая система только читает: например, раз в день забирает из 1С обороты для отчёта руководителю. Двусторонний обмен нужен, когда данные создаются и правятся в обеих системах. Типовой случай: клиент заведён менеджером в CRM, а договор, счёт и статус оплаты ведутся в 1С, и каждая сторона должна видеть актуальную картину.
До проектирования обмена проверьте интерфейс именно в вашем тарифе и контуре: доступны ли в 1С OData, HTTP-сервисы или API чтения, открыт ли REST API в CRM, какие лимиты задаёт поставщик и что разрешает политика ИБ. Если безопасного интерфейса нет, остаются два рабочих пути — файловый обмен по расписанию через согласованную папку или промежуточный модуль вне 1С. Эти варианты разобраны в материале про интеграцию ИИ с 1С и CRM.
Владелец поля: кто вправе менять значение
Главное правило бездублейности: у каждого поля один владелец, и только он пишет значение. Вторая система поле читает. Как только одно и то же поле становится редактируемым в двух местах, расхождение неизбежно — вопрос лишь во времени.
Практическое распределение выглядит так:
- Реквизиты контрагента — ИНН, КПП, юридическое наименование, банковские данные: владелец 1С, CRM получает их в карточку контакта или компании.
- Контактные данные и работа менеджера — телефоны, почта, ответственный, комментарии, задачи, позиция сделки в воронке: владелец CRM.
- Финансовый результат — суммы документов, отгрузки, оплаты, задолженность, статус заказа: владелец 1С.
- Служебные поля обмена — внешний идентификатор объекта в чужой системе, отметка о последней успешной передаче: принадлежат самому обмену и не редактируются вручную.
Запись при этом по умолчанию выключена. Она включается точечно, только для согласованных операций, и каждая такая операция подтверждается человеком или идёт по заранее утверждённому правилу.
Ключи сопоставления: как системы понимают, что объект один
Дубль появляется там, где системы не договорились, как узнать один и тот же объект. Если сопоставление построено на наименовании клиента или названии компании, «ООО Ромашка», «Ромашка ООО» и «Ромашка, ООО» превратятся в три записи.
Рабочие ключи сопоставления:
- Для организации — ИНН + КПП. Это самый устойчивый ключ для российского юридического лица.
- Для предпринимателя и физического лица — ИНН либо заранее согласованный набор нормализованных реквизитов.
- Для сделки и документа — технический идентификатор: идентификатор сделки в CRM хранится отдельным реквизитом в 1С и наоборот. Два внешних идентификатора в связке дают однозначное соответствие.
- Для контакта — связка «внешний идентификатор + нормализованный телефон или почта» как резервный ключ, но не как единственный.
Отдельно проговорите правило обновления ключа: он создаётся один раз и не меняется. Если ключ потерялся, объект считается новым, и именно так в обмен попадают дубли. Хранить ключи нужно в служебных реквизитах, недоступных для ручного редактирования.
Очередь изменений и повторная доставка
Прямая запись «по событию» в обе системы хрупка: если одна из систем в этот момент недоступна, изменение теряется. Поэтому изменения кладут в очередь и доставляют отдельно от их создания.
У такой очереди есть четыре обязательных свойства. Первое — идентификатор события, благодаря которому повторная обработка не создаёт вторую запись. Второе — повторная доставка: при сбое связи операция возвращается в очередь и выполняется после восстановления. Третье — журнал: каждое обращение к системе фиксируется с временем, объектом, результатом и ссылкой на исходное событие. Четвёртое — откат: при ошибке на середине обмена частично записанные данные возвращаются в исходное состояние, а не остаются висеть полузаполненными.
Практический признак готовности: вы в любой момент можете ответить на вопрос, когда, что и в какую систему было отправлено и чем закончилась каждая попытка.
Конфликты и подтверждение человеком
Конфликт возникает, когда одно поле меняется в обеих системах до того, как обмен успел завершиться. Разрешают его тремя способами: правило владельца поля (изменение в не-владельце отклоняется), правило времени (побеждает более поздняя правка, но только внутри поля, где обе системы имеют право писать) и эскалация к сотруднику, когда правило неприменимо.
Пример сценария, а не опубликованный кейс. Менеджеры работают в CRM, расчёты ведутся в 1С. Внешний ключ сделки хранится в 1С, ключ контрагента — ИНН + КПП. Владельцы полей распределены так: сумма договора и статус оплаты живут в 1С, комментарии и следующий шаг по сделке — в CRM. Менеджер правит сумму прямо в карточке, пока в 1С уже выставлен счёт на прежнюю сумму. Обмен не принимает правку в CRM как новую сумму, потому что это поле принадлежит 1С, а отправляет менеджеру уведомление с расхождением. Сотрудник смотрит цифры и либо вносит корректировку в 1С, либо возвращает менеджеру прежнее значение. Ни одна запись не перезаписывается молча, и дубль не возникает.
Точки подтверждения человеком стоит держать именно там, где цена ошибки высока: запись в 1С, изменение суммы, смена ответственного, объединение дублей.
Что нужно для старта: данные, доступы и этапы
От заказчика нужны три группы вещей. Данные: какие объекты участвуют в обмене (контрагенты, контакты, сделки, документы, статусы), где какое поле правится на практике и кто за него отвечает. Доступы: отдельная учётная запись для обмена с минимальными правами в каждой системе, сетевой доступ с сервера к интерфейсу, согласованный перечень операций записи. Секреты хранятся отдельно от кода и не попадают в репозиторий. Решения ИТ и ИБ: где работает система — на вашем сервере или арендованной площадке в России, какие классы данных допустимы для внешних моделей, какие операции агент выполняет сам, а какие ждут подтверждения.
Работа идёт шагами, и каждый заканчивается результатом, который остаётся у вас: описание процесса, оценка, договор и доступы, сборка, проверка типовых, ошибочных и рискованных сценариев, запуск и сопровождение. Подробно этапы собраны в разделе порядок внедрения и журнал работ, а состав работ и часы считаются по открытому прайсу — без скрытых позиций.
Как проверить результат после обмена
Сверка — не разовая проверка, а регулярная процедура. Практический набор контрольных точек такой:
- Количество объектов в каждой системе по сопоставленным ключам: сколько связок «1С ↔ CRM» образовано и сколько записей осталось без пары.
- Список кандидатов в дубли: совпадения по ИНН, по телефону, по наименованию с разной пунктуацией.
- Расхождения по полям-владельцам: где значение в системе-читателе не совпадает с эталонным.
- Очередь на текущий момент: сколько событий не доставлено, какова причина и возраст старейшего события.
- Журнал ошибок: частые причины отказов, повторные попытки, операции, ушедшие на подтверждение человеку.
Эти пять отчётов закрывают большинство вопросов руководителя после запуска. Их же имеет смысл собрать в один отчёт по расписанию, чтобы расхождения были видны до того, как о них сообщит менеджер.
Вопросы о синхронизации 1С и CRM
Что делать, если дубли уже накопились в обеих системах? Сначала останавливают обмен и фиксируют снимок данных, чтобы расхождения не росли. Затем строят таблицу соответствий по ключу сопоставления, объединяют записи в каждой системе по своим правилам и только после этого включают обмен обратно.
Нужно ли дорабатывать конфигурацию 1С, чтобы наладить обмен? Обычно обходятся без правок конфигурации: используют OData, HTTP-сервисы и стандартные интерфейсы обмена. Если их нет или они закрыты политикой безопасности, ставят промежуточный модуль вне 1С или настраивают файловый обмен по расписанию.
Как понять, какая система главная при расхождении данных? Главной считают не систему, а поле: у каждого поля назначается один владелец, чьи значения считаются эталонными. Вторая система это поле только читает, и тогда расхождение разрешается однозначно.
Что происходит, если CRM или 1С временно недоступна? Изменения остаются в очереди и доставляются повторно после восстановления связи. Повторная доставка безопасна, если каждая операция помечена уникальным идентификатором события и при повторе не создаёт вторую запись.
Какие доступы нужны для обмена данными между 1С и CRM? Отдельная учётная запись с минимальными правами в каждой системе, сетевой доступ к интерфейсу обмена и право записи только для согласованных операций. Секреты хранят отдельно от кода, перечень прав согласуют с ИТ и службой ИБ до старта.
Синхронизация 1С и CRM без дублей — это не одна настройка, а набор договорённостей о владельцах полей, ключах, очереди и сверке, закреплённых в коде и в регламенте. Начните с одного контура и одной группы объектов: опишите, какие данные сейчас правятся вручную и в какой системе живёт эталон. Ответ с оценкой первого шага и составом работ по услугам автоматизации и интеграций можно запросить через контакты для описания задачи, а примеры решённых задач смотрите в разделе реализованные проекты.
Частые вопросы
Что делать, если дубли уже накопились в обеих системах?
Сначала останавливают обмен и фиксируют снимок данных, чтобы расхождения не росли. Затем строят таблицу соответствий по ключу сопоставления, объединяют записи в каждой системе по своим правилам и только после этого включают обмен обратно.
Нужно ли дорабатывать конфигурацию 1С, чтобы наладить обмен?
Обычно обходятся без правок конфигурации: используют OData, HTTP-сервисы и стандартные интерфейсы обмена. Если их нет или они закрыты политикой безопасности, ставят промежуточный модуль вне 1С или настраивают файловый обмен по расписанию.
Как понять, какая система главная при расхождении данных?
Главной считают не систему, а поле: у каждого поля назначается один владелец, чьи значения считаются эталонными. Вторая система это поле только читает, и тогда расхождение разрешается однозначно.
Что происходит, если CRM или 1С временно недоступна?
Изменения остаются в очереди и доставляются повторно после восстановления связи. Повторная доставка безопасна, если каждая операция идемпотентна и помечена уникальным идентификатором события.
Какие доступы нужны для обмена данными между 1С и CRM?
Отдельная учётная запись с минимальными правами в каждой системе, сетевой доступ к интерфейсу обмена и право записи только для согласованных операций. Секреты хранят отдельно от кода, перечень прав согласуют с ИТ и службой ИБ до старта.
Официальные материалы по теме
Для терминов, возможностей интерфейсов и требований безопасности используем первичные материалы разработчиков и профильных организаций.
