Когда обмен CommerceML не работает, сайт и 1С перестают говорить на одном языке: товары, цены или остатки не обновляются.

Проблема может проявляться по-разному: обмен висит, падает на одном файле, импортирует только часть каталога или каждый раз создает дубли.

Коротко: нужно проверить авторизацию обмена, XML-файлы, логи, таймауты, права на временные файлы и соответствие полей каталога.

Почему возникает проблема

CommerceML чувствителен к объему данных, кодировке, структуре XML, настройкам PHP, правам на папки и изменениям в 1С. Даже одно новое поле или товар с некорректным значением может остановить весь импорт.

Что проверить сначала

  • проходит ли авторизация обмена
  • какой XML-файл вызывает ошибку
  • размер файлов и лимиты PHP
  • права на папку временного импорта
  • есть ли дубли и конфликтующие идентификаторы

Как я подхожу к исправлению

Я разбираю обмен по шагам: авторизация, загрузка файла, распаковка, разбор XML, запись в базу и обновление остатков.

  • снимаю логи обмена на стороне сайта
  • проверяю ответы на команды 1С
  • нахожу проблемный XML-узел
  • исправляю маппинг или обработчик импорта
  • тестирую обмен на малой партии и полном каталоге

Что подготовить перед работой

  • доступ к сайту и 1С-обмену
  • пример файла import.xml или offers.xml
  • лог последнего обмена
  • что именно не обновляется: товары, цены, остатки
  • когда проблема появилась

Какой результат нужен

Рабочий обмен должен проходить предсказуемо, показывать ошибки в логах и не ломаться из-за одного проблемного товара.

Чего лучше не делать

Не увеличивайте таймауты бесконечно. Если импорт не потоковый или запросы к базе неоптимальны, проблема вернется при росте каталога.

FAQ

Можно ли чинить без доступа к 1С?

Часть проблем видна на сайте, но для полной диагностики нужен хотя бы лог обмена и пример XML.

Почему обмен работает вручную, но не по расписанию?

У cron могут быть другие права, лимиты PHP или путь к временным папкам.

Что делать с дублями товаров?

Нужно проверить идентификаторы, правила сопоставления и историю старых импортов.

Можно ли ускорить обмен?

Да, через пакетную обработку, индексы, очереди и отказ от лишних операций на каждую строку.

Нужна похожая задача?

Напишите в Telegram @rabotator_support или оставьте заявку на сайте. Коротко опишите проблему, приложите ссылку, скриншот или лог ошибки, и я подскажу, с чего безопасно начать исправление.

Итог

CommerceML лучше чинить не общими настройками, а по конкретному шагу, где обмен ломается: авторизация, файл, XML, база или бизнес-правила.