Настройка обмена товарных позиций Битрикс24 и 1С
Когда менеджер выставляет коммерческое предложение или счёт в Битрикс24, он выбирает товары из каталога CRM. Этот каталог — отдельная сущность, никак не связанная с 1С по умолчанию. Актуальные цены, остатки, новые позиции — всё это нужно синхронизировать вручную или настроить автоматический обмен.
Каталог товаров в CRM Битрикс24
CRM-каталог хранится в таблицах b_crm_product (позиции) и b_crm_product_section (разделы). Это не тот же каталог, что используется в модуле интернет-магазина sale — это отдельная структура, специфичная для CRM. Доступ через REST: crm.product.list, crm.product.get, crm.product.add, crm.product.update.
Каждый товар имеет поля: NAME, PRICE, CURRENCY_ID, DESCRIPTION, XML_ID. Поле XML_ID — ключевое для синхронизации: именно через него устанавливается соответствие между позицией в CRM и номенклатурой в 1С.
Направление обмена
Обычно обмен идёт в одну сторону: 1С → Битрикс24. 1С является мастер-системой для номенклатуры и цен, CRM получает обновления. Обратный обмен (менеджер добавил товар в CRM — появился в 1С) встречается редко и требует дополнительной бизнес-логики.
Что передаётся из 1С в Битрикс24:
| Данные | Комментарий |
|---|---|
| Наименование товара | Как отображается в КП и счёте |
| Артикул / XML_ID | Идентификатор для сопоставления |
| Цена (одна или несколько типов цен) | Розница, опт, дилер |
| Единица измерения | шт, кг, м и т.д. |
| Раздел/группа | Структура каталога |
| Признак активности | Снятые с продажи товары |
Остатки в CRM-каталог обычно не передаются — они нужны в каталоге интернет-магазина, а не в CRM.
Механизм синхронизации
Вариант 1: REST API. Скрипт или сервис на стороне 1С (через внешний компонент обмена) вызывает методы Битрикс24:
-
crm.product.listс фильтром поXML_ID— проверить, существует ли товар. -
crm.product.update— обновить цену и данные существующего. -
crm.product.add— добавить новый товар.
Пакетные операции выполняются через batch-запросы REST API (до 50 методов в одном запросе), что ускоряет синхронизацию больших каталогов.
Вариант 2: Штатный модуль 1С-Битрикс24. Используется CommerceML-выгрузка из 1С. В этом случае синхронизируется каталог интернет-магазина (если он есть), а CRM-каталог может наполняться из него через дополнительный скрипт — компонент обмена создаёт/обновляет записи в b_crm_product на основе данных из b_iblock_element.
Типы цен
Если в 1С несколько типов цен (розница, опт), в Битрикс24 CRM также можно хранить несколько цен через свойства товара или через прайс-листы модуля каталога. Для CRM-сделок используется только базовая цена товара — менеджер меняет её вручную в позиции. Если нужны автоматические типы цен в CRM, потребуется доработка.
Периодичность обмена
- Каталог и цены — раз в день достаточно для большинства бизнесов. Если цены меняются несколько раз в день — каждые 1-2 часа.
-
Запуск — через агенты Битрикс (
\CAgent::AddAgent) или cron.
Настройка обмена товарных позиций занимает 4-8 часов при чистом каталоге с корректными XML_ID в 1С.







