G
N
I
D
A
O
L

Получить список товаров корзины и заодно СКЛАД(склады)

$basket = Bitrix\Sale\Basket::loadItemsForFUser(Bitrix\Sale\Fuser::getId(), Bitrix\Main\Context::getCurrent()->getSite());
        $basketItems = $basket->getBasketItems();
        foreach ($basketItems as $item) {

            $arFilter = Array("PRODUCT_ID" => $item->getProductId(),'STORE_ID'=>$store['ID']);
            $res = CCatalogStoreProduct::GetList(Array(), $arFilter, false, false, Array());
            if ($arRes = $res->GetNext()) {
                if($arRes['AMOUNT']==0) {
                    $item->delete(); // Удаление
                    $item->save();   // Сохранение изменения, можно использовать и $basket->save();
                }elseif($arRes['AMOUNT']<$item->getQuantity()) {
                    $item->setField('QUANTITY', $arRes['AMOUNT']); // Изменение поля, в данном случае, количества в корзине
                    $item->save();
                    $result[$item->getID()] = ['QUANTITY'=>$item->getQuantity(),'PRICE'=>$item->getPrice(),'SUM'=>$item->getFinalPrice()];
                }else
                    $result[$item->getID()] = ['QUANTITY'=>$item->getQuantity(),'PRICE'=>$item->getPrice(),'SUM'=>$item->getFinalPrice()];
            }

        }