К статье
Практический материал

Торговля и Склад · 10 мин

Почему из 1С в Битрикс выгружается только 5 товаров и как это исправить

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

При обмене данными между 1С и 1С-Битрикс на сайт может попасть всего 5 товаров вместо полного каталога. Чаще всего виноваты ограничение отбора в настройках обмена, лимит позиций в одном пакете выгрузки, фильтрация по признакам номенклатуры, недостаточные права пользователя обмена либо ошибки в самой выгрузке, из-за которых файл обрывается на первых позициях.

Важно понимать, что «5 товаров» — это не магическое ограничение системы, а симптом конкретной проблемы. В большинстве случаев обмен либо настроен с жёстким отбором, либо выгрузка прерывается ошибкой, и до сайта доходит только первая порция данных. Реже виноваты настройки самого сайта, который просто не показывает остальные позиции.

Ниже разобраны основные причины, способы диагностики и пошаговые действия для исправления. Инструкции применимы к типовому обмену «1С:Управление торговлей» (или ERP, КА) с «1С-Битрикс: Управление сайтом» через стандартный модуль обмена.

Как устроен обмен и где возникает ограничение

Стандартный обмен между 1С и сайтом работает по протоколу CommerceML: 1С формирует XML-файлы (import.xml для каталога, offers.xml для предложений и цен), передаёт их на сайт пакетами, а Битрикс их разбирает и записывает в инфоблоки. На каждом из этапов есть точки, где количество товаров может быть «обрезано».

Логика диагностики простая: нужно определить, на каком этапе теряются товары. Если в самом файле import.xml только 5 позиций — проблема на стороне 1С (отбор, права, ошибка выгрузки). Если в файле товаров много, а на сайте появляется 5 — проблема на стороне Битрикса (настройки инфоблока, деактивация элементов, ошибки импорта).

Причина 1. Ограничение отбора в настройках обмена

Самая частая причина — в настройках узла обмена задан отбор, который пропускает лишь малую часть номенклатуры. Откройте в 1С настройку обмена с сайтом (раздел «Администрирование» → «Обмен с сайтами» или «Интеграция с сайтом», в зависимости от конфигурации) и проверьте вкладку отбора товаров.

Типичные фильтры, которые режут выгрузку: отбор по конкретной группе номенклатуры, по складу, по типу цен, по признаку «выгружать на сайт», по остаткам больше нуля. Если в каталоге тысячи позиций, а под условия попадает пять — именно они и уйдут на сайт. Проверьте также, не включён ли режим «выгружать только изменения», если при этом признак изменения проставлен не у всех товаров.

Проверка отбора в 1С
  1. 1
    Откройте настройку обмена с сайтом в 1С
  2. 2
    Перейдите на вкладку отбора товаров (условия выгрузки)
  3. 3
    Снимите или расширьте ограничения: группы, склады, типы цен, признаки
  4. 4
    Сохраните настройку и выполните полную выгрузку
  5. 5
    Проверьте количество товаров в файле import.xml и на сайте

Причина 2. Выгрузка прерывается ошибкой после первых позиций

Вторая по частоте причина — обмен падает с ошибкой в самом начале. Например, у шестого по счёту товара некорректная картинка, слишком длинное наименование, недопустимые символы в реквизите или проблема с единицей измерения. 1С формирует пакет, передаёт его, а на следующем шаге обмен завершается аварийно. На сайте остаются только успевшие выгрузиться позиции.

Диагностируется это по журналу обмена. В 1С откройте журнал регистрации или протокол обмена (кнопка «Протокол» в форме обмена) и найдите последнюю ошибку. На стороне Битрикса смотрите логи импорта в административном разделе и, при необходимости, включите подробное логирование обмена в настройках модуля «Интернет-магазин + 1С».

Причина 3. Лимиты сервера и размер пакетов

Если каталог большой, а на хостинге стоят жёсткие ограничения по времени выполнения скрипта (max_execution_time) и памяти, импорт на стороне Битрикса может обрываться на первом пакете. Внешне это выглядит так же: на сайте несколько товаров, остальные «не доехали».

Что сделать: в настройках обмена в 1С уменьшите размер пакета (например, выгружать по 20–50 товаров за раз) и включите режим пошаговой выгрузки, если он доступен. На стороне сайта попросите хостинг-провайдера или администратора увеличить лимиты PHP для процесса импорта. Также проверьте свободное место на диске — при его нехватке импорт обрывается без явных ошибок.

Причина 4. Товары выгружаются, но не отображаются на сайте

Иногда обмен отрабатывает полностью, но посетитель видит только 5 товаров. Причины на стороне Битрикса: элементы импортированы в деактивированном состоянии, попали не в тот инфоблок или раздел, у них не заполнена цена или остаток, а компонент каталога настроен показывать только товары с ценой и наличием.

Проверьте в административной панели: Контент → Инфоблоки → нужный каталог. Отфильтруйте элементы, включая неактивные, и сравните количество с тем, что выгружала 1С. Если товары есть, но неактивны — смотрите настройки обмена: в модуле обмена есть опции деактивации элементов при отсутствии в выгрузке или при нулевом остатке.

Контрольные точки

Как проверить результат

Количество позиций в файле import.xml
Норма

Совпадает с ожидаемым числом товаров по отбору

Тревожный признак

Только несколько позиций — проблема в настройках 1С

Количество элементов в инфоблоке (включая неактивные)
Норма

Совпадает с числом в файле выгрузки

Тревожный признак

Элементов меньше — импорт обрывается на сайте

Активность и привязка к разделам
Норма

Элементы активны и в нужных разделах

Тревожный признак

Элементы деактивированы или без раздела

Цены и остатки у товаров
Норма

Заполнены и актуальны

Тревожный признак

Пустые — проверяйте выгрузку предложений и типов цен

Причина 5. Права пользователя и особенности режима обмена

Обмен выполняется от имени конкретного пользователя — и в 1С, и на сайте. Если у пользователя 1С ограничены права на чтение части номенклатуры (RLS, ограничение на уровне записей), в выгрузку попадут только доступные ему товары. Проверьте, под каким пользователем работает обмен, и есть ли у него полные права на справочник номенклатуры, склады и цены.

Отдельный случай — режим «выгружать только изменения». Если регистрация изменений в плане обмена сбита (например, после восстановления базы из копии или ручной чистки регистрации), 1С считает, что менялись лишь несколько товаров. Решение — выполнить полную выгрузку: в форме обмена выберите режим полной выгрузки данных либо снимите и заново зарегистрируйте изменения для всех объектов узла.

Типичные ошибки при диагностике
01
Смотреть только на витрину сайта, не проверяя инфоблок с неактивными элементами — товары могут быть выгружены, но скрыты
02
Многократно перезапускать обмен, не читая протокол — одна и та же ошибка воспроизводится, а время теряется
03
Менять настройки на сайте, когда проблема в отборе 1С — после первого же обмена всё вернётся к прежнему состоянию
04
Игнорировать файл выгрузки — анализ import.xml сразу показывает, на чьей стороне проблема

Пошаговый алгоритм поиска и устранения проблемы

Чтобы не гадать, действуйте последовательно от источника к приёмнику. Сначала зафиксируйте факт: сколько товаров должно выгружаться по условиям отбора (можно проверить отчётом по номенклатуре с теми же фильтрами). Затем сравните это число с содержимым файла выгрузки, а потом — с содержимым инфоблока.

Если расхождение между отбором и файлом — чините настройки обмена, права и данные товаров в 1С. Если файл полный, а инфоблок пустой — работайте с лимитами сервера, размером пакетов и логами импорта Битрикса. Если инфоблок полный, а витрина пустая — настраивайте компонент каталога и проверяйте активность элементов.

Маршрут решения

Как выбрать действие

В import.xml только несколько товаровПроверяйте отбор, права пользователя обмена и ошибки в данных номенклатуры в 1С
Файл полный, но в инфоблоке мало элементовУменьшите размер пакета, проверьте лимиты PHP и логи импорта Битрикса
В инфоблоке все товары есть, но на витрине их нетПроверьте активность элементов, разделы, цены и настройки компонента каталога
Обмен раньше работал, а теперь выгружает мало товаровВыполните полную выгрузку и проверьте регистрацию изменений в узле обмена

После любого исправления выполняйте контрольный прогон: полная выгрузка, сверка количества в файле и в инфоблоке, проверка витрины в режиме инкогнито (чтобы исключить кеш). Только совпадение всех трёх чисел гарантирует, что проблема решена, а не замаскирована.

Итог

Что важно запомнить

«5 товаров вместо всего каталога» — это симптом, а не лимит системы. Определите этап потери данных (файл выгрузки → инфоблок → витрина), проверьте отбор и права в 1С, лимиты сервера и логи импорта, затем выполните полную выгрузку и сверьте количество на каждом этапе.

Частые вопросы

Почему выгружаются товары только из одной группы каталога?

Скорее всего, в настройках обмена в 1С задан отбор по конкретной папке номенклатуры или включён режим выгрузки по иерархии с ограничением. Откройте условия отбора и уберите лишние фильтры, затем выполните полную выгрузку.

Может ли проблема быть в кеше Битрикса?

Да, если товары есть в инфоблоке и активны, но витрина показывает старые данные. Сбросьте кеш компонентов каталога и проверьте страницу в режиме инкогнито. Однако кеш не влияет на сам факт импорта — только на отображение.

Что делать, если обмен завершается с ошибкой «превышено время выполнения»?

Уменьшите размер пакета выгрузки в настройках обмена в 1С и попросите администратора хостинга увеличить max_execution_time и memory_limit для PHP. При больших каталогах также помогает выгрузка без картинок в первом проходе с последующей догрузкой изображений.

Почему после обмена часть товаров стала неактивной?

В настройках модуля обмена на сайте есть опции деактивации товаров, отсутствующих в выгрузке, или имеющих нулевой остаток. Проверьте эти параметры: если 1С выгружает неполный каталог, механизм деактивации «погасит» всё, что не пришло в текущем пакете.

Как понять, что виноваты права пользователя обмена в 1С?

Войдите в 1С под пользователем, от имени которого работает обмен, и откройте справочник номенклатуры. Если видите не все позиции или часть складов и цен недоступна — ограничения прав (в том числе RLS) режут и выгрузку. Назначьте пользователю обмена необходимые роли.

Нужно ли переустанавливать модуль обмена, если выгружается мало товаров?

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