Налаштування вивантаження залишків по складах з 1С:УТ у 1С-Бітрікс
Залишки — найгарячіша частина обміну. Ціни змінюються раз на день, номенклатура — раз на тиждень, а залишки можуть змінюватися кожні кілька хвилин в активному магазині. Неактуальний залишок = замовлення товару, якого немає = незадоволений клієнт + ручна робота по скасуванню. Тому налаштування вивантаження залишків вимагає окремої уваги до частоти, точності та архітектури складів.
Як залишки зберігаються в УТ і передаються в Бітрікс
У 1С:УТ 11 залишки зберігаються в регістрі накопичення ТоварниНаСкладах. Залишок = прихід − витрата по кожному складу для кожної номенклатури (та характеристики, якщо використовується характеристичний облік).
У CommerceML залишки передаються у файлі пропозицій (offers.xml) у тегу Залишки:
<Пропозиція>
<Ід>товар-guid#характеристика-guid</Ід>
<Залишки>
<Залишок>
<ІдСкладу>склад-guid</ІдСкладу>
<Кількість>15</Кількість>
</Залишок>
<Залишок>
<ІдСкладу>склад2-guid</ІдСкладу>
<Кількість>3</Кількість>
</Залишок>
</Залишки>
</Пропозиція>
На стороні Бітрікс кожен склад із УТ повинен бути створений у Торговий каталог → Склади зі збігаючим XML_ID (GUID складу з УТ). Бітрікс підсумовує залишки по всіх складах або показує по кожному окремо — залежно від налаштувань.
Фільтрація складів: що передавати на сайт
Часто в УТ є кілька складів: основний склад, виробничий, брак, транзитний. На сайт потрібен тільки залишок зі складу відвантаження — не сумарний по всіх.
У налаштуваннях вузла обміну УТ вибираємо конкретні склади для вивантаження. Це критично важливо: якщо передати сумарний залишок, включаючи «Брак» або «В дорозі» — покупець побачить наявність товару, якого фактично немає у стані відвантаження.
Вільний залишок vs. фізичний. У УТ можна налаштувати вивантаження вільного залишку (фізичний мінус зарезервований). Це правильна практика: якщо 10 штук зарезервовано під існуючі замовлення, сайт повинен показувати реально доступну кількість.
Налаштування у вузлі обміну: параметр «Залишки: враховувати резерви» — увімкнути.
Мультискладовий облік на сайті
Якщо у магазину кілька складів (різні міста, кілька точок видачі), покупець може хотіти бачити наявність у кожному конкретному місті. Це вимагає передачі залишків у розрізі складів — не сумарного.
У Бітрікс для цього потрібно:
- Створити склади в торговому каталозі (відповідність GUID)
- У компоненті каталогу увімкнути відображення залишків по складах
- При оформленні замовлення — пропонувати самовивіз зі складу, де є товар
Для сайту з кількома точками видачі залишки по складах — ключова функціональність. XML-обмін підтримує цю структуру нативно.
Частота оновлення та технічна реалізація
| Тип бізнесу | Рекомендована частота | Коментар |
|---|---|---|
| Великий інтернет-магазин (FMCG) | 5–10 хв | Висока частота змін |
| Середній магазин | 15–30 хв | Баланс навантаження/актуальність |
| Магазин із повільним оборотом | 60 хв | Меблі, велика техніка |
| Оптовий склад | 30 хв | + ручна синхронізація при бронюванні |
Реалізація частого обміну залишками — через cron на сервері, а не через «автообмін» в інтерфейсі Бітрікс (він менш надійний). Скрипт запуску обміну:
# Запуск обміну залишками кожні 15 хвилин
*/15 * * * * www-data /usr/bin/php /var/www/html/bitrix/modules/main/tools/cron_events.php
Або через прямий виклик обробника обміну з параметром type=sale (тільки замовлення) або type=catalog (каталог + залишки).
Резервування при оформленні замовлення
Коли покупець оформляє замовлення на Бітрікс, потрібно вирішити: резервувати товар негайно (до оплати) або тільки після підтвердження оплати?
-
Негайне резервування: товар резервується в Бітрікс при створенні замовлення (статус «очікує оплати»). При передачі замовлення в УТ — створюється резерв у регістрі
ТоварниВРезервіНаСкладах. Наступний обмін залишками поверне актуальний вільний залишок вже з урахуванням резерву. -
Резервування після оплати: ризик продати «повітря» при паралельних замовленнях, але менше «висячих» резервів від незавершених оплат.
Для більшості B2C магазинів — негайне резервування при створенні замовлення з автоматичним скасуванням резерву через N годин, якщо оплата не надійшла.
Кейс: склад із високою оборотністю
Оптово-роздрібний склад електроніки: 15 тис. позицій, пікові дні — до 200 замовлень на годину. Проблема: при обміні залишками раз на 30 хвилин встигали оформитися 5–10 замовлень на один товар, якого залишалося 1–2 штуки.
Рішення: дворівнева система. Обмін залишками — кожні 5 хвилин. Додатково — прямий запит до HTTP-сервісу УТ при додаванні товару до кошика: отримуємо актуальний залишок у реальному часі і показуємо користувачу. Повний обмін (з номенклатурою) — раз на ніч.
HTTP-сервіс УТ повертає JSON із залишком за 150–300 мс. На високонавантажених сторінках результат кешується на 60 секунд.







