Кванты и упаковки
Квант хранится как расширение обычного товара в rw_offers.
Отдельного параллельного учета нет: физические остатки квантов и базовых товаров ведутся в стандартном складском ядре
whc_wh_items / whc_rests.
Модель
package.kind | base для обычного товара, quant для кванта/упаковки. |
|---|---|
package.parent_offer_id | Непосредственный родитель. Например, короб ссылается на штуку, палета - на короб. |
package.multiplicity | Сколько родительских единиц содержит один квант. |
package.base_offer_id | Базовый товар всей цепочки. |
package.base_multiplicity | Сколько базовых единиц содержит один квант с учетом всей вложенности. |
Создание кванта выполняется через обычный bulk create товаров. Нужен доступ offers.create.
[
{
"of_shop_id": 12,
"of_name": "Короб 5 шт",
"of_sku": "BOX-5",
"package": {
"kind": "quant",
"parent_offer_id": 77,
"multiplicity": 5
},
"barcodes": [
{"br_barcode": "04601234567895", "br_main": 1}
]
}
]
Обновление параметров кванта также идет через bulk update товаров. package.kind=base очищает упаковочные поля товара.
[
{
"of_id": 501,
"package": {
"kind": "quant",
"parent_offer_id": 77,
"multiplicity": 10
}
}
]
Поиск квантов и измененных остатков.
| Все кванты | /api/products?of_package_kind=quant |
|---|---|
| Кванты родителя | /api/products?of_parent_offer_id=77 |
| Кванты базового товара | /api/products?of_base_offer_id=77 |
| Измененные остатки | /api/products?inventoryUpdated_from=2026-07-05 10:00:00 |
В ответе возвращаются package, physical_stocks, aggregate_stocks и inventoryUpdated.
Заказы
| Строка базового товара | WMS может использовать доступные кванты и остаток в штуках при резервировании/подборе. |
|---|---|
| Строка-квант | Если заказ пришел отдельной строкой-квантом, отгружается физический остаток этого кванта. |
| Смешанный подбор | Например, 7 штук может быть закрыто как 1 квант по 5 + 2 штуки. |
Список документов разукомплектации квантов. Нужен доступ stock_transfers.view.
Создает документ разукомплектации. Если передать conduct=true, документ сразу проведется.
{
"qu_wh_id": 2,
"qu_date": "2026-07-05",
"qu_ext_id": "UNPACK-1001",
"conduct": true,
"items": [
{
"source_offer_id": 501,
"source_qty": 2,
"source_place_id": 10,
"target_place_id": 10
}
]
}
Для кванта с кратностью 5 такая строка создаст -2 по кванту и +10 по родительскому товару.
Добавляет строку в новый документ разукомплектации.
Проводит документ. После проведения документ не редактируется.
Журнал изменений
Все движения по квантам попадают в /api/stock-movements.
Для разукомплектации используйте фильтр movement_type=quant_unpacking или sm_doc_type=8.
GET /api/stock-movements?movement_type=quant_unpacking&after_id=12345