Налаштування двосторонньої синхронізації 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С-Бітрікс

Двостороння синхронізація — технічно найскладніша схема обміну: зміни в будь-якій із систем повинні потрапити в іншу без втрати даних і без конфліктів версій. Стандартний CommerceML частково покриває це завдання (каталог із 1С + замовлення в 1С), але повноцінний двосторонній обмін вимагає чіткого визначення правил пріоритету.

Правила пріоритету — фундамент двостороннього обміну

До початку розробки відповісти на питання:

Поле Майстер-система Обґрунтування
Ціна Фінансовий облік у 1С
Залишки Складський облік у 1С
Опис товару Сайт SEO-контент пишеться на сайті
Фото товару Сайт Фотографії завантажуються в медіатеку сайту
Статус замовлення Замовлення виконується в 1С
Адреса доставки Сайт Покупець вводить на сайті
Реквізити покупця Юридично значимі дані в 1С

Порушення цих правил призводить до «мерехтіння» даних: 1С перезаписує опис → редактор виправляє → 1С знову перезаписує.

Реалізація через обробники подій

На стороні сайту — контроль полів при імпорті з 1С:

\Bitrix\Main\EventManager::getInstance()->addEventHandler(
    'iblock',
    'OnIBlockElementBeforeUpdate',
    function(\Bitrix\Main\Event $event) {
        $fields = $event->getParameter('fields');
        $elementId = $event->getParameter('id');

        // Отримати список захищених полів для цього елемента
        $protected = getProtectedFields($elementId);

        foreach ($protected as $fieldCode) {
            unset($fields[$fieldCode]);
        }

        return new \Bitrix\Main\EventResult(
            \Bitrix\Main\EventResult::SUCCESS,
            ['fields' => $fields]
        );
    }
);

Виявлення конфліктів

Конфлікт версій виникає, коли одне поле змінилося в обох системах між сеансами обміну. Виявлення через timestamp останньої зміни:

// Зберігати в доп. полі елемента час останнього оновлення з сайту
$lastSiteUpdate = $element['UF_LAST_SITE_UPDATE']; // timestamp
$lastExchangeUpdate = $element['UF_LAST_EXCHANGE_UPDATE']; // timestamp із 1С

if ($lastSiteUpdate > $lastExchangeUpdate) {
    // Поле змінювалося на сайті після останнього обміну — не перезаписувати
}

Кейс: двостороння синхронізація для дистриб'ютора

Компанія-дистриб'ютор, 15 000 SKU. 1С веде ціни та залишки, сайт — описи та SEO. Двічі на рік — переоцінка в 1С: змінюються ціни на 80% асортименту. До налаштування двостороннього обміну при переоцінці ціни оновлювалися, але одночасно перезаписувалися SEO-описи, написані копірайтерами.

Рішення: поле DETAIL_TEXT внесено до «захищеного списку» через користувацьку властивість UF_PROTECT_DESCRIPTION. При обміні обробник перевіряє прапор і пропускає перезапис опису, але застосовує оновлення ціни. Після впровадження — жодного випадку втрати SEO-контенту за 8 місяців експлуатації.

Синхронізація зображень

Зображення — окрема складність у двосторонньому обміні. Якщо 1С передає зображення через CommerceML (<Картинки>), а сайт має додаткову галерею з ретушованими фото:

  • Основне зображення (PREVIEW_PICTURE) — захистити, якщо є прапор «оброблено фотографом»
  • Додаткові зображення з 1С — додавати, але не видаляти фото з сайту

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

Завдання Термін
Двосторонній обмін із правилами пріоритету 2–4 дні
+ виявлення конфліктів версій +1–2 дні
+ двостороння синхронізація користувачів +1–2 дні