Настройка обмена 1С:ERP Управление предприятием и 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка обмена 1С:ERP Управление предприятием и 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1177
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • 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 Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка обмена 1С:ERP Управление предприятием и 1С-Битрикс

Типичная ситуация: ERP ведёт многоуровневую структуру номенклатуры с характеристиками, сериями, партиями, несколькими единицами измерения — и всё это нужно передать на сайт так, чтобы карточка товара выглядела разумно, а цены и остатки обновлялись без задержек. Стандартный модуль обмена 1С-Битрикс (bitrix.catalog) с CommerceML 2.08 умеет большую часть из этого, но 1С:ERP — конфигурация нестандартная, и «из коробки» почти никогда не работает корректно.

Где ломается стандартный обмен с ERP

Множественные единицы измерения. В ERP номенклатура может продаваться в штуках, упаковках и поддонах одновременно. CommerceML передаёт базовую единицу, остальные — через ЕдиницыИзмерения в XML. Модуль Битрикс читает только базовую, если не доработан обработчик OnIBlockElementAdd / OnIBlockElementUpdate.

Характеристики и варианты. В ERP «характеристика» — это разрез номенклатуры (цвет, размер, артикул поставщика). В Битрикс это торговые предложения (SKU). Стандартный обмен создаёт SKU, но теряет связи, если характеристики в ERP имеют вложенные значения или если у одной номенклатуры тысячи вариантов — XML-файл разрастается до нескольких гигабайт, и обмен падает по таймауту.

Серии и партии. В ERP серийный учёт — отдельная подсистема. CommerceML 2.08 не имеет стандартного тега для серий. Их приходится передавать через ДополнительныеРеквизиты и читать на стороне Битрикс кастомным обработчиком.

Организационная структура. ERP работает с несколькими организациями и складами. Битрикс ожидает склады как Склад с GUID в XML. Если в ERP несколько складов с разными остатками — нужна явная маппинг-таблица «склад ERP → склад Битрикс».

Архитектура надёжного обмена

Для ERP с каталогом от 50 тыс. позиций рекомендую разделить полный и инкрементальный обмен:

Тип обмена Периодичность Содержимое
Полный 1 раз в сутки (ночь) Вся номенклатура, группы, характеристики
Остатки + цены Каждые 15–30 мин Только изменённые записи
Заказы (→ ERP) Каждые 5 мин Новые и изменённые заказы из Битрикс

Полный обмен ночью снимает нагрузку с сервера. Инкрементальный — через ДатаИзменения в запросе ERP: выгружаются только объекты, изменённые с момента последней успешной сессии.

Настройка на стороне ERP. В узле обмена веб-сервиса ERP (раздел Интеграция с сайтом) необходимо:

  • Указать URL сайта и параметры авторизации
  • Настроить фильтр номенклатуры (организация, склад, вид цены)
  • Включить передачу характеристик, единиц измерения, серий
  • Задать расписание регламентного задания

Настройка на стороне Битрикс. В модуле Обмен данными с 1С (/bitrix/admin/1c_exchange.php):

  • Тип обмена: Каталог + Торговый каталог
  • Включить режим «Не обновлять привязку к группам» (при наличии ручных привязок на сайте)
  • Настроить соответствие свойств: ДополнительныеРеквизиты → свойства ИБ

Кейс: интеграция ERP производственного предприятия

Клиент — завод строительных материалов, 120 тыс. позиций номенклатуры, 4 склада. Проблема: полный обмен генерировал XML 4,5 ГБ, PHP-обработчик Битрикс падал через 300 секунд.

Решение в три шага:

  1. На стороне ERP настроили передачу только «активной» номенклатуры (фильтр по реквизиту «Публиковать на сайте»). Объём сократился до 800 МБ.

  2. Включили режим побочного чтения файла (zip-архивирование в настройках узла): ERP пакует XML в zip, Битрикс распаковывает на лету. Время передачи упало в 3 раза.

  3. В php.ini для cron-процесса задали max_execution_time = 0 и memory_limit = 2048M. Обмен полный — 18 минут, инкрементальный — 40 секунд.

Дополнительно: написали обработчик события OnIBlockElementBeforeUpdate для логирования конфликтов — когда менеджер на сайте изменил цену вручную, а ERP пытается её перезаписать. Конфликты пишутся в отдельную таблицу, ежедневный отчёт уходит технологу.

Типичные ошибки при первом запуске

GUID не совпадают. ERP и Битрикс идентифицируют объекты по XML_ID (GUID). Если в ERP была пересборка или восстановление из бэкапа — GUID перегенерировались, и Битрикс создаст дубли вместо обновления существующих записей. Перед запуском обмена сверьте XML_ID в b_iblock_element с GUID тестовой выгрузки.

Кодировка. ERP выгружает UTF-8, но старые версии веб-сервиса могут отдавать windows-1251. Битрикс ожидает UTF-8. Симптом: кракозябры в названиях или ошибка парсинга XML. Проверяйте заголовок Content-Type HTTP-ответа.

Большие изображения. ERP может передавать изображения прямо в XML (base64). При тысячах позиций файл разрастается неприемлемо. Настройте в ERP передачу изображений отдельным пакетом или отключите передачу изображений через обмен — загружайте их отдельным скриптом.

Сроки и состав работ

Типовой проект по настройке обмена ERP ↔ Битрикс: 3–8 рабочих дней в зависимости от объёма номенклатуры и количества нестандартных сущностей (серии, партии, доп. реквизиты). Отдельно — тестирование на копии БД перед переключением production.