Налаштування обміну замовленнями між 1С та 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування обміну замовленнями між 1С та 1С-Бітрікс
Проста
~1 робочий день
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування обміну замовленнями між 1С та 1С-Бітрікс

Обмін замовленнями — двосторонній процес: сайт передає нові замовлення в 1С, 1С повертає оновлені статуси. Ключове питання при налаштуванні — маппінг статусів замовлень між системами, який у кожному проекті унікальний. Помилковий маппінг веде до того, що покупець бачить застарілий статус або, що гірше, отримує повідомлення «Замовлення виконано», поки товар ще на складі.

Передача замовлень з сайту в 1С

Замовлення передаються у форматі CommerceML у XML-файлі orders.xml. 1С забирає файл при черговому сеансі обміну. Налаштування на стороні Бітрікс:

Налаштування → Налаштування продуктів → Інтернет-магазин → Обмін замовленнями:

  • Вивантажувати замовлення: увімкнути
  • Статуси для вивантаження: вибрати статуси, які повинні потрапляти в 1С. Зазвичай «Новий» (N) та «Оплачений» (P). Скасовані та завершені замовлення передавати не потрібно — вони створюють зайве навантаження
  • Період: з дати останнього обміну — найбезпечніший варіант, не передає повторно вже оброблені замовлення

У XML замовлення передаються: реквізити покупця, позиції з кількістю та цінами, обрана доставка, властивості замовлення (адреса, телефон, коментар).

Маппінг статусів

Статуси в 1С та на сайті називаються по-різному і не завжди відповідають один до одного. Стандартний маппінг налаштовується в:

Магазин → Налаштування → Статуси замовлень → [статус] → Ідентифікатор в 1С

Приклад типового маппінгу для УТ 11:

Статус в 1С Код статусу Бітрікс Опис
В роботі P Прийнято, передано в обробку
Підготовлено до відвантаження D Комплектується / Готово
Передано кур'єру F Доставляється
Виконано FF Доставлено, закрито
Скасовано клієнтом C Скасовано

Без правильного маппінгу 1С при оновленні статусу створить у журналі помилку «Невідомий статус», і оновлення не застосується.

Типові проблеми

Дублювання замовлень. Якщо сеанс обміну перервався після передачі файлу, але до отримання підтвердження від 1С — при наступному сеансі замовлення передадуться повторно. Захист: унікальний ідентифікатор замовлення в XML збігається з ACCOUNT_NUMBER сайту, 1С перевіряє наявність документа перед створенням.

Втрата властивостей замовлення. Нестандартні властивості (UTM-мітки, промокод, тип клієнта) не передаються через стандартний XML. Додаються через обробник події OnSaleOrderExport1C. Після додавання властивості переконатися, що в 1С реквізити для їх зберігання створені.

Розбіжність сум. 1С перераховує знижки за своїми правилами та отримує іншу підсумкову суму. Рішення: передавати підсумкові ціни позицій вже з урахуванням знижки, а знижку — як окремий рядок у позиціях замовлення.

Обмін замовленнями в реальному часі через події

Якщо потрібно, щоб замовлення потрапляло в 1С одразу при оформленні (без очікування наступного сеансу обміну) — використовувати REST API 1С або HTTP-запит в обробнику події OnSaleOrderSaved:

\Bitrix\Main\EventManager::getInstance()->addEventHandler(
    'sale',
    'OnSaleOrderSaved',
    function(\Bitrix\Main\Event $event) {
        $order = $event->getParameter('ENTITY');
        if ($order->isNew()) {
            \MyProject\Exchange\OrderPusher::push($order->getId());
        }
    }
);

Терміни налаштування

Налаштування обміну замовленнями з маппінгом статусів — 4–8 годин. З нестандартними властивостями та обробниками — 1–2 дні. З push-відправленням замовлень у реальному часі — +1 день.