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

Видимая часть формы настройки в Битрикс24. Скриншот показывает поля действия; он не подтверждает выполнение учебного примера.
Для кого и какую задачу решает
Специалисту по логистике и администратору, который планирует обеспечение комплекта из нескольких товаров с предпочтительным порядком складов.
Положительного остатка одной позиции недостаточно для готовности всего комплекта. Робот сопоставляет потребность по каждой позиции с известными остатками и предлагает один склад либо распределение по приоритету. Неизвестные данные не превращаются в доступный товар.
Параметры и подготовка
| Поле | Как заполнить |
|---|---|
Вид записей комплекта (KIND) |
Обязательное поле. Товары (product); Вариации (offer) |
ID каталога комплекта (CATALOG_ID) |
Обязательное поле |
Товары и количества JSON (POSITIONS) |
Обязательное поле |
Склады по приоритету JSON (STORE_IDS) |
Обязательное поле |
Деление поставки (POLICY) |
Обязательное поле. Один склад (single); Распределить по приоритету (split_priority) |
Перед настройкой выберите, откуда процесс получит каждое значение: постоянная настройка, поле карточки или результат предыдущего шага. Подписи в таблице соответствуют полям робота. Коды в скобках помогают различать похожие параметры при передаче данных между шагами.
Как использовать
- Выберите вид записей: товары или вариации. Укажите общий каталог комплекта и подготовьте POSITIONS с productId и quantity в базовой единице каждого товара.
- Задайте STORE_IDS JSON-массивом в порядке предпочтения. Порядок важен: робот начинает подбор с первого склада.
- Выберите single для одного склада или split_priority для распределения каждой позиции между складами. Повторные ID товаров в потребности суммируются.
- После успешного статуса проверьте ready, дефициты и неизвестные пары товар/склад. Используйте allocations как план для согласования, а не как подтверждённую отгрузку.
Как заполнить JSON-поля
Товары и количества JSON (POSITIONS)
[
{
"productId": 501,
"quantity": "5"
}
]
До 100 объектов с ровно productId и quantity. ID товара/вариации берите из выбранного каталога; quantity неотрицательно и в его базовой единице. [] даёт готовый пустой спрос.
Это массив: внешние квадратные скобки обязательны. Пустой массив [] отличается от объекта {}; возможность пустого списка определяется правилами этого поля, описанными ниже.
Склады по приоритету JSON (STORE_IDS)
[
3,
8
]
От 1 до 100 уникальных положительных ID складов в порядке приоритета. [] запрещён. Реальные ID получите из складского справочника.
Это массив: внешние квадратные скобки обязательны. Пустой массив [] отличается от объекта {}; возможность пустого списка определяется правилами этого поля, описанными ниже.
Учебный пример и ожидаемый результат
Потребность POSITIONS=[{"productId":501,"quantity":"5"}], склады [3,8]. При известных остатках 3 и 4 соответственно режим split_priority предложит взять 3 со склада 3 и 2 со склада 8. При single ни один склад не покрывает все 5 единиц. Если на складе 8 остаток неизвестен, он не будет использован как подтверждённые 4.
Пример показывает подготовленные учебные данные. Фактический результат зависит от переданных значений и доступных данных вашего процесса.
Что возвращает и как продолжить процесс
- «Комплект покрыт известными остатками» (
ready). - «Основание результата» (
reason). - «План распределения JSON» (
allocations). - «Непокрытые количества JSON» (
deficits). - «Неизвестные остатки JSON» (
unknown). - «Оценка складов и единицы товаров JSON» (
assessment).
«Основание результата» поясняет выбор. «Оценка складов и единицы товаров JSON» помогает проверить единицы и фактические показатели. ready означает покрытие потребности известными остатками по выбранному правилу; дальнейший резерв необходимо оформить отдельно.
Выход «Статус выполнения» проверяйте перед передачей результата дальше. При отрицательном статусе прочитайте «Пояснение ошибки» и направьте процесс на исправление исходных данных. Успешный статус подтверждает выполнение действия; содержательные признаки результата проверяйте отдельно.
Ограничения и разбор ошибок
CATALOG_ID: общий каталог комплекта. POSITIONS: до 100 записей {productId,quantity}; количества в базовой единице каждого товара, повторные ID суммируются. STORE_IDS: от 1 до 100 складов в порядке предпочтения. POLICY single выбирает первый полностью известный склад, покрывающий весь комплект; split_priority распределяет каждый товар по складам в переданном порядке. Использует amount напрямую, резерв не вычитает. Неизвестные и неточные остатки не заменяет нулём и не использует в подборе. Возвращает план, дефициты, неизвестные пары, единицы товаров и основание выбора. Отрицательный amount считается нулевой возможностью отгрузки; фактическое значение сохраняется в оценке. Полностью покрытый план использует только подтверждённые значения; это не резерв и не гарантия наличия к моменту отгрузки.
Количество передавайте в базовой единице каждого товара. Amount используется напрямую без вычитания резерва. Между чтением и реальной отгрузкой остаток может измениться, поэтому план не гарантирует наличие и не заменяет складское подтверждение.