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

Автоматизация · 11 мин

Как загрузить товары из 1С в Битрикс

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

Выгрузка товаров из 1С в 1С-Битрикс — типовая задача при запуске интернет-магазина или синхронизации каталога с сайтом. Обе системы поддерживают штатный обмен по протоколу CommerceML, поэтому в большинстве случаев программировать ничего не нужно: достаточно установить модуль обмена на стороне 1С, настроить узел обмена и запустить выгрузку.

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

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

Проверьте совместимость версий и подготовьте данные

Штатный обмен поддерживается конфигурациями «1С:Управление торговлей», «1С:ERP», «1С:Комплексная автоматизация», «1С:Управление нашей фирмой» и рядом отраслевых решений. В современных версиях модуль обмена уже встроен в конфигурацию, для старых релизов его нужно установить отдельно — дистрибутив доступен на портале 1С:Обновление программ.

Со стороны сайта потребуется редакция 1С-Битрикс с модулем «Интернет-магазин» и «Торговый каталог» — обычно это «Малый бизнес» и старше. В стартовых редакциях приём обмена недоступен.

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

Конфигурация 1СУТ, ERP, УНФ, КА

Наличие раздела «Обмен с сайтом» в настройках интеграции

Редакция БитриксМалый бизнес или старше

Наличие модуля «Торговый каталог» в административной панели

Каталог в 1СНоменклатура без дублей

Заполненные наименования, цены, картинки, единицы измерения

Настройте приём обмена на стороне Битрикса

В административной панели Битрикса откройте раздел «Магазин — Настройки — Интеграция с 1С» (в разных версиях путь может отличаться). Здесь задаются параметры приёма данных: инфоблок, в который попадут товары, действия с отсутствующими в выгрузке элементами, лимиты размера файлов и время жизни сессии обмена.

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

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

Создайте узел обмена с сайтом в 1С

В 1С откройте раздел настройки синхронизации данных (в УТ 11: «Администрирование — Синхронизация данных — Обмен с сайтом») и создайте новый узел обмена. Укажите адрес сайта в формате https://ваш-сайт/bitrix/admin/1c_exchange.php, логин и пароль пользователя обмена.

На вкладке выгрузки товаров задайте отбор: какие группы номенклатуры попадут на сайт, какой тип цен считать ценой продажи, какие склады участвуют в расчёте остатков. Отбор экономит трафик и защищает сайт от попадания служебных позиций.

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

Порядок настройки узла обмена
  1. 1
    Создайте узел обмена с сайтом и укажите URL, логин и пароль
  2. 2
    Проверьте соединение кнопкой «Проверить подключение»
  3. 3
    Настройте отбор номенклатуры, тип цен и склады
  4. 4
    Сопоставьте поля и реквизиты товаров со свойствами инфоблока
  5. 5
    Выполните тестовую выгрузку небольшой группы товаров
  6. 6
    Проверьте результат на сайте и включите полный обмен

Выполните первую выгрузку и проверьте результат

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

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

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

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

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

Структура каталога
Норма

Разделы сайта повторяют группы номенклатуры 1С

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

Все товары свалились в корень или появились дубли разделов

Цены
Норма

Цена на сайте равна выбранному типу цен в 1С

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

Цены нулевые, пустые или из другого типа цен

Остатки
Норма

Количество совпадает с остатком по выбранным складам

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

Остатки не обновляются или обнулились

Картинки
Норма

Изображения открываются в карточке товара

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

Битые ссылки или отсутствующие файлы

Настройте регулярный обмен: полный и только изменения

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

Для автоматического запуска используется регламентное задание «Обмен с сайтом» в 1С. Учтите, что в файловой базе регламентные задания выполняются только при запущенном сеансе 1С — для круглосуточного обмена нужен серверный вариант или отдельный сеанс-«робот».

Частота обмена зависит от бизнес-процесса: магазину с живыми остатками может понадобиться обмен каждые 15–30 минут, каталогу со стабильным ассортиментом достаточно разового ночного обновления. Слишком частый полный обмен создаёт лишнюю нагрузку на сайт и базу.

Альтернативные способы переноса товаров

Штатный обмен — не единственный вариант. Для разового переноса каталога можно выгрузить данные из 1С в файлы CommerceML (import.xml и offers.xml) и импортировать их вручную через раздел «Контент — Информблоки — Импорт» в Битриксе. Способ подходит для миграции, но не для постоянной синхронизации.

Если структура данных нестандартная — например, цены хранятся в самописном регистре или каталог собирается из нескольких баз — используют обмен через промежуточные файлы CSV/XML, веб-сервисы или REST API Битрикса с доработкой на стороне 1С. Это требует участия разработчика, но даёт полный контроль над составом данных.

Существуют также сторонние модули и сервисы-коннекторы, расширяющие типовой обмен: выгрузка нескольких типов цен, кастомные свойства, обмен с маркетплейс-подобными структурами. Их выбирают, когда штатного функционала не хватает, а дорабатывать обмен самостоятельно нет ресурсов.

Сравнение способов выгрузки

Штатный модуль обмена

Подходит большинству: типовые товары, цены, остатки, регулярная синхронизация без программирования

Файлы CommerceML вручную

Разовый перенос каталога или миграция; не подходит для постоянного обновления остатков

Доработка через API

Нестандартные данные и логика; требует разработчика и поддержки кода

Сторонние модули-коннекторы

Расширенные сценарии без своей разработки; зависимость от поставщика решения

Типичные ошибки и способы их устранения

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

Вторая группа ошибок — обрывы обмена на больших каталогах: «превышено время выполнения», «ошибка распаковки архива». Обычно помогает уменьшение размера порции выгрузки в настройках узла, отключение zip-сжатия или увеличение лимитов PHP на хостинге.

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

Типичные ошибки
01
Запуск первого обмена на боевом сайте без копии — при ошибке каталог повреждается, восстановление занимает часы
02
Включённое удаление отсутствующих товаров при неполной выгрузке — часть ассортимента исчезает с сайта
03
Обмен под учётной записью администратора — риск компрометации доступа к сайту
04
Выгрузка всех реквизитов номенклатуры — инфоблок раздувается, карточка товара перегружена служебными свойствами
05
Одновременная ручная правка товаров на сайте и в 1С — данные перезаписывают друг друга при каждом обмене

FAQ

Можно ли выгрузить товары из 1С в Битрикс без модуля обмена?

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

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

Сопоставление идёт по внешнему коду (GUID) из 1С. Если товары на сайте создавались вручную или выгружались из другой базы, коды не совпадают, и обмен создаёт новые элементы. Решение — очистить инфоблок и выполнить полную выгрузку заново либо настроить поиск по уникальному полю, например артикулу.

Обмен зависает на большом каталоге — что делать?

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

Как выгружать только часть товаров, а не весь каталог?

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

Цены на сайте отличаются от цен в 1С — в чём причина?

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

Нужно ли останавливать сайт на время обмена?

Нет, обмен выполняется в фоновом режиме и не блокирует работу посетителей. Но полная выгрузка большого каталога создаёт нагрузку на сервер, поэтому её планируют на часы минимальной посещаемости. Режим «только изменения» нагружает сайт незначительно и может выполняться днём.

Итог

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

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