Как устроен обмен Битрикс24 и МойСклад — общая картина
Этот раздел — не про то, какую галочку где поставить, а про то, что происходит внутри, когда менеджер сохраняет сделку или кладовщик меняет заказ. Если понимать механику, большинство вопросов «почему заказ не появился» и «откуда взялся дубль» решаются за минуту.
Обмен в одной картинке
Любое изменение — с какой бы стороны оно ни пришло — проходит через три звена: триггер, очередь и агент.
- Триггер замечает изменение. Со стороны Битрикс24 это событие CRM («сделку сохранили»), со стороны МойСклад — вебхук, то есть уведомление, которое МойСклад сам присылает на портал.
- Очередь получает задачу: «сделку № 1042 нужно выгрузить» или «заказ из МойСклад нужно загрузить». В задаче нет самих данных — только ссылка на запись.
- Агент берёт задачу, читает запись в её актуальном виде и переносит во вторую систему.
На практике это занимает секунды: модуль запускает задачу в фоне сразу после постановки, не дожидаясь расписания. Подробнее — в разделе Очередь.
Менеджер переводит сделку на стадию «Счёт выставлен» и нажимает «Сохранить». Битрикс24 сразу отвечает менеджеру, а модуль в фоне ставит задачу, находит или создаёт в МойСклад заказ покупателя с теми же товарами и выставляет ему статус, сопоставленный этой стадии. Через пару секунд заказ уже виден на складе.
Что с чем обменивается
Модуль работает с двумя парами сущностей — документами и контрагентами — и отдельно с оплатами:
| Битрикс24 | МойСклад |
|---|---|
| Сделка | Заказ покупателя или заказ поставщику |
| Контакт, компания | Контрагент (физлицо, ИП или юрлицо) |
| Оплата в сделке | Входящий платёж |
Подробная таблица — что такое каждая сущность и какие её части переносятся — на странице Сущности МойСклад и Битрикс24.
Что от чего зависит
Обмен — это цепочка: одни настройки не заработают без других. Ниже — что нужно, чтобы каждый участок действительно поехал.
- Без подключения к МойСклад не работает ничего. Если доступ пропал (сменили пароль, отозвали токен), очередь приостанавливается и ждёт — попытки задач при этом не тратятся. См. Подключение к МойСклад.
- Без вебхуков нет обратной стороны. Экспорт будет работать, но изменения, сделанные в МойСклад, в Битрикс24 не придут. См. Вебхуки МойСклад.
- Контрагенты нужны всегда. У заказа в МойСклад обязательно есть контрагент, поэтому клиент сделки переносится вместе со сделкой — даже если отдельный обмен контактами и компаниями выключен. Значит, поиск и типы контрагентов придётся настроить в любом случае. См. Контрагенты.
- Документу нужны поле типа документа и поля поиска. Пока в настройках документа не выбрано поле сделки с типом документа МойСклад и ни у одного поля поиска не включено «Сохранять соответствия», модуль этот документ не обменивает — он защищается от дублей. См. Заказ покупателя.
- Справочники — сотрудники, валюты, единицы измерения, ставки НДС — сопоставляются вручную. Без соответствия ответственный или валюта просто не переносятся. См. Справочники.
- Товары в заказе требуют каталога. Чтобы переносить товарные позиции, нужно включить обмен корзиной в настройках документа и указать на странице Корзина инфоблок торгового каталога и поля поиска товаров. См. Корзина.
- Оплаты живут только рядом с заказом покупателя. Обмен оплатами работает, когда включён обмен заказом покупателя и заказ уже есть в МойСклад. Для импорта оплат обязательна «Платёжная система по умолчанию». См. Оплаты.
Если какой-то обязательной настройки не хватает, модуль не показывает ошибку — он просто не обменивает эту запись, а задача в очереди завершается как «Выполнена». Причину пропуска ищите в Логах, а не в очереди.
Куда читать дальше
- Сущности МойСклад и Битрикс24 — что чему соответствует.
- Экспорт — как сделка из Битрикс24 попадает в МойСклад.
- Импорт — как изменения из МойСклад приходят в Битрикс24.
- Очередь — жизненный цикл задачи, повторы, агент.
- Как модуль находит пару — почему не появляются дубли и обмен не зацикливается.
- Ограничения — чего модуль сознательно не делает.