Пн – Вс: 8–21 по НСК

📞+7 383 380-81-89
Telegram Макс
Записаться на демо
Главная→Блог→Веб→Обмен сайта на Битриксе с 1С: как он устроен и где ломается

Обмен сайта на Битриксе с 1С: как он устроен и где ломается

Коротко

  • Между 1С и сайтом идут два потока. Товары, цены и остатки — из 1С на сайт. Заказы — с сайта в 1С, а статусы заказов возвращаются обратно (v8.1c.ru).
  • Три признака поломки: цена на сайте не та, остаток «в нуле» при товаре на складе, заказ не дошёл до 1С.
  • По словам интегратора, самые простые функции запускают за час-два, а на доработку обмена уходит и 10, и 100 часов (Хабр, 11 июня 2021 года).
  • Часть поломок лежит на 1С-специалисте, часть — на разработчике сайта. Кто за что отвечает, лучше записать до первой поломки.
Обмен сайта на Битриксе с 1С: как он устроен и где ломается
В этой статье

Что именно обменивается между 1С и сайтом

Обмен состоит из двух частей. Первая — каталог: товары, их описания, цены и остатки на складах. Вторая — заказы. По описанию фирмы 1С протокол делится ровно на эти два блока: каталог уходит из 1С на сайт, заказы забираются с сайта в 1С, а на сайт возвращаются статусы заказов (v8.1c.ru, проверено 26 сентября 2026 года).

Что передаётся Откуда и куда Что видит покупатель, если сломалось
Товары и описания из 1С на сайт Нового товара нет в каталоге или карточка задвоилась
Цены из 1С на сайт На сайте старая или чужая цена
Остатки по складам из 1С на сайт «Нет в наличии», хотя товар лежит на складе, или наоборот
Заказы с сайта в 1С Покупатель заплатил, а менеджер заказа не видит
Статусы заказов из 1С на сайт В личном кабинете «принят», хотя заказ давно отгружен

Как это выглядит на деле. Утром в 1С поменяли цену на ремень. На сайте она обновится лишь тогда, когда 1С соберёт файл с новыми данными и отправит его туда — такую отправку называют выгрузкой, — а сайт этот файл разберёт. С заказами всё зеркально: 1С приходит на сайт сама, забирает свежие заказы и сообщает, что приняла их. Так устроен классический обмен: файлами в общем формате обмена между 1С и сайтами, который называется CommerceML. Начинает его 1С, а сайт принимает и отвечает. Дальше в статье речь именно о нём, а про второй способ, где всё иначе, сказано в конце.

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

Как понять, что обмен сломан

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

Остатки «в нуле». Товар есть на складе, но карточка на сайте пишет «нет в наличии». Бывает и обратное: сайт предлагает купить то, чего уже нет.

Заказ не дошёл. На сайте он оформлен, в 1С его нет. Менеджер не звонит клиенту, склад не собирает заказ. Это самая дорогая поломка: клиент заплатил и ждёт.

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

  1. Сравните три товара.

    Возьмите один недавно менявшийся в цене, один ходовой и один редкий. Откройте их в 1С и на сайте. Цена и остаток должны совпасть.

  2. Узнайте время последнего обмена.

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

  3. Спросите, как часто обмен должен идти.

    Это может быть раз в несколько минут или раз в сутки. От этого зависит, сколько ждать обновления цены.

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

Шесть причин, почему обмен ломается

Эта часть статьи составлена по открытому описанию интегратора и устройству протокола, собственных замеров в ней нет. В причинах сначала идёт пересказ описания со ссылкой. Где мы делаем свой вывод, он стоит отдельно и помечен словами «Наш вывод»: ссылки у него нет.

1. Вход не удался. Любой обмен начинается с того, что 1С входит на сайт под логином и паролем из своих настроек. Интегратор перечисляет ошибки этого шага: «неверное имя пользователя или пароль» и «нет прав для импорта каталога» (Хабр, 11 июня 2021 года). Наш вывод: если эту учётную запись удалили или сменили ей пароль, обмен встанет, а сайт при этом будет выглядеть исправным. Ещё один вариант, тоже наш вывод: в 1С слетело расписание, и она просто не приходит.

2. Не те цены или склады. У товара в 1С может быть несколько цен: розничная, оптовая, для партнёров. У Битрикса есть редакции: так называют виды лицензии, от которых зависят возможности сайта. В редакции «Малый бизнес», по описанию интегратора, нельзя иметь больше одного типа цены, а число складов тоже ограничено редакцией. Склад или тип цены, случайно попавшие на сайт, сами не исчезнут: убрать их может только администратор (Хабр, 11 июня 2021 года). Наш вывод: на сайт попадают те цены, которые выбраны в настройках обмена. Выберут не ту — покупатель увидит чужую.

3. Новый номер — новая карточка. Сайт узнаёт товар по служебному номеру, идентификатору: если такого номера на сайте нет, Битрикс создаёт новую карточку (Хабр, 11 июня 2021 года). Наш вывод: если один и тот же товар оказался в 1С под двумя номерами, на сайте получится две карточки. Про такие дубли интегратор отдельно не пишет.

Оговорка. Причины 1–6 опираются на одну статью 2021 года, а часть описанного в ней относится к порядку работы Битрикса образца 2019 года. Для вашей версии каждый пункт проверяет разработчик.

4. Разделы каталога не успели загрузиться. Разделы — это рубрики, в которых лежат товары. Они загружаются не по частям, а разом. Если рубрик очень много, сервер может не уложиться в отведённое время и вернуть ошибку. Интегратор называет три выхода: поднять лимит времени на сервере, доработать выгрузку в 1С или повторить её (Хабр, 11 июня 2021 года).

5. Товар пропал с сайта. Здесь нужны два уточнения. Полная выгрузка — это когда 1С присылает весь каталог заново; выгрузка изменений присылает только то, что поменялось. По описанию интегратора (порядок работы Битрикса образца 2019 года), шаг деактивации выполняется только при полной выгрузке: тогда система отключает товары и разделы, не затронутые в текущем обмене. Для выгрузки изменений этого шага нет (Хабр, 11 июня 2021 года). Наш вывод: если у вас полная выгрузка, а нужного товара в ней не было, он может исчезнуть с витрины. Так ли это в вашей версии, проверяет разработчик.

6. Серверу нечем распаковать архив. Когда 1С присылает данные архивом, сервер должен уметь его распаковывать. Если модуля нет, обмен остановится с ошибкой «Ошибка распаковки архива», и интегратор советует проверить, работает ли на сервере нужное расширение (Хабр, 11 июня 2021 года). Настройка сервера — дело разработчика сайта или хостинга.

Про обновления. Если сайт недавно обновляли, проверьте и обмен. Что ещё смотреть после обновления, разобрано в статье про обновление Битрикса.

Кто чинит: 1С-специалист или разработчик сайта

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

Что случилось Где искать причину К кому идти первым
Обмен не идёт, нет свежей даты последнего обмена Расписание, учётная запись 1С-специалист
Цена на сайте не та Какие цены выбраны для сайта Сначала посмотреть цену в 1С: верная — к разработчику сайта, неверная — к 1С-специалисту
Остатки «в нуле» Какие склады отдаются на сайт Оба вместе, начиная с 1С-специалиста
Дубли товаров Наш вывод: один товар пришёл под разными номерами 1С-специалист; чистку на сайте делает разработчик
Обмен оборвался на середине Лимиты времени на сервере Разработчик сайта
Товары пропали с витрины Полная ли выгрузка и что в неё вошло 1С-специалист
Заказ не дошёл в 1С Приходит ли 1С за заказами Оба; начинать с журнала обмена

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

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

Когда не нужно настраивать обмен

Обмен — не обязательная часть любого магазина. Если в каталоге несколько десятков товаров, цены меняются раз в квартал, а заказов в неделю единицы, контент-менеджер справится вручную. Настройка и поддержка обмена в таком случае обойдутся дороже, чем ручная правка.

Ещё один случай: данные в 1С не в порядке. Товары заведены дважды, остатки давно не сходятся со складом, цены путаются — обмен быстро перенесёт этот беспорядок на сайт. Сначала наводят порядок в 1С, потом включают обмен. Это относится и к ИИ-помощнику, который отвечает покупателям про цены и наличие: он берёт их из каталога, и что в каталоге, то он и повторит. Подробнее — в статье про ИИ в 1С.

О чём спросить подрядчика

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

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

Простая проверка. Попросите показать журнал обмена за последнюю неделю. Если журнала нет, вы не узнаете, когда обмен встал и как давно.

Как это было у нас

КЕСЛ продаёт ремни, ленты и рукава для сельскохозяйственной и промышленной техники. Контент-менеджеры переносили товары и цены из 1С на сайт вручную, и это порождало ошибки. Мы связали каталог и цены сайта с 1С. По записи в кейсе, ошибок в товарах и ценах на сайте больше нет, а сам сайт мы также обслуживали на технической поддержке. Подробности — в кейсе КЕСЛ.

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


Поддержка сайта на 1С-БитриксРазбираем поломки обмена с 1С и настраиваем его заново

Как считается работа и сколько это стоит

Срок зависит от того, насколько типовая у вас 1С и сколько в ней нестандартного. Интегратор пишет, что самые простые функции запускают за час-два, а на доработку обмена может уйти и 10, и 100 часов (Хабр, 11 июня 2021 года). Свой срок называем после разбора: одна цифра на все магазины была бы неправдой.

На странице нашей поддержки Битрикса сказано, что доработки оплачиваются отдельно от абонемента, а интеграция с 1С считается по часам. Разовая работа — 3 300 ₽ за час, минимум 1 час. Абонемент на сопровождение сайта начинается от 25 000 ₽ в месяц (10 часов, час по 2 500 ₽). Цену самой настройки обмена без разбора не называем.

Разбор — один звонок: вы рассказываете, на чём сайт и что с обменом не так, а мы оцениваем, сколько времени это займёт. Телефон +7 383 380-81-89, Telegram @lcstudio, ежедневно с 8 до 21 по Новосибирску.

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

Как часто должен идти обмен?

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

Это то же самое, что обмен Битрикс24 с 1С?

Нет, это разные вещи. Здесь речь о сайте на 1С-Битрикс: каталог, цены и остатки идут из 1С на сайт, а заказы с сайта в 1С. Битрикс24 — это CRM, и в его обмене с 1С обычно речь о сделках и счетах. Если у вас Битрикс24, это отдельный разговор и отдельная услуга.

Заказ есть на сайте, а в 1С его нет. С чего начать?

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

Цена на сайте не такая, как в 1С. Кому звонить?

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

Товар был на сайте и пропал. Что случилось?

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

Для технических специалистов

Классический обмен идёт по протоколу фирмы 1С. Данные передаются файлами CommerceML 2 (стандартный XML-формат для коммерческих данных) по HTTP, и начинает 1С. Выгрузка каталога идёт четырьмя запросами: checkauth (вход, выдаётся cookie), init (сайт сообщает, принимает ли zip и какой предельный размер файла), file (передача файлов) и import (пошаговая загрузка, после каждого шага 1С проверяет статус). Заказы идут по другой цепочке. После входа и параметров 1С запрашивает заказы через query, подтверждает их приём через success, а статусы отправляет обратно через file (v8.1c.ru).

На стороне Битрикса товары сопоставляются по XML_ID, отсутствующие создаются. Если товар не менялся и включена оптимизация по контрольным суммам, Битрикс только обновляет TIMESTAMP_X и пропускает его. Деактивация не затронутых в сессии товаров и разделов (mode=deactivate) выполняется только при полной выгрузке, для выгрузки изменений этого шага нет. Разделы импортируются не пошагово, поэтому на большом дереве возможен выход за время исполнения. Интегратор предлагает три выхода: поднять лимит времени в настройках обмена и на веб-сервере (nginx), доработать выгрузку в 1С так, чтобы ошибки игнорировались до ответа progress, либо повторять выгрузку. Ошибка распаковки архива, по его описанию, — повод проверить в PHP функцию zip_open и расширение Zip (Хабр).

Второй способ — обмен через OData. OData — это встроенный в платформу 1С сервис: программа снаружи обращается к нему по веб-адресу и читает или пишет нужные объекты. Здесь инициатор уже сайт или другая система, а не 1С. Мы работаем и с файловым обменом CommerceML, и с прямым обращением к 1С через OData. Что выбрать, зависит от версии 1С, объёма данных и того, нужна ли связь почти в реальном времени.

⇽Назад к блогу
La-Chatte

Где вы теряете заявки?

За 30 минут бесплатно разберём вашу задачу и честно скажем, стоит ли отдавать её ИИ. ИИ-продавец - от 250 000 ₽, запуск от двух недель.

    Что вас интересует?