Налаштування двосторонньої синхронізації 1С та 1С-Бітрікс

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

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

Часті запитання

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1460
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1019
  • 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
    763
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    882
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    809
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1164

Налаштування двосторонньої синхронізації 1С та 1С-Бітрікс

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

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

До початку розробки потрібно відповісти на питання: яка система майстер для кожного поля? Це критично, оскільки за відсутності чітких правил система не знає, яке значення вважати істинним при конфлікті. Ми пропонуємо таблицю пріоритетів, засновану на 150+ реальних проєктах, де двосторонній обмін працює надійно:

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

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

Чому двостороння синхронізація викликає конфлікти?

Конфлікт версій виникає, коли одне поле змінилося в обох системах між сеансами обміну. Власний обробник гнучкіший за стандартний агент у 3–5 разів, оскільки дозволяє точково контролювати кожне поле. Ми виявляємо конфлікти через timestamp останньої зміни, що зберігається в користувацьких властивостях елемента.

// Хранить в доп. поле элемента время последнего обновления с сайта $lastSiteUpdate = $element['UF_LAST_SITE_UPDATE']; // timestamp $lastExchangeUpdate = $element['UF_LAST_EXCHANGE_UPDATE']; // timestamp из 1С if ($lastSiteUpdate > $lastExchangeUpdate) { // Поле изменялось на сайте после последнего обмена — не перезаписывать } 

Механізми синхронізації та обробка помилок

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

  1. Логування всіх транзакцій — кожна зміна записується в окрему таблицю з часом, статусом (успіх/помилка) і текстом помилки. Це допомагає діагностувати проблеми.

  2. Черга завдань (Job Queue) — зміни в 1С не проходять одразу. Вони ставляться в чергу з повторними спробами: якщо перша спроба синхронізації впала (наприклад, елемент не знайдено), система повторить через 5 хвилин, потім через 15, потім через годину.

  3. Відкат при конфлікті — якщо виявлено конфлікт версій (обидва поля змінилися), система створює запис у системі завдань і чекає рішення адміністратора замість сліпого перезапису.

  4. Мапування даних — ми явно вказуємо, яке поле 1С відповідає якому полю Бітрікса. Нестандартні поля (користувацькі властивості) мають бути описані в конфігурації.

Як захистити поля при імпорті з 1С?

На стороні сайту — контроль полів через обробники подій. Це швидше та надійніше, ніж редагувати XML-схему CommerceML. Приклад коду:

// Защита полей от перезаписи при импорте из 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] ); } ); 

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

Компанія-дистриб'ютор, 15 000 SKU. Наш клієнт використовує 1С для цін і залишків, сайт — для описів і SEO. Двічі на рік — переоцінка в 1С, змінюються ціни на 80% асортименту. До налаштування двостороннього обміну при переоцінці ціни оновлювалися, але одночасно перезаписувалися SEO-описи, написані копірайтерами. Ми внесли поле DETAIL_TEXT у «захищений список» через користувацьку властивість UF_PROTECT_DESCRIPTION. Після впровадження — жодного випадку втрати SEO-контенту за 8 місяців експлуатації. Досвід показує, що такий підхід підходить для 90% проєктів.

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

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

  • захищаємо основне зображення (PREVIEW_PICTURE) флагом «оброблено фотографом»;
  • додаємо нові фото з 1С, не видаляючи існуючі.

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

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

Що входить у вартість роботи

  • Налаштування правил пріоритету та мапування полів.
  • Реалізація механізму виявлення конфліктів версій.
  • Логування та черга повторних спроб.
  • Документація з описом схеми обміну.
  • Надання доступів до довідкових матеріалів.
  • 2 години навчання для вашої команди.
  • 1 місяць технічної підтримки після запуску.

Про нашу компанію

Ми — команда інтеграторів із 5-річним досвідом на ринку. За цей час виконали понад 150 проєктів зі складними обмінами даних. Використовуємо перевірені методи, зокрема алгоритми виявлення конфліктів з версійним контролем, що дозволяє уникнути втрати даних. Економія часу на налагодженні обміну — до 30% порівняно з типовими рішеннями.

Бажаєте отримати консультацію щодо вашого проєкту? Оцінимо терміни та складність безкоштовно. Зв'яжіться з нами — ми допоможемо налаштувати обмін без втрати даних.