После настройки обмена важно не просто увидеть «Обмен завершён», а проверить, что каталог, цены и остатки на сайте действительно совпадают с 1С. Ниже — практический чек-лист контроля выгрузки в 1С-Битрикс: от чтения логов до точечной сверки конкретных товаров.
Зачем проверять выгрузку, даже если обмен «прошёл успешно»
Статус success в результате сеанса означает лишь, что скрипт отработал без фатальной ошибки. Он не гарантирует, что на сайт приехали все товары, что цены встали в нужный тип и что остатки распределились по складам корректно. Обмен CommerceML — это последовательность шагов (авторизация, приём файлов, импорт каталога, импорт предложений), и частичный сбой на любом из них часто не роняет весь процесс.
Типичные «тихие» дефекты, которые обмен не считает ошибкой:
- часть товаров выгрузилась в статусе «не активен» (снятие с публикации по правилу выгрузки);
- цены пришли в другой тип цен и не отобразились в нужной колонке;
- торговые предложения (SKU) отвязались от родительского товара;
- остатки нулевые из-за несопоставленных складов;
- дубли товаров из-за смены
XML_IDв 1С.
Начинаем с логов обмена
Первый источник правды — журналы. В админке 1С-Битрикс это Магазин → Настройки → Торговый каталог → Импорт данных 1С и раздел Рабочий стол → Обмен с 1С, где видны сеансы, их статусы, время и переданный объём данных. Обращайте внимание на строки о количестве обработанных элементов: если в 1С 12 000 номенклатур, а импортировано 9 500, часть данных потерялась.
Технический лог обмена лежит в файле /bitrix/exchange_log/ и по каждому шагу пишет сообщения вида import.xml, offers.xml. Ошибки парсинга, нехватка памяти (Allowed memory size exhausted) и таймауты видны именно здесь. Дополнительно проверьте, что не включён вечный режим отладки — файл лога способен разрастись до гигабайтов.
Разбор выгруженного XML
Файлы, которые 1С кладёт на сайт, физически лежат в /bitrix/php_interface/xml_import/ (или в каталоге, указанном в настройках). Ключевые из них — import.xml (каталог, свойства, группы) и offers.xml (торговые предложения, цены, остатки). Их стоит открыть и сверить с тем, что показывает сайт.
На что смотреть в XML:
<Ид>— это будущийXML_IDв Битрикс; он должен быть стабильным между выгрузками;- блок
<Цены>— соответствие<ИдТипаЦены>вашим типам цен на сайте; - блок
<Склад>и<Остатки>— распределение по складам; - атрибуты
СтатусОбмена="Удален"— товары, помеченные к удалению.
Если XML валиден и содержит нужные данные, а на сайте их нет — проблема в импорте (сопоставление, права, настройки). Если данных нет уже в XML — проблема на стороне 1С (обработка, отбор номенклатуры, план обмена).
Что именно сверять: контрольные точки
Полную выгрузку вручную не проверить, но по каждой группе данных есть быстрые контрольные метрики. Удобно свести их в таблицу и пройтись сразу после обмена.
| Что проверяем | Как | Признак проблемы |
|---|---|---|
| Количество товаров | Число элементов инфоблока против номенклатуры в 1С | Расхождение > допустимого отбора |
| Цены | Открыть 3–5 товаров, сверить типы и значения | Пустая или нулевая цена, не тот тип |
| Остатки | Сравнить с отчётом «Остатки» в 1С | Везде 0 или отрицательные |
| Торговые предложения | Проверить привязку SKU к товару | Оффер без родителя, дубли |
| Свойства | Сверить характеристики, бренд, артикул | Пустые обязательные поля |
| Картинки | Визуально на карточке товара | Битые ссылки, нет изображений |
Для товаров без цены или остатка удобно построить фильтр в списке элементов инфоблока: например, показать позиции, где цена не заполнена — это сразу выявит массовую проблему сопоставления типов цен.
Дубли и стабильность XML_ID
Самая частая причина «размножения» каталога — смена XML_ID. Битрикс сопоставляет товары 1С и сайта именно по этому идентификатору (GUID из 1С). Если в 1С товар пересоздали, свернули дубли или перенесли базу, GUID меняется — и при следующем обмене Битрикс считает его новым товаром, создавая копию.
Как диагностировать:
- Найдите визуальные дубли в каталоге по названию или артикулу.
- Сравните их
XML_IDв детальной карточке — у дублей он будет разным. - Проверьте в
offers.xml, не поменялись ли<Ид>у проблемных позиций между двумя выгрузками.
Автоматизация контроля
Ручная сверка хороша для разовой диагностики, но регулярный обмен стоит поставить на автоматический мониторинг. Практичные приёмы:
- Контроль количества. Скрипт на агенте (
CAgent) сравнивает число активных элементов до и после обмена и шлёт уведомление при просадке больше порога. - Событие после импорта. Обработчик
OnSuccessCatalogImport1Cпозволяет запустить постпроверку сразу по завершении сеанса. - Отчёт по «пустым» товарам. Регулярная выборка позиций без цены или остатка с выгрузкой в письмо ответственному.
- Мониторинг лога. Проверка файла
/bitrix/exchange_log/на ключевые словаerror,memory,timeout.
Такой набор превращает проверку из ручного ритуала в фоновый процесс, который сам сообщает, когда выгрузка «поехала».
Проверка на тестовой площадке
Любые изменения в правилах выгрузки — новые свойства, смену типов цен, доработку обработки в 1С — безопаснее проверять не на бою. Разверните копию сайта и настройте обмен с тестовой базой 1С или с отбором по одной группе номенклатуры. Так вы увидите результат импорта без риска перезаписать боевой каталог некорректными данными.
Минимальный сценарий теста: выгрузить небольшой отбор товаров, сверить XML и карточки, затем прогнать полную выгрузку и сравнить итоговые количества. Если на тесте цены, остатки и привязки SKU корректны — изменения можно переносить в продакшн.
Итог
Корректность выгрузки из 1С проверяется в несколько слоёв: сначала логи и статусы сеансов, затем разбор import.xml и offers.xml, потом точечная сверка количества товаров, цен, остатков, торговых предложений и свойств. Отдельно контролируйте стабильность XML_ID — это главный источник дублей. Регулярный обмен разумно поставить на автоматический мониторинг, а рискованные изменения обкатывать на тестовой площадке.
Если обмен «прошёл успешно», а каталог всё равно расходится с 1С, мы в B2Bsite поможем локализовать причину — от настроек сопоставления до доработки обработки в 1С — и настроим прозрачный контроль выгрузки, чтобы расхождения ловились до того, как их увидят покупатели.
Частые вопросы
Обмен показывает «success», но новых товаров на сайте нет. Почему?
Скорее всего товары импортировались неактивными или не прошли сопоставление групп. Проверьте статус активности элементов и настройки правил выгрузки, а также число обработанных позиций в логе.
Где физически лежат выгруженные из 1С файлы?
По умолчанию в каталоге обмена на сайте, например /bitrix/php_interface/xml_import/. Основные файлы — import.xml для каталога и offers.xml для торговых предложений, цен и остатков.
Почему после обмена появились дубли товаров?
Почти всегда из-за смены XML_ID (GUID) в 1С: Битрикс сопоставляет товары по нему и создаёт копию, если идентификатор изменился. Нужно стабилизировать GUID в 1С, затем удалить дубли и повторить выгрузку.
Как проверить, что цены выгрузились в нужный тип?
Откройте offers.xml и сверьте ИдТипаЦены с настройкой соответствия типов цен на сайте, затем проверьте 3–5 карточек товаров вручную. Пустая цена обычно означает несопоставленный тип.
Остатки везде нулевые — в чём причина?
Чаще всего не сопоставлены склады 1С и сайта либо в выгрузке не включён блок остатков. Проверьте блок Склад и Остатки в offers.xml и настройку соответствия складов.
Можно ли автоматически отслеживать сбои выгрузки?
Да. Настраивают агент, который сравнивает количество активных товаров до и после обмена, и обработчик события OnSuccessCatalogImport1C для постпроверки. При просадке отправляется уведомление.
Как безопасно проверить изменения в правилах выгрузки?
На копии сайта с тестовой базой 1С или с отбором по одной группе номенклатуры. Так результат импорта виден без риска перезаписать боевой каталог некорректными данными.
Лог обмена пустой — это нормально?
Нет, это признак проблемы с правами на запись в каталог обмена. Без лога вы не увидите реальных ошибок, поэтому сначала нужно выдать права и убедиться, что журнал наполняется.
Поможем с настройкой и поддержкой 1С-Битрикс: Управление сайтом
Поможем с настройкой, доработкой и поддержкой 1С-Битрикс: Управление сайтом.