Когда обмен 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, база или бизнес-правила.