Главная » Обмен с 1С » Обмен остатками и ценами: настройка расписания

Обмен остатками и ценами: настройка расписания

Схема обмена остатками и ценами в Битрикс: облегчённая выгрузка идёт чаще, чем полный обмен каталогом

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

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

Полный обмен и обмен только остатками

Полный обмен каталогом Обмен остатками и ценами
Что передаётсяТовары, разделы, свойства, картинкиТолько количество и цена
Объём данныхБольшойНебольшой
ЧастотаРаз в сутки или режеКаждые 15–30 минут
Нагрузка на серверВысокаяНизкая при правильной настройке

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

Настройка расписания

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

Нужна помощь с Битрикс?





    Что важно на стороне сайта

    • Кеш каталога должен обновляться после обмена. Если страницы товаров кешируются надолго, изменённая цена может не появиться на витрине сразу после успешного обмена.
    • Фасетный индекс должен пересчитываться корректно. При частом обмене остатками важно, чтобы пересчёт индекса не создавал избыточную нагрузку на каждое небольшое изменение — это одна из типичных проблем при работе умного фильтра на активно обновляемом каталоге.
    • Товары с нулевым остатком должны корректно скрываться или помечаться — в зависимости от бизнес-логики: одни магазины прячут отсутствующие товары полностью, другие показывают их с пометкой «под заказ».

    Конфликт частого обмена с обменом заказами

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

    Практический подход — развести интервалы: например, остатки каждые 15 минут, а обмен заказами каждые 30, со смещением по времени, чтобы два процесса не запускались одновременно.

    Диагностика рассинхронизации

    Если остатки на сайте расходятся с реальными:

    1. Проверьте журнал обмена — выполняется ли облегчённая выгрузка вообще.
    2. Проверьте, не отключено ли регламентное задание в 1С после какого-то сбоя.
    3. Проверьте кеширование страниц каталога — не показывает ли витрина устаревшую версию.
    4. Сверьте остаток конкретного товара напрямую в базе, минуя кеш и фильтры.

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

    Частые ошибки

    • Остатки гоняются вместе с полным каталогом. Ненужная нагрузка на сервер при каждом обновлении количества.
    • Кеш каталога не сбрасывается после обмена. Актуальные данные есть в базе, но витрина показывает устаревшую версию.
    • Интервалы обмена остатками и заказами совпадают. Два тяжёлых процесса накладываются друг на друга.
    • Нет отдельного мониторинга для облегчённого обмена. Сбой в нём заметен только тогда, когда покупатель жалуется на несовпадение наличия.

    Итог

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

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

    Нужна помощь с Битрикс?

    Исправим ошибку, доработаем сайт, ускорим Битрикс или поможем разобраться с проблемой.

    Услуги
    Инструменты
    База знаний