- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/providerbase.php
- Класс: BitrixSaleProviderBase
- Вызов: ProviderBase::getBasketCountFromShipmentItemCollection
static function getBasketCountFromShipmentItemCollection($shipmentItemList)
{
$basketCountList = array();
/** @var ShipmentItem $shipmentItem */
foreach ($shipmentItemList as $shipmentItem)
{
/** @var BasketItem $basketItem */
if (!$basketItem = $shipmentItem->getBasketItem())
{
continue;
}
if ($basketItem->isBundleParent()
|| (!$basketItem->isBundleParent() && !$basketItem->isBundleChild()))
{
$basketCountList[$basketItem->getBasketCode()] = floatval($shipmentItem->getQuantity());
}
if($basketItem->isBundleParent())
{
/** @var ShipmentItem $bundleShipmentItem */
foreach ($shipmentItemList as $bundleShipmentItem)
{
/** @var BasketItem $bundleBasketItem */
$bundleBasketItem = $bundleShipmentItem->getBasketItem();
if($bundleBasketItem->isBundleChild())
{
$bundleParentBasketItem = $bundleBasketItem->getParentBasketItem();
if ($bundleParentBasketItem->getBasketCode() == $basketItem->getBasketCode())
{
$basketCountList[$bundleBasketItem->getBasketCode()] = floatval($bundleShipmentItem->getQuantity());
}
}
}
}
}
return $basketCountList;
}