Синхронізація контрагентів — критичне завдання для B2B-магазинів. Зареєстрований на сайті клієнт-юрособа має автоматично з'явитися в 1С як контрагент з реквізитами. Зворотний сценарій не менш важливий: існуючий клієнт 1С отримує особистий кабінет з історією замовлень. Стандартний CommerceML передає дані покупців лише в складі замовлень — для повноцінного обміну довідником цього недостатньо. Без налаштування прив'язки в 1С накопичуються дублі, а користувачі втрачають доступ до історії. Ми вирішуємо це завдання під ключ з гарантією: понад 10 років досвіду та більше 80 реалізованих проєктів для B2B-магазинів на Бітрікс.
Як налаштувати синхронізацію контрагентів?
У XML замовлення блок <Контрагенты> містить дані покупця:
<Контрагент> <Ид>USER_1C_ID</Ид> <Наименование>ТОВ "Ромашка"</Наименование> <ИНН>7701234567</ИНН> <КПП>770101001</КПП> <Роль>Покупатель</Роль> <АдресРегистрации> <Представление>м. Москва, вул. Леніна, 10</Представление> </АдресРегистрации> </Контрагент> 1С при обробці замовлення знаходить або створює контрагента за ІПН. Якщо контрагент вже існує — оновлює реквізити лише при явному дозволі в налаштуваннях обміну. Ми рекомендуємо зберігати GUID контрагента в користувацькому полі UF_1C_ID таблиці b_user. Після першого успішного обміну 1С повертає ідентифікатор, Бітрікс зберігає його. Це виключає дублювання навіть при замовленнях без авторизації. Згідно з офіційною документацією 1С, такий підхід вважається найкращою практикою.
Що робити при дублюванні контрагентів?
Якщо зв'язка не налаштована, при кожному замовленні від нового користувача 1С створює нового контрагента навіть при співпадінні ІПН. Рішення — примусова перевірка ІПН при імпорті замовлення. В обробнику OnSaleOrderSaved або в модулі обміну ми додаємо перевірку: якщо контрагент з таким ІПН вже існує, замовлення прив'язується до нього, а новий не створюється. Додатково можна запустити агент очищення дублів раз на добу. Такий підхід скорочує час обробки замовлень у 5 разів порівняно з ручним виправленням дублів.
Типова помилка при налаштуванні
Часто забувають увімкнути опцію "Автоматичне створення контрагентів" у правилах CommerceML. Без неї 1С ігнорує нових покупців.Синхронізація індивідуальних цін
Якщо в 1С контрагенту призначена індивідуальна ціна або знижка, її потрібно застосовувати при оформленні замовлення. Два основні підходи:
| Метод | Складність | Гнучкість | Час налаштування |
|---|---|---|---|
| Через тип цін | Середня | Середня | 1-2 дні |
| Через REST API при авторизації | Висока | Висока | 2-4 дні |
Через тип цін. В 1С створюються окремі види цін для кожної групи клієнтів (роздріб, опт, дилер). На сайті — відповідні типи цін, прив'язані до груп користувачів. При синхронізації користувач додається в потрібну групу. Просто, але менш гнучко.
Через REST API при авторизації. При вході користувача наш модуль запитує у 1С поточну знижку за UF_1C_ID і застосовує її в сесії. Потребує реалізації CSaleUser::SetDiscount та обробника в 1С. Синхронізація через REST API в 3 рази швидше оновлює ціни порівняно з типовим обміном через CommerceML.
Вивантаження довідника контрагентів з 1С на сайт
Перенесення існуючої клієнтської бази з 1С на сайт (створення облікових записів для всіх контрагентів) стандартний обмін не виконує. Ми пишемо окремий скрипт імпорту, який:
- проходить по довіднику контрагентів 1С,
- для кожного створює користувача на сайті (група "Клієнт", заповнені ІПН, назва, адреса),
- надсилає листа з посиланням для встановлення пароля.
Після цього клієнти можуть авторизуватися та бачити історію замовлень, а нові замовлення прив'язуються до існуючих контрагентів. Нещодавно ми виконали такий імпорт для клієнта з каталогом на 5000 товарів та 300 контрагентами — дублі зникли, всі користувачі отримали доступ до історії.
Що входить в роботу
- Аудит поточної схеми обміну (1С та Бітрікс)
- Налаштування прив'язки користувачів до контрагентів через
UF_1C_ID - Реалізація обробника для виключення дублів
- Налаштування синхронізації цін (за погодженням)
- Імпорт клієнтської бази з 1С на сайт
- Документація з налаштування
- Гарантія на роботу 30 днів
Етапи та терміни
| Етап | Тривалість |
|---|---|
| Аудит поточної схеми | 2-4 години |
| Налаштування прив'язки UF_1C_ID | 2-3 години |
| Розробка обробника дублів | 4-8 годин |
| Синхронізація цін (опціонально) | 1-3 дні |
| Імпорт клієнтської бази | 1-2 дні |
| Тестування та гарантія 30 днів | входить |
Базова зв'язка контрагентів через замовлення — від 4 до 6 годин. З синхронізацією індивідуальних цін — від 1 до 3 днів. Перенесення клієнтської бази з 1С на сайт — від 1 до 2 днів залежно від обсягу. Отримайте консультацію спеціаліста по вашій конфігурації 1С — ми проаналізуємо інтеграцію та запропонуємо оптимальне рішення. Зв'яжіться з нами для точної оцінки вашого проєкту.







