Разбираем, почему штатный обмен CommerceML перестаёт справляться при росте номенклатуры и многоскладском учёте, и как переход на событийную дельта-шину ускоряет обновление цен и остатков с 40 минут до 3 секунд.
Как связать интернет-магазин на 100 000 товаров с 1С:ERP и избавиться от зависаний при выгрузке
Триггер регистрации изменений при проведении реализации или оприходования
Только изменённые SKUБуферизация JSON-пакетов, защита от дублей и гарантированная доставка
0% потерь при рестартеТочечный апдейт регистров цен и остатков без блокировки чтения витрины
До 4 500 позиций/секМгновенное обновление фасетного фильтра и кэша карточек товаров
Отклик витрины 0,04 с1. Почему сайты начинают тормозить на стандартном обмене
Пока в интернет-магазине 2 000–3 000 товаров и один склад, стандартный пакетный обмен по протоколу CommerceML работает приемлемо. Проблемы начинаются, когда компания растёт: появляется 50 000–120 000 позиций, 7 региональных складов и 12 типов цен для разных категорий дилеров. При полной или даже классической «изменениями» выгрузке база сайта блокируется тяжёлыми транзакциями пересчёта инфоблоков и фасетных индексов.
- Во время выгрузки из 1С покупатели видят ошибку 504 или ждут открытия каталога по 8–12 секунд
- Резервы обновляются раз в час, из-за чего клиенты оплачивают уже проданный со склада товар
- Любая ошибка в одной карточке номенклатуры 1С обрывает весь пакет обмена
2. Архитектура событийного дельта-обмена через очереди
В проектах Weblith мы разделяем контур описания товара (название, фото, характеристики ГОСТ, чертежи — они меняются редко) и оперативный контур коммерческих данных (остатки по складам, резервы, цены и индивидуальные скидки). Коммерческий контур переводится на легковесные JSON-пакеты через очередь сообщений RabbitMQ.
- При проведении документа реализации или поступлении в 1С формируется компактный дельта-пакет только по затронутым артикулам
- Шина принимает пакет за 0,1 секунды и асинхронно обновляет таблицы цен и индекс ElasticSearch без блокировки витрины
- Даже если одновременно изменились 15 000 цен из-за колебания курса или котировки металла, сайт обрабатывает их в фоне без потери скорости
3. Как организовать мгновенный резерв под счёт юрлица
Для оптовых B2B-порталов критично, чтобы при нажатии кнопки «Скачать счёт» товар тут же вставал в резерв в 1С. Мы реализуем прямой синхронный вызов веб-сервиса 1С с тайм-аутом 2 секунды и резервным буфером: клиент получает PDF-счёт с печатью за 3 секунды, а менеджер видит готовый документ «Заказ клиента» в 1С:ERP.
- Автоматическая проверка кредитного лимита и дебиторской задолженности контрагента по ИНН перед выставлением счёта
- Генерация PDF-счёта и спецификации с факсимиле или передача пакета напрямую в Диадок / СБИС
- Автоматическое снятие неоплаченного резерва по истечении срока действия счёта (например, 48 часов)
Сравнение архитектур обмена: Штатный CommerceML против событийной шины Weblith
{
"event_id": "evt_994812_erp",
"timestamp": "2026-10-24T14:22:08+03:00",
"source": "1C_ERP_2.5_PROD",
"sku_updates": [
{
"xml_id": "b840192a-7c11-11ee-8b42",
"article": "BM-160-3P-36KA",
"stocks": { "msk_central": 142, "ekb_hub": 38, "reserved": 12 },
"prices": { "retail": 18400.00, "dealer_t1": 15270.00, "vip_opt": 14190.00 }
}
],
"reindex_facets": true
}
Инженерный чек-лист перед запуском интеграции с 1С:ERP
Разделены ли потоки тяжёлого медиа-контента (фото, PDF-паспорта) и быстрых коммерческих данных (остатки, цены, резервы)?
Настроена ли очередь буферизации на случай ночной регламентной перезагрузки сервера 1С?
Ведётся ли детальный лог каждого пакета с временем ответа и возможностью повторного воспроизведения транзакции?
Обновляется ли поисковый индекс (ElasticSearch / Sphinx) инкрементально без полного перестроения базы?
Другие разборы
наших инженеров.
Практические руководства по архитектуре промышленных каталогов, интеграции с 1С:ERP и бережному переносу поискового трафика.
Бережный редизайн B2B-сайта: пошаговый регламент сохранения 100% поискового трафика
Самый частый страх собственника при обновлении старого сайта — потерять органические позиции в поиске, которые копились годами. Показываем инженерный чек-лист из 5 этапов, который позволяет обновить дизайн и платформу не только без просадки, но и с ростом органики.
Личный кабинет дилера и снабженца: какие функции реально разгружают отдел продаж на 70%
Чем настоящий рабочий B2B-портал отличается от обычного розничного интернет-магазина с кнопкой «В корзину» и почему снабженцы возвращаются только туда, где можно собрать заказ из 60 позиций за две минуты.