Метод CSaleBasket::Update() не обновляет количество товаров, если заданное кол-во меньше текущего (возвращает false). Если указать больше, то запись обновляется. Если снова указать количество товаров меньше, как было, то запись не обновляется. Из-за чего это может быть, как можно задать любое количество товаров?
Использую код ниже:
// Работает, если кол-во больше текущего
CSaleBasket::Update($id, array('QUANTITY' => $quantity));
Также пытался использовать
// Работает, если кол-во больше изначального в заказе
$basketItem = $basket->getItemById($id);
$basketItem->setField('QUANTITY', $quantity);
$order->save();
Но он также не сохраняет количество товаров, если значение меньше текущего. Но если указать кол-во товаров больше, то он позволяет потом указать изначальное значение, но меньше указать нельзя.
Битрикс 16.5.5