Собственные разработки в реестре российского ПО Санкт-Петербург · работаем по всей России
ГлавнаяБлогБитрикс24 и 1С
Интеграции

Как связать Битрикс24 и 1С и не сломать учет

Что синхронизировать, кто становится главной системой и что делать с ошибками обмена.

Запрос звучит коротко: «свяжите нам Битрикс24 и 1С». За этой фразой прячутся очень разные задачи — от выгрузки одного справочника до полноценного двустороннего обмена по заказам и оплатам. Разница в трудоемкости между ними десятикратная, а последствия ошибок ложатся на учет, который потом придется разбирать бухгалтерии. Ниже — как мы такие связки проектируем и на что смотреть заказчику.

Сначала решите, кто главный по каждому объекту

Это главное проектное решение, и его нельзя отложить на потом. Для каждого типа данных должна быть одна система-источник, где запись создается и правится, и вторая, которая ее принимает и не меняет.

Рабочее распределение такое:

  • Номенклатура, цены, остатки — источник 1С. В Битрикс24 они приходят для подбора в сделку и не редактируются вручную.
  • Клиенты и лиды — источник Битрикс24. Новый контрагент рождается в работе менеджера и уходит в учет, когда доходит до документов.
  • Счета и реализации — как правило, 1С, поскольку там нумерация, НДС и печатные формы.
  • Оплаты — только 1С, банк грузится туда. В Битрикс24 они приходят исключительно на чтение.

Двусторонняя правка одного и того же поля с обеих сторон — самая частая причина того, что через месяц цифрам никто не верит. Если избежать ее нельзя, нужен явный приоритет: чья запись побеждает при одновременном изменении. Молчаливое «победит последний» приводит к тому, что менеджер затирает исправление бухгалтера и наоборот.

Что синхронизировать не нужно

Соблазн перенести все велик, и его стоит гасить на старте. Каждый объект в обмене — это код, который надо поддерживать, и еще один источник расхождений.

Не нужно тянуть в Битрикс24 бухгалтерские проводки, регистры, документы движения материалов, полную историю за десять лет и внутреннюю аналитику учета. Менеджер по продажам не принимает решений на их основе, а объем и нагрузка растут заметно. Обратно в 1С не стоит выгружать лиды, переписку, задачи и все, что не превращается в документ.

Хороший критерий: объект попадает в обмен, если без него на другой стороне нельзя выполнить конкретное действие. Не «может пригодиться для отчетности», а «менеджер не сможет собрать заказ».

Дубли контрагентов: как не получить базу-помойку

Это боль почти каждого проекта. В 1С контрагент заведен по уставным реквизитам, в CRM — так, как назвал клиент по телефону. При первом обмене одна и та же компания легко превращается в три записи, и дальше расхождение только растет.

Что помогает:

  • сопоставление по ИНН и КПП как основному ключу, а не по наименованию;
  • хранение внешнего идентификатора: в каждой записи лежит ссылка на ее пару в другой системе, и повторный обмен обновляет, а не создает;
  • чистка справочника до первого обмена, а не после — переносить дубли и потом разбирать их в двух системах вдвое дороже;
  • правило для физлиц и клиентов без реквизитов: либо они не уходят в учет вовсе, либо уходят в одного обобщенного контрагента.

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

Как устроен обмен технически

Вариантов немного. Штатные механизмы обмена закрывают типовой сценарий с товарами и заказами и требуют минимум работы, но плохо переносят нестандартные конфигурации. Обмен через REST на стороне Битрикс24 и HTTP-сервисы на стороне 1С дает полный контроль над составом и правилами, но это уже разработка. Готовые решения из маркетплейса стоят между этими вариантами: быстрее, чем писать, но набор объектов и полей ограничен тем, что предусмотрел автор.

Выбор зависит в первую очередь от того, насколько сильно доработана ваша конфигурация 1С. Типовая с минимальными правками — есть шанс обойтись малой кровью. Самописная или переписанная до неузнаваемости — планируйте разработку, иначе получится дорогая переделка готового решения.

По режиму: обмен по расписанию с интервалом в несколько минут закрывает большинство задач. Мгновенная синхронизация нужна реже, чем кажется, и стоит дороже — ее имеет смысл делать точечно для того, что действительно должно уходить сразу, например для факта оплаты.

Ошибки обмена: их будет много

Обмен ломается регулярно, и это нормальное состояние системы, а не признак плохой работы. Сервер 1С перезагрузили, поле обязательное с одной стороны и пустое с другой, контрагент помечен на удаление, номенклатура заведена с непроходящим кодом. Проект отличается от неудачного не отсутствием ошибок, а тем, что с ними происходит дальше.

Минимальный набор, который должен быть в любой интеграции:

  • журнал обмена с текстом ошибки и данными записи, а не просто отметкой о сбое;
  • повторная попытка для временных сбоев связи, чтобы каждый разрыв сети не требовал участия человека;
  • уведомление ответственному, если ошибки копятся или обмен не проходил дольше заданного времени;
  • возможность запустить обмен по одной записи вручную, не дожидаясь общего расписания.

Без этого набора обмен превращается в черный ящик: данные расходятся тихо, а обнаруживается это в конце месяца при сверке. Кто и как быстро реагирует на ошибки, лучше зафиксировать в договоре на сопровождение — на живой системе это регулярная задача, а не разовая.

Порядок работ

Практика показывает такую последовательность. Сначала аудит: смотрим конфигурацию 1С, состав справочников, объемы и то, какие процессы упрутся в обмен. Затем описываем состав по каждому объекту: направление, ключ сопоставления, частота, что делать при конфликте. Дальше настройка на тестовом контуре с копией реальных данных — на выдуманных примерах несостыковки не всплывают. Потом ограниченный запуск на части номенклатуры или одном подразделении, и только затем полный.

Отдельно предупредим про сроки. Связка с типовой конфигурацией и понятными справочниками — это недели. Проект с чисткой данных, доработанной 1С и сложными правилами — месяцы, и большая часть времени уходит не на код, а на согласование того, что считать правдой. Если параллельно наводится порядок в складском учете или в продажах, планируйте это как отдельный этап, а не как побочный эффект интеграции.

Автор статьи
Даниил Иванов Ведущий аналитик бизнес-процессов, СИР Технологии
Настроим обмен между системами

Опишем состав обмена, направления и правила сопоставления, соберем журнал ошибок и передадим с инструкцией. Аудит бесплатный.

Позвонить Telegram-канал