После оформления заказа корзина в битрикс очищается, но CSaleBasket::GetList продолжает возвращать элементы заказа
Корзина работает как компонент bitrix:sale.basket.basket, и после оформления заказа она показывает, что пуста, но при этом, когда пытаюсь получить корзину через CSaleBasket::GetList(array(),array("FUSER_ID" => CSaleBasket::GetBasketUserID()),false,false,array()); мне возвращается список товаров, которые я когда-либо заказывал. Заказ оформляется не стандартным компонентом, а с помощью API. Код, который за это отвечает:
$order->setBasket($basket);
$basketSum = $order->getPrice();
$propertyCollection = $order->getPropertyCollection();
$propertyCodeToId = array();
foreach($propertyCollection as $propertyValue){
$propertyCodeToId[$propertyValue->getField('CODE')] = $propertyValue->getField('ORDER_PROPS_ID');
}
$propertyValue=$propertyCollection->getItemByOrderPropertyId($propertyCodeToId['FIO']);
$propertyValue->setValue($fio);
$propertyValue=$propertyCollection->getItemByOrderPropertyId($propertyCodeToId['PHONE']);
$propertyValue->setValue($phone);
$propertyValue=$propertyCollection->getItemByOrderPropertyId($propertyCodeToId['EMAIL']);
$propertyValue->setValue($email);
$order->doFinalAction(true);
$result = $order->save();```
Ответы (1 шт):
Автор решения: Сергей Савченко
→ Ссылка
CSaleBasket::GetList(
array(),
array(
"FUSER_ID" => CSaleBasket::GetBasketUserID(),
"ORDER_ID" => "NULL"
),
false,
false,
array()
);