Торговля и Склад · 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С
- 2Перейдите на вкладку отбора товаров (условия выгрузки)
- 3Снимите или расширьте ограничения: группы, склады, типы цен, признаки
- 4Сохраните настройку и выполните полную выгрузку
- 5Проверьте количество товаров в файле import.xml и на сайте
Причина 2. Выгрузка прерывается ошибкой после первых позиций
Вторая по частоте причина — обмен падает с ошибкой в самом начале. Например, у шестого по счёту товара некорректная картинка, слишком длинное наименование, недопустимые символы в реквизите или проблема с единицей измерения. 1С формирует пакет, передаёт его, а на следующем шаге обмен завершается аварийно. На сайте остаются только успевшие выгрузиться позиции.
Диагностируется это по журналу обмена. В 1С откройте журнал регистрации или протокол обмена (кнопка «Протокол» в форме обмена) и найдите последнюю ошибку. На стороне Битрикса смотрите логи импорта в административном разделе и, при необходимости, включите подробное логирование обмена в настройках модуля «Интернет-магазин + 1С».
Причина 3. Лимиты сервера и размер пакетов
Если каталог большой, а на хостинге стоят жёсткие ограничения по времени выполнения скрипта (max_execution_time) и памяти, импорт на стороне Битрикса может обрываться на первом пакете. Внешне это выглядит так же: на сайте несколько товаров, остальные «не доехали».
Что сделать: в настройках обмена в 1С уменьшите размер пакета (например, выгружать по 20–50 товаров за раз) и включите режим пошаговой выгрузки, если он доступен. На стороне сайта попросите хостинг-провайдера или администратора увеличить лимиты PHP для процесса импорта. Также проверьте свободное место на диске — при его нехватке импорт обрывается без явных ошибок.
Причина 4. Товары выгружаются, но не отображаются на сайте
Иногда обмен отрабатывает полностью, но посетитель видит только 5 товаров. Причины на стороне Битрикса: элементы импортированы в деактивированном состоянии, попали не в тот инфоблок или раздел, у них не заполнена цена или остаток, а компонент каталога настроен показывать только товары с ценой и наличием.
Проверьте в административной панели: Контент → Инфоблоки → нужный каталог. Отфильтруйте элементы, включая неактивные, и сравните количество с тем, что выгружала 1С. Если товары есть, но неактивны — смотрите настройки обмена: в модуле обмена есть опции деактивации элементов при отсутствии в выгрузке или при нулевом остатке.
Как проверить результат
Совпадает с ожидаемым числом товаров по отбору
Только несколько позиций — проблема в настройках 1С
Совпадает с числом в файле выгрузки
Элементов меньше — импорт обрывается на сайте
Элементы активны и в нужных разделах
Элементы деактивированы или без раздела
Заполнены и актуальны
Пустые — проверяйте выгрузку предложений и типов цен
Причина 5. Права пользователя и особенности режима обмена
Обмен выполняется от имени конкретного пользователя — и в 1С, и на сайте. Если у пользователя 1С ограничены права на чтение части номенклатуры (RLS, ограничение на уровне записей), в выгрузку попадут только доступные ему товары. Проверьте, под каким пользователем работает обмен, и есть ли у него полные права на справочник номенклатуры, склады и цены.
Отдельный случай — режим «выгружать только изменения». Если регистрация изменений в плане обмена сбита (например, после восстановления базы из копии или ручной чистки регистрации), 1С считает, что менялись лишь несколько товаров. Решение — выполнить полную выгрузку: в форме обмена выберите режим полной выгрузки данных либо снимите и заново зарегистрируйте изменения для всех объектов узла.
Пошаговый алгоритм поиска и устранения проблемы
Чтобы не гадать, действуйте последовательно от источника к приёмнику. Сначала зафиксируйте факт: сколько товаров должно выгружаться по условиям отбора (можно проверить отчётом по номенклатуре с теми же фильтрами). Затем сравните это число с содержимым файла выгрузки, а потом — с содержимым инфоблока.
Если расхождение между отбором и файлом — чините настройки обмена, права и данные товаров в 1С. Если файл полный, а инфоблок пустой — работайте с лимитами сервера, размером пакетов и логами импорта Битрикса. Если инфоблок полный, а витрина пустая — настраивайте компонент каталога и проверяйте активность элементов.
Как выбрать действие
После любого исправления выполняйте контрольный прогон: полная выгрузка, сверка количества в файле и в инфоблоке, проверка витрины в режиме инкогнито (чтобы исключить кеш). Только совпадение всех трёх чисел гарантирует, что проблема решена, а не замаскирована.
Что важно запомнить
«5 товаров вместо всего каталога» — это симптом, а не лимит системы. Определите этап потери данных (файл выгрузки → инфоблок → витрина), проверьте отбор и права в 1С, лимиты сервера и логи импорта, затем выполните полную выгрузку и сверьте количество на каждом этапе.
Частые вопросы
Почему выгружаются товары только из одной группы каталога?
Скорее всего, в настройках обмена в 1С задан отбор по конкретной папке номенклатуры или включён режим выгрузки по иерархии с ограничением. Откройте условия отбора и уберите лишние фильтры, затем выполните полную выгрузку.
Может ли проблема быть в кеше Битрикса?
Да, если товары есть в инфоблоке и активны, но витрина показывает старые данные. Сбросьте кеш компонентов каталога и проверьте страницу в режиме инкогнито. Однако кеш не влияет на сам факт импорта — только на отображение.
Что делать, если обмен завершается с ошибкой «превышено время выполнения»?
Уменьшите размер пакета выгрузки в настройках обмена в 1С и попросите администратора хостинга увеличить max_execution_time и memory_limit для PHP. При больших каталогах также помогает выгрузка без картинок в первом проходе с последующей догрузкой изображений.
Почему после обмена часть товаров стала неактивной?
В настройках модуля обмена на сайте есть опции деактивации товаров, отсутствующих в выгрузке, или имеющих нулевой остаток. Проверьте эти параметры: если 1С выгружает неполный каталог, механизм деактивации «погасит» всё, что не пришло в текущем пакете.
Как понять, что виноваты права пользователя обмена в 1С?
Войдите в 1С под пользователем, от имени которого работает обмен, и откройте справочник номенклатуры. Если видите не все позиции или часть складов и цен недоступна — ограничения прав (в том числе RLS) режут и выгрузку. Назначьте пользователю обмена необходимые роли.
Нужно ли переустанавливать модуль обмена, если выгружается мало товаров?
Нет, переустановка модуля не решает проблемы отбора, прав и лимитов. Обновление модуля оправдано только при известных ошибках конкретной версии. Начинайте всегда с анализа файла выгрузки и протоколов обмена.