• Из-за чего возникает ошибка "В корзине недостаточное количество не распределенного товара"?

    usvmak
    @usvmak
    Программист bitrix
    Возникает данная ошибка, когда происходит изменение количества в корзине, привязанной к заказу, но при этом сам заказ не сохранили. На D7 этот момент решается следующим образом:

    Bitrix\Main\Loader::includeModule("sale");
    создаем экземпляр заказа
    $order = Order::load($orderId);
    получаем корзину
    $basket = $order->getBasket();
    изменям количество
    foreach ($basketItems as $basketItem) {
    $basketItem->setField('QUANTITY', 10); // тут вводим нужное количество нужному товару
    }
    сохраняем корзину
    $basket->save();
    перезаписываем данные в заказе
    $order->refreshData();
    сохраняем заказ
    $order->save();
    Ответ написан
    Комментировать