Бесплатный экспресс-аудит сайта Безопасность, SEO, AI-поиск и 152-ФЗ — отчёт с баллами за минуту Проверить сайт
Обсудить проект

Как настроить обмен сайта на 1С-Битрикс с 1С

Сайт на «1С-Битрикс: Управление сайтом» обменивается с 1С по протоколу CommerceML: из учётной системы приходят товары, цены и остатки, обратно уходят заказы. Механизм штатный, и большая часть проблем возникает не в нём, а в настройках вокруг.

Как настроить

  1. Сделайте резервные копии сайта и базы 1С: обмен меняет данные в обеих системах.
  2. Заведите на сайте отдельного пользователя для обмена с минимальными правами, не администратора.
  3. Проверьте в административной части настройки модуля обмена: адрес обработчика, права на импорт каталога, лимиты на размер файла.
  4. В 1С создайте узел обмена с сайтом и соглашение: укажите адрес сайта, логин и пароль служебного пользователя.
  5. Настройте, что выгружается: разделы, свойства, изображения, типы цен, склады.
  6. Разделите потоки: полная выгрузка каталога по ночам, цены и остатки — чаще.
  7. Включите приём заказов с сайта и сопоставьте статусы заказов сайта со статусами документов 1С.
  8. Прогоните пробный обмен на небольшой группе товаров и проверьте результат на сайте.
  9. Настройте расписание и контроль: кому уходит уведомление, если обмен упал.

Как устроен обмен внутри

Понимание механики экономит часы при разборе сбоев, поэтому коротко. Инициатор обмена всегда 1С: сайт её адрес не знает и сам ничего не запрашивает. Учётная система обращается к обработчику /bitrix/admin/1c_exchange.php и ведёт диалог по шагам.

  1. Авторизация. 1С представляется логином и паролем служебного пользователя и получает идентификатор сессии.
  2. Согласование параметров. Сайт сообщает, умеет ли распаковывать архивы и какой максимальный размер одной порции данных он принимает.
  3. Передача файлов. Выгрузка режется на части по этому лимиту и дописывается в каталог /upload/1c_catalog/. Файлы разделены по смыслу: разделы и товары, торговые предложения, цены, остатки.
  4. Импорт. Самый долгий этап: данные читаются во временную таблицу, затем создаются метаданные, разделы, товары. Сайт отвечает «идёт обработка» с процентом, пока не закончит.
  5. Деактивация. При полной выгрузке сайт скрывает товары и разделы, которых не было в этой сессии.

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

Какой модуль ставить

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

Отдельная история — Управление торговлей 10.3: последний модуль для неё вышел в ноябре 2020 года, развитие прекращено. Работать будет, развиваться нет. Актуальные версии под каждую конфигурацию собраны в справочнике модулей обмена.

Что продумать заранее

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

Если каталог большой

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

Диагностика конкретных сбоев — в инструкции почему товары из 1С не попадают на сайт.

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

Зачем отдельный пользователь для обмена?

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

Как часто обновлять остатки?

Остатки и цены меняются чаще, чем сам каталог, поэтому их выносят в отдельный поток и запускают каждые 10–15 минут, а полную выгрузку каталога — ночью. Если гонять всё вместе, сервер будет занят лишней работой, а остатки всё равно устареют.

Можно ли обмениваться с нетиповой конфигурацией?

Можно, но потребуется доработка правил выгрузки на стороне 1С. Типовой обмен рассчитан на типовые конфигурации: Управление торговлей 11.5, ERP 2, Комплексную автоматизацию 2, Управление нашей фирмой 3.0 и Розницу 2.3. Чем сильнее доработан учёт, тем больше работы на стыке, и объём оценивают до старта по структуре номенклатуры и документов.