Налаштування обміну угод Бітрикс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", URLPDFРахунку);
// 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»
Це дозволяє при повторній синхронізації оновити існуюче замовлення, а не створити нове.







