@Alexer05

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

Не получается изменить сумму доставки через функцию CSaleOrder::Update(), появляется ошибка "В корзине недостаточное количество не распределенного товара". Из-за чего может быть ошибка?
  • Вопрос задан
  • 664 просмотра
Пригласить эксперта
Ответы на вопрос 1
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();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы