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

· 9 мин

Содержание

Связать Битрикс24 и 1С можно тремя путями: поставить готовое приложение «1С + Битрикс24» из Маркета портала, настроить обмен товарами и заказами по протоколу CommerceML или написать свой обмен через REST API Битрикс24 и HTTP-сервисы 1С. Готовое приложение закрывает типовой сценарий «товары из 1С → каталог и сделки в Битрикс24, заказы и оплаты обратно в 1С», и в 90% случаев начинать стоит именно с него.

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

Какой способ связи выбрать

Три рабочих варианта отличаются трудоёмкостью и гибкостью.

  • 🔌 Штатное приложение «1С + Битрикс24». Ставится из Маркета прямо в облачный или коробочный портал, подключается к базе 1С. Двусторонний обмен товарами, контрагентами, сделками, счетами и статусами оплаты. Настройка — без программирования.
  • 🛒 Обмен по CommerceML 2. Классический выгрузка-загрузка каталога и заказов через XML. Подходит, когда в 1С уже настроен «Обмен с сайтом» и нужно только добавить портал как точку обмена. Хорош для товаров и заказов, слабо подходит для воронки сделок.
  • 🧩 REST API Битрикс24 + HTTP-сервисы 1С. Свой обмен через вебхуки и OAuth-приложение. Максимальная гибкость: любые поля, своя логика, обмен по событию. Требует разработчика 1С и понимания REST-методов портала.

Если у вас типовая конфигурация (УТ 11, УНФ, Комплексная автоматизация, ERP) и стандартный набор данных — берите штатное приложение. REST пишут тогда, когда готовое решение не умеет нужного: например, переносить произвольные поля карточки сделки.

Отдельный коннектор от стороннего разработчика — тоже вариант, но он почти всегда представляет собой обёртку над теми же REST API или CommerceML. Смысл платить за него есть, если нужен обмен «из коробки» с нестандартной конфигурацией.

Коротко, по какому признаку выбирать:

  • нужен только каталог и остатки для интернет-магазина — хватит CommerceML;
  • нужна воронка сделок, звонки и счета в CRM — штатное приложение;
  • нужны произвольные поля карточки, обмен по событию, своя логика — REST API;
  • доработанная или редкая конфигурация без типового обмена — сторонний коннектор.

Что синхронизируется между системами

До настройки полезно зафиксировать, какие объекты в какую сторону ходят. Это убережёт от дублей и зацикленного обмена.

ОбъектНаправлениеКомментарий
Номенклатура (товары, услуги)1С → Битрикс24Цены, остатки, картинки, свойства
Контрагенты и контактыв обе стороныНужны правила разрешения конфликтов
Сделки / заказыБитрикс24 → 1СЗаказ в CRM становится документом в 1С
Счета и статусы оплатыв обе стороныОплата в 1С гасит счёт в портале
Статусы доставки/отгрузки1С → Битрикс24Чтобы менеджер видел стадию в CRM

Главное правило: у каждого объекта должна быть одна система-владелец. Если и 1С, и Битрикс24 правят цену товара, рано или поздно обмен затрёт нужное значение. Обычно владелец номенклатуры и остатков — 1С, а владелец воронки и переписки — Битрикс24.

Что подготовить до настройки

Перед первым запуском соберите доступы и приведите справочники в порядок.

  1. Права в портале. Нужен администратор Битрикс24 — только он ставит приложения из Маркета и создаёт вебхуки.
  2. Пользователь 1С для обмена. Заведите отдельного пользователя с правами на синхронизацию, а не обменивайтесь под главным бухгалтером. Так проще отследить, кто внёс изменения.
  3. Адрес публикации 1С. Для онлайн-обмена база 1С должна быть опубликована на веб-сервере (Apache или IIS) и доступна по HTTPS. Файловая база на рабочем столе бухгалтера для постоянного обмена не годится.
  4. Чистые справочники. Уберите дубли контрагентов и номенклатуры в 1С — при первом обмене они размножатся и в портале.

Перед первым полным обменом снимите резервную копию базы 1С. Первичная загрузка создаёт сотни или тысячи объектов, и откатить её вручную тяжело. Копия позволит начать заново, если правила сопоставления окажутся неверными.

Настройка на стороне Битрикс24

Логика одинакова для облака и коробки, отличаются только адреса.

Для штатного приложения:

  1. Откройте Маркет в левом меню портала, найдите приложение «1С + Битрикс24» (или «1С-Коннектор» в вашей редакции) и установите его.
  2. В настройках приложения укажите адрес опубликованной базы 1С и учётные данные пользователя обмена.
  3. Задайте соответствие воронок и стадий: какому статусу заказа в 1С отвечает стадия сделки в CRM.

Если идёте через REST API, приложение из Маркета не нужно — нужен входящий вебхук:

  1. В разделе разработчика портала (Разработчикам → вебхуки) создайте входящий вебхук.
  2. Отметьте права доступа : как минимум CRM (crm) и каталог (catalog), если переносите товары.
  3. Скопируйте URL вебхука вида https://ваш-портал.bitrix24.ru/rest/1/xxxxxxxx/ — его вы пропишете в 1С.

Вебхук привязан к конкретному пользователю. Создавайте его под сервисным аккаунтом, а не под живым менеджером: уволится сотрудник — обмен встанет.

Настройка обмена в 1С

В типовых конфигурациях обмен с сайтами и порталами живёт в блоке интеграции. В УТ 11 и Комплексной автоматизации это раздел НСИ и администрирование, внутри — группа настроек интеграции с сайтом; в 1С:УНФ обмен с Битрикс24 вынесен в раздел CRM / настройки продаж. Точное название пункта зависит от релиза, поэтому ориентируйтесь на слова «обмен с сайтом», «интеграция» или «Битрикс».

Порядок действий для штатного обмена:

  1. Включите флаг обмена с сайтом (интеграции) в настройках конфигурации — без него узел обмена создать нельзя.
  2. Создайте узел обмена: укажите адрес портала и пользователя, под которым приложение подключается к 1С.
  3. Настройте правила выгрузки: какие виды номенклатуры, с какими ценами и остатками уходят в портал.
  4. Сопоставьте поля. Это ключевой шаг — именно здесь задаётся, какое поле Битрикс24 ложится в какой реквизит 1С.

Сопоставление удобно продумать заранее:

Сопоставление полей
Товар (catalog)→Номенклатура
Цена сделки→Цена в заказе покупателя
Контакт/Компания→Контрагент
Сделка (deal)→Заказ клиента
Стадия сделки→Статус заказа
Статус оплаты→Оплачено по счёту

Для обмена через REST в 1С создают HTTP-сервис или регламентное задание, которое дёргает методы портала (crm.deal.list, crm.deal.add и аналогичные для товаров и контактов) по адресу вебхука. Это уже работа программиста: типовой конфигурацией такой обмен не настраивается галочками.

Первый запуск и расписание обмена

Не запускайте сразу автоматический обмен по всей базе.

  1. Сделайте пробный обмен на 5–10 позициях: ограничьте выгрузку одной группой номенклатуры и парой тестовых сделок.
  2. Проверьте в портале, что товары встали в нужный раздел каталога, а сделки — в правильную воронку.
  3. Убедитесь, что обратный заказ из Битрикс24 корректно создал документ в 1С и не задвоил контрагента.
  4. Только после этого снимайте ограничение и запускайте полный обмен.

Для постоянной работы обмен ставят на расписание через регламентное задание в 1С. Интервал подбирают по нагрузке: для розницы с живым потоком заказов — раз в 5–15 минут, для оптовой базы хватает раза в час. Слишком частый обмен на большой базе даёт лишнюю нагрузку, слишком редкий — менеджеры видят неактуальные остатки.

Регламентные задания выполняются только когда база запущена: в файловой базе — пока открыт сеанс, в клиент-серверной — пока работает сервер 1С. Для круглосуточного обмена нужна клиент-серверная база или постоянно поднятый фоновый сеанс.

Ошибки обмена: где смотреть и как чинить

При сбое первым делом открывают журнал регистрации 1С (Администрирование → Поддержка и обслуживание → журнал регистрации) и фильтруют по событиям обмена данными. Там видно, на каком объекте обмен упал и с какой формулировкой. На стороне портала статус последней синхронизации показывает само приложение в своих настройках.

Типовые проблемы и что с ними делать:

Диагностика: выберите симптом

Если ошибка повторяется на одном и том же объекте — выгрузите этот объект отдельно и разберите вручную. Чаще всего причина в пустом обязательном поле или в символах, которые портал не принимает.

Обмен при больших объёмах данных

На каталоге в десятки тысяч позиций обмен «всё сразу» не работает — он упирается в таймауты и память.

  • 📦 Делите выгрузку на пакеты. В настройках обмена задайте размер порции (например, по 500–1000 объектов за сеанс). Полная выгрузка пройдёт за несколько заходов регламентного задания, а не одним гигантским запросом.
  • 🔄 Переходите на обмен изменениями. После первичной полной выгрузки обменивайтесь только тем, что поменялось с прошлого сеанса. Типовой механизм обмена это умеет — обмен по регистрации изменений, а не полная перевыгрузка каждый раз.
  • 🗂 Выгружайте картинки отдельно. Изображения товаров — самая тяжёлая часть. Если каталог меняется часто, а картинки редко, разнесите их по разным заданиям.
  • ⏱ Разводите обмен и пиковую нагрузку. Полную ночную синхронизацию ставьте на время, когда в базе нет пользователей, чтобы не конкурировать за блокировки.

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

Для REST-обмена при больших объёмах используйте пакетные методы портала (batch) — они позволяют отправить до нескольких десятков команд одним запросом вместо сотен отдельных, что резко снижает число обращений и время обмена. Учитывайте и лимиты портала на частоту запросов: при превышении Битрикс24 временно отклоняет обращения, поэтому между пачками закладывают небольшую паузу, а не шлют запросы сплошным потоком.

Ещё один приём для тяжёлого каталога — не гонять через обмен то, что меняется редко. Разовые справочники (единицы измерения, ставки НДС, виды цен) достаточно синхронизировать один раз и дальше исключить из регулярного обмена. Чем меньше объектов в каждом сеансе, тем быстрее и предсказуемее он проходит, и тем проще найти виновника при сбое.

Частые вопросы

Нужна ли коробочная версия Битрикс24 или хватит облака?
Для штатного обмена хватает облачного портала — приложение из Маркета ставится и туда, и в коробку. Коробка нужна, если требуется прямой доступ к базе портала или особые требования к хранению данных на своём сервере.
Можно ли связать с Битрикс24 файловую базу 1С?
Технически да, но для постоянного онлайн-обмена файловая база неудобна: обмен идёт только пока открыт сеанс, а публикация файловой базы на веб-сервере работает нестабильно под нагрузкой. Для боевого обмена берите клиент-серверный вариант.
Что будет с данными при отключении обмена?
Уже перенесённые объекты останутся в обеих системах — они не удаляются. Прекратится только их дальнейшая синхронизация: правки в 1С перестанут доходить до портала и наоборот.
Как не получить дубли при повторной настройке?
Перед повторным обменом убедитесь, что правила сопоставления ищут существующие объекты по ключевому полю (ИНН для контрагентов, артикул или код для товаров). Без правила поиска обмен создаёт новые записи вместо обновления старых.
Поддерживают ли обмен Бухгалтерия или ЗУП?
Штатный обмен с Битрикс24 рассчитан на торговые и управленческие конфигурации — УТ, УНФ, Комплексную автоматизацию, ERP. В Бухгалтерии предприятия типового обмена сделками нет: туда данные обычно попадают уже из торговой базы.