Представьте: ERP генерирует XML с 120 тыс. позиций, 4,5 ГБ — и PHP-обработчик Битрикс падает через 300 секунд. Знакомая ситуация? Это реальный кейс нашего клиента — завода строительных материалов. Такое случается, когда стандартный CommerceML не справляется с сериями, характеристиками и множественными единицами измерения. Настройка обмена между 1С:ERP и 1С-Битрикс требует глубокого понимания обеих систем, иначе синхронизация номенклатуры, цен и заказов превращается в головную боль. Мы специализируемся именно на таких нестандартных интеграциях, и за 50+ проектов выработали подход, гарантирующий стабильный обмен без потерь данных.
Какие проблемы решает настройка обмена?
Множественные единицы измерения. В ERP номенклатура продаётся в штуках, упаковках и поддонах одновременно. CommerceML передаёт базовую единицу, остальные — через ЕдиницыИзмерения в XML. Модуль Битрикс читает только базовую, если не доработан обработчик OnIBlockElementAdd / OnIBlockElementUpdate.
Характеристики и варианты. В ERP «характеристика» — это разрез номенклатуры (цвет, размер, артикул поставщика). В Битрикс это торговые предложения. Стандартный обмен создаёт SKU, но теряет связи при вложенных значениях или тысячах вариантов — XML-файл разрастается до гигабайт, и обмен падает по таймауту.
Серии и партии. CommerceML не имеет тега для серий — их приходится передавать через ДополнительныеРеквизиты и обрабатывать кастомным обработчиком.
Как мы настраиваем обмен: пошаговая инструкция
- Аудит конфигурации ERP: выясняем структуру номенклатуры, наличие серий, партий, доп. реквизитов. Проверяем версию ERP и настройки узла обмена.
- Настройка ERP: указываем URL сайта, параметры авторизации, фильтр номенклатуры (организация, склад, вид цены), включаем передачу характеристик, единиц измерения, серий. Задаём расписание регламентного задания.
- Настройка Битрикс: в модуле «Обмен данными с 1С» выбираем тип обмена «Каталог + Торговый каталог», включаем режим «Не обновлять привязку к группам» (если есть ручные привязки), настраиваем соответствие свойств:
ДополнительныеРеквизиты→ свойства инфоблока. - Доработка обработчиков: пишем обработчики событий для чтения дополнительных полей, логирования конфликтов цен и исключения дублей.
- Тестирование на копии БД: запускаем полный и инкрементальный обмен, проверяем корректность всех данных.
- Мониторинг и поддержка: после переключения на production настраиваем логирование и алерты.
Почему стандартный обмен CommerceML не подходит для ERP?
Стандартный модуль 1С-Битрикс (bitrix.catalog) рассчитан на типовую конфигурацию «1С:Управление торговлей». В 1С:ERP много нестандартных подсистем: серийный учёт, партии, сложная организационная структура. Как пишет в документации 1С-Битрикс: «Для нестандартных конфигураций требуется доработка модуля обмена». Мы это подтверждаем на практике — каждый проект требует индивидуальной настройки.
Как обеспечить надёжную архитектуру обмена?
Для ERP с каталогом от 50 тыс. позиций рекомендуется разделить полный и инкрементальный обмен:
| Тип обмена | Периодичность | Содержимое |
|---|---|---|
| Полный | 1 раз в сутки (ночь) | Вся номенклатура, группы, характеристики |
| Остатки + цены | Каждые 15–30 мин | Только изменённые записи |
| Заказы (→ ERP) | Каждые 5 мин | Новые и изменённые заказы из Битрикс |
Инкрементальный обмен в 30 раз быстрее полного, так как передаёт только дельту.
Что делать при типичных ошибках?
| Ошибка | Причина | Решение |
|---|---|---|
| Дубли номенклатуры | GUID не совпадают: перегенерировались после восстановления ERP | Сверить XML_ID в b_iblock_element с GUID тестовой выгрузки |
| Обмен не стартует | Кодировка: ERP отдаёт windows-1251, Битрикс ждёт UTF-8 | Проверить заголовок Content-Type HTTP-ответа |
| Таймаут | Гигантский XML (4+ ГБ) | Включить zip-архивирование; установить max_execution_time = 0 и memory_limit = 2048M для cron |
Кейс: интеграция ERP производственного предприятия (из нашей практики)
Наш клиент — завод строительных материалов, 120 тыс. позиций номенклатуры, 4 склада. Проблема: полный обмен генерировал XML 4,5 ГБ, PHP-обработчик Битрикс падал через 300 секунд.
Решение в три шага:
-
На стороне ERP настроили передачу только «активной» номенклатуры (фильтр по реквизиту «Публиковать на сайте»). Объём сократился до 800 МБ.
-
Включили режим побочного чтения файла (zip-архивирование в настройках узла): ERP пакует XML в zip, Битрикс распаковывает на лету. Время передачи упало в 3 раза.
-
В
php.iniдля cron-процесса задалиmax_execution_time = 0иmemory_limit = 2048M. Обмен полный — 18 минут, инкрементальный — 40 секунд.
Дополнительно: написали обработчик события OnIBlockElementBeforeUpdate для логирования конфликтов — когда менеджер на сайте изменил цену вручную, а ERP пытается её перезаписать. Конфликты пишутся в отдельную таблицу, ежедневный отчёт уходит технологу.
Что входит в настройку обмена?
- Аудит конфигурации 1С:ERP
- Настройка узла обмена в ERP и модуля обмена в Битрикс
- Доработка обработчиков событий для нестандартных полей
- Тестирование на копии БД
- Документация и обучение ваших менеджеров
- Поддержка после запуска (1 месяц)
Сроки и стоимость
Типовой проект занимает 3–8 рабочих дней. Точный срок зависит от объёма номенклатуры и количества нестандартных сущностей. Для оценки вашей конфигурации свяжитесь с нами — мы проанализируем задачу и предложим решение.
У нас 10+ лет опыта в интеграции 1С и Битрикс. Мы выполнили более 50 проектов, от небольших интернет-магазинов до крупных производственных предприятий. Закажите настройку обмена, и ваши данные будут синхронизированы без ошибок. Свяжитесь с нами для аудита вашей конфигурации — мы подготовим индивидуальное решение.







