Торговля и Склад · 11 мин
Как выгрузить номенклатуру из 1С в Битрикс
Как выгрузить номенклатуру из 1С в Битрикс: настройка обмена, типовой модуль, CommerceML, выгрузка цен и остатков, типичные ошибки и проверка результата.
Выгрузка номенклатуры из 1С в Битрикс — стандартная задача при запуске интернет-магазина или синхронизации каталога. В большинстве конфигураций 1С (Управление торговлей, Комплексная автоматизация, ERP, УНФ) уже встроен модуль обмена с сайтом на «1С-Битрикс: Управление сайтом», поэтому в простых случаях доработки не требуются — достаточно правильно настроить узел обмена.
Обмен работает по протоколу CommerceML: 1С формирует XML-файлы с товарами, ценами и остатками, а Битрикс принимает их через специальный скрипт и обновляет инфоблоки каталога. Понимание этой схемы помогает быстро находить причину, когда товары «не доезжают» до сайта или выгружаются с ошибками.
Ниже разобраны подготовка данных, настройка типового обмена, выгрузка цен и остатков, проверка результата и типичные проблемы. Материал ориентирован на конфигурации с типовым модулем обмена; для самописных конфигураций принципы те же, но потребуется установка внешнего модуля обмена.
Подготовка: что проверить до настройки обмена
Прежде чем настраивать выгрузку, убедитесь, что ваша конфигурация 1С содержит встроенный обмен с сайтом. В УТ 11, КА 2, ERP 2 и УНФ он находится в разделе администрирования или интеграции и называется «Обмен с сайтами» / «Синхронизация с сайтом». Если конфигурация старая или самописная, потребуется установить модуль обмена, который публикует 1С-Битрикс для соответствующих версий платформы.
Проверьте версию «1С-Битрикс: Управление сайтом» и наличие лицензии с модулем интернет-магазина. На сайте должен быть доступен скрипт приёма данных — обычно это /bitrix/admin/1c_exchange.php. Откройте этот адрес в браузере: если страница запрашивает авторизацию или отвечает служебным текстом, точка обмена доступна; если отдаётся ошибка 403/404, проверьте настройки веб-сервера и права на файл.
Приведите в порядок сам справочник номенклатуры: у товаров должны быть заполнены наименования, единицы измерения, ставки НДС, а для выгрузки картинок — прикреплённые изображения. Товары без цен выгрузятся, но на сайте будут отображаться некорректно, поэтому заранее установите цены по нужному виду цен документом «Установка цен номенклатуры».
Создание узла обмена с сайтом в 1С
Откройте раздел обмена с сайтами и создайте новую настройку. Укажите название узла, например «Выгрузка в Битрикс». В поле адреса сайта введите полный URL скрипта обмена, включая протокол: https://ваш-сайт/bitrix/admin/1c_exchange.php. Задайте логин и пароль пользователя сайта с правами на выполнение обмена — обычно это администратор или отдельный технический пользователь, входящий в группу с правом «Обмен с 1С».
Нажмите «Проверить соединение». Если 1С сообщает об успешной авторизации, связь настроена. Ошибки на этом этапе чаще всего связаны с неверным логином/паролем, блокировкой по IP на стороне хостинга, редиректом с http на https, который 1С не всегда корректно обрабатывает, или ограничением доступа к файлу обмена в .htaccess.
На вкладке выгрузки товаров включите режим «Выгрузка товаров» и при необходимости «Обмен заказами», если планируется двусторонняя синхронизация. Для первой настройки достаточно только выгрузки товаров — заказы можно подключить позже отдельно.
Настройка отбора товаров, цен и остатков
Отбор определяет, какие позиции попадут на сайт. В типовом модуле доступны отборы по группам номенклатуры, видам номенклатуры, складам, сегментам и произвольным условиям. Рекомендуется выгружать не весь справочник, а только товарную иерархию, предназначенную для сайта, — это ускоряет обмен и упрощает структуру каталога.
Отдельно укажите соглашение или вид цен, который будет выгружаться как базовая цена, и склады, остатки по которым суммируются для сайта. Если на сайте несколько типов цен (розница, опт), в настройках обмена сопоставьте виды цен 1С типам цен Битрикса.
Обратите внимание на настройку «Выгружать только изменения». После первой полной выгрузки включите её — тогда 1С будет регистрировать изменённые товары и передавать не весь каталог, а дельту, что существенно сокращает время обмена на больших базах.
- 1Сделайте резервные копии базы 1С и сайта
- 2Создайте на сайте пользователя с правами на обмен с 1С
- 3В 1С создайте узел обмена с сайтом и укажите URL скрипта обмена, логин и пароль
- 4Проверьте соединение кнопкой «Проверить подключение»
- 5Настройте отбор товаров, вид цен и склады для остатков
- 6Выполните полную выгрузку и проверьте каталог на сайте
- 7Включите выгрузку только изменений и настройте расписание
Выполнение выгрузки и режимы обмена
Первая выгрузка всегда полная: 1С формирует файлы import.xml (структура каталога и товары), offers.xml (предложения, цены, остатки) и передаёт их на сайт порциями. На больших каталогах процесс занимает заметное время — это нормально, прерывать его не следует.
Обмен можно запускать вручную кнопкой «Выполнить обмен» или по расписанию через регламентное задание. Для автоматического обмена в настройках узла укажите расписание, например выгрузку изменений каждые 15–30 минут и полную выгрузку ночью, когда нагрузка на сайт минимальна.
Если сайт недоступен из 1С напрямую (закрытая сеть, ограничения безопасности), доступен альтернативный режим — выгрузка в каталог на диске. 1С сохранит XML-файлы и картинки в указанную папку, после чего их можно вручную импортировать в Битрикс через раздел «Магазин → Импорт данных» или скрипт импорта CommerceML.
Способы выгрузки
Основной способ: 1С сама передаёт данные на сайт. Подходит для регулярной синхронизации, требует доступности сайта из 1С.
1С сохраняет XML и картинки в папку, импорт выполняется вручную на сайте. Подходит при закрытом контуре или разовой миграции.
Индивидуальная интеграция для нестандартных сценариев. Требует разработки и сопровождения, оправдана при сложной логике каталога.
Проверка результата на стороне Битрикса
После завершения обмена откройте в административной части Битрикса раздел «Контент → Инфоблоки → Типы инфоблоков → Каталог». Должны появиться инфоблок товаров и инфоблок торговых предложений (если в 1С используются характеристики). Проверьте, что разделы соответствуют иерархии групп 1С, а товары попали в свои разделы.
Сверьте контрольные значения: количество выгруженных товаров в протоколе обмена 1С и количество активных элементов в инфоблоке, цены нескольких позиций на сайте и в 1С, остатки по складским товарам. Расхождения по ценам обычно означают неверно выбранный вид цен или отсутствие цены на дату обмена.
Проверьте картинки: они должны отображаться в карточках товаров. Если изображения не выгрузились, убедитесь, что в 1С файлы картинок доступны (не битые ссылки на внешние пути) и что на сайте хватает дискового пространства и лимитов PHP на приём архива с файлами.
Как проверить результат
«Обмен данными успешно завершён», без ошибок приёма ответов сайта
Ошибки авторизации, таймауты, «Невозможно разобрать ответ сервера»
Число элементов в инфоблоке совпадает с количеством в отборе 1С
На сайте заметно меньше или больше позиций, появились дубли
Цены и остатки на сайте совпадают с 1С по выборочным позициям
Цены нулевые или устаревшие, остатки не соответствуют складам
Изображения отображаются в карточках
Карточки без изображений при наличии картинок в 1С
Типичные ошибки и их устранение
Самая частая проблема — ошибка авторизации при обмене. Проверьте, что пользователь сайта активен, входит в группу с правом на обмен, а пароль не содержит символов, которые могут некорректно передаваться. Также убедитесь, что хостинг не ограничивает время выполнения скрипта: при маленьком max_execution_time обмен обрывается на приёме больших пакетов.
Дубли товаров и разделов возникают, когда обмен выполнялся повторно после ручного изменения каталога на сайте или после смены настроек идентификации. Типовой обмен сопоставляет элементы по внешнему коду (GUID из 1С); если внешние коды были очищены или инфоблок пересоздан, сопоставление теряется. Лечение — очистка каталога на тестовой копии и повторная полная выгрузка.
Если характеристики товаров не выгружаются как торговые предложения, проверьте, что в 1С у номенклатуры включено ведение по характеристикам и в настройках обмена не включён режим выгрузки характеристик как отдельных товаров без необходимости.
Регулярная синхронизация и сопровождение
После успешной первой выгрузки настройте регламент: выгрузка изменений в течение дня и полная выгрузка в нерабочее время. Следите за размером пакетов — на больших каталогах полезно ограничивать количество товаров в одном пакете в настройках обмена, чтобы не упираться в лимиты хостинга.
Периодически сверяйте протоколы обмена и контрольные суммы: количество товаров, дату последнего успешного обмена. Настройте уведомление ответственному при ошибках регламентного задания, чтобы «молчаливый» сбой обмена не привёл к продаже товаров по устаревшим остаткам.
Что важно запомнить
Выгрузка номенклатуры из 1С в Битрикс выполняется через типовой узел обмена с сайтом по протоколу CommerceML: настраиваются подключение, отбор товаров, цены и склады, затем выполняется полная выгрузка и включается режим изменений. Резервные копии, тестовая выгрузка и контроль протоколов обязательны — они защищают каталог от дублей и потери данных.
Частые вопросы
Можно ли выгрузить номенклатуру из 1С в Битрикс24?
Да, но это другой сценарий: для Битрикс24 используется отдельный механизм синхронизации товаров CRM, а не обмен с сайтом через 1c_exchange.php. В коробочной и облачной версиях Битрикс24 есть интеграция с 1С через типовые приложения и обмен товарами каталога CRM.
Почему обмен зависает или обрывается на большом каталоге?
Чаще всего из-за лимитов хостинга: max_execution_time, memory_limit, ограничения на размер POST-запроса. Уменьшите размер пакета в настройках обмена 1С, включите zip-сжатие файлов обмена и при необходимости попросите хостера увеличить лимиты для скрипта обмена.
Как выгрузить только часть товаров, а не весь справочник?
Используйте отбор в настройках узла обмена: по группам номенклатуры, видам, сегментам или произвольному условию. Выгружаемая иерархия групп также настраивается отдельно — можно задать «дерево» для сайта, отличающееся от структуры справочника в 1С.
Что делать, если после обмена появились дубли товаров?
Дубли означают потерю сопоставления по внешнему коду. На тестовой копии очистите инфоблоки каталога и выполните полную выгрузку заново. На рабочем сайте без резервной копии так делать нельзя — сначала выгрузите копию и отработайте процедуру на ней.
Выгружаются ли картинки и файлы товаров?
Да, типовой обмен передаёт изображения, прикреплённые к номенклатуре, вместе с XML-файлами. Если картинки не приходят, проверьте, что в 1С файлы реально хранятся в базе или доступны по указанным путям, и что на сайте хватает дискового пространства.
Можно ли настроить обмен без доработок в самописной конфигурации?
Если конфигурация не содержит типового обмена, установите внешний модуль обмена с сайтом, совместимый с вашей версией платформы, либо реализуйте выгрузку CommerceML собственной разработкой. Полностью без настройки обмен в самописной конфигурации не заработает.