Настройка обмена сделок Битрикс24 и 1С
Сделка в Битрикс24 CRM — это воронка продаж и коммуникации с клиентом. В 1С — это заказ покупателя, счёт и реализация. Обмен сделками закрывает разрыв: менеджер ведёт клиента в Битрикс24, а бухгалтер оформляет документы в 1С без ручного переноса данных.
Типичный сценарий
- Менеджер создаёт сделку в Битрикс24, добавляет товары из каталога (продукты CRM).
- При переходе на стадию «Согласовано» — сделка автоматически попадает в 1С как заказ покупателя.
- В 1С бухгалтер создаёт счёт, проводит реализацию.
- Счёт и статус оплаты возвращаются в Битрикс24 — менеджер видит, оплачена ли сделка.
Что передаётся в сделке
Из Битрикс24 в 1С:
| Поле Битрикс24 | Сущность 1С |
|---|---|
TITLE |
Назначение заказа / комментарий |
CONTACT_ID → данные контакта |
Контрагент-физлицо |
COMPANY_ID → данные компании |
Контрагент-организация |
OPPORTUNITY |
Сумма заказа |
CURRENCY_ID |
Валюта |
Продукты сделки (crm.deal.productrows.get) |
Состав заказа (номенклатура) |
ASSIGNED_BY_ID |
Ответственный менеджер |
Из 1С в Битрикс24:
- Номер счёта и ссылка на PDF
- Статус оплаты (оплачен/частично/не оплачен)
- Дата отгрузки (факт)
- Трекинг-номер (если есть интеграция с доставкой)
Реализация: Битрикс24 → 1С
Обмен инициируется событием в Битрикс24. Два подхода:
Через вебхук на смену стадии. В настройках исходящих вебхуков подписываемся на событие ONCRMDEALSTAGECHAGE. При переходе сделки на нужную стадию — POST на обработчик.
Через бизнес-процесс. Шаблон БП в Битрикс24 настраивается на стадию «В работу». Действие «REST» в БП отправляет данные в HTTP-сервис 1С. Удобнее для сложных условий (например, только если сумма > N рублей).
Получение полных данных сделки:
crm.deal.get → crm.deal.productrows.get → crm.contact.get / crm.company.get
Передача в 1С — через HTTP POST к HTTP-сервису конфигурации. В 1С создаётся «Заказ покупателя» с составом из продуктов сделки. Номенклатура ищется по XML_ID (если продукты CRM синхронизированы с 1С) или по артикулу.
Маппинг продуктов
Продукты в каталоге CRM Битрикс24 и номенклатура 1С — две разные базы. Варианты синхронизации:
-
Простой маппинг по артикулу. При передаче сделки ищем номенклатуру в 1С по артикулу из поля
PROPERTY_ARTNUMBERпродукта CRM. -
Синхронизированный каталог. Номенклатура 1С выгружается в каталог CRM Битрикс24 через REST API
crm.product.add. XML_ID продукта CRM = ID номенклатуры 1С. При передаче сделки — прямой маппинг по XML_ID.
Второй вариант надёжнее, но требует настройки синхронизации каталога.
Реализация: 1С → Битрикс24
При изменении статуса заказа или создании счёта в 1С — обработка отправляет данные в Битрикс24:
// В 1С при проведении счёта
ДанныеЗапроса = Новый Соответствие;
ДанныеЗапроса.Вставить("DEAL_ID", IDСделкиБиткрикс24);
ДанныеЗапроса.Вставить("UF_CRM_INVOICE_NUMBER", НомерСчёта);
ДанныеЗапроса.Вставить("UF_CRM_INVOICE_URL", URLПDFСчёта);
// HTTP-запрос к crm.deal.update
Статус оплаты — через crm.deal.update на поле UF_CRM_PAYMENT_STATUS (пользовательское поле, созданное заранее).
Счёт из 1С в Битрикс24
Если нужен PDF счёта в карточке сделки, 1С:
- Формирует PDF счёта
- Загружает на Битрикс.Диск через
disk.file.uploadbyurlили прямой upload - Прикрепляет к сделке через
crm.deal.updateили добавляет в комментарий
Контроль дублей
При двустороннем обмене важно хранить перекрёстные идентификаторы:
- В сделке Битрикс24 — пользовательское поле
UF_CRM_1C_ORDER_IDс ID заказа 1С - В заказе 1С — реквизит «ID сделки Битрикс24»
Это позволяет при повторной синхронизации обновить существующий заказ, а не создавать новый.







