Добрый день! Проблема с добавлением комплектов к заказу через API (силами D7). Суть: при добавлении комплекта не видно его составляющих в корзине и не срабатывает количественный учёт (не уменьшается доступный остаток у комплекта и составляющих его товаров).
Тестирую на следующем коде:
При этом, если с помощью этого же кода добавлять простой товар (не комплект), то всё работает нормально - остаток уменьшается.
Сталкивался кто-нибудь с добавлением комплектов? Как реализовывали, чтобы у вас всё работало?
Тестирую на следующем коде:
Код |
---|
Bitrix\Main\Loader::includeModule("sale"); Bitrix\Main\Loader::includeModule("catalog"); $order_id = 1507; $product_id = 22493; $order = Bitrix\Sale\Order::load($order_id); $basket = $order->getBasket(); // Добавление в корзину $item = $basket->createItem('catalog', $product_id); $prod_fields = [ 'QUANTITY' => 1, 'CURRENCY' => 'RUB', 'LID' => 's1', 'PRODUCT_PROVIDER_CLASS' => \Bitrix\Catalog\Product\Basket::getDefaultProviderName(), 'PRICE' => 200, 'CUSTOM_PRICE' => 'Y', ]; $item->setFields($prod_fields); $shipmentCollection = $order->getShipmentCollection(); $shipment = $shipmentCollection[0]; $collection = $shipment->getShipmentItemCollection(); foreach ($order->getBasket() as $basketItem) { if ($basketItem->getProductId() == $product_id) { // Добавление в отгрузку $shipmentItem = $collection->createItem($item); $shipmentItem->setQuantity($item->getQuantity()) } } $order->save(); |
При этом, если с помощью этого же кода добавлять простой товар (не комплект), то всё работает нормально - остаток уменьшается.
Сталкивался кто-нибудь с добавлением комплектов? Как реализовывали, чтобы у вас всё работало?
Интеграция заказов и сделок: https://marketplace.1c-bitrix.ru/solutions/sproduction.integration/