Задать вопрос

Получение ID склада отгрузки по ID заказа в Битрикс, как?

Добрый день коллеги, поделитесь как можно получить id склада по id заказа.

Делаю так:

$order = \Bitrix\Sale\Order::load(37);

$shipmentCollection = $order->getShipmentCollection();

foreach($shipmentCollection as $shipment) {
    $shipment_id = $shipment->getId();
  
     if ($shipment->isSystem())
     continue;
      
    $arShipments[$shipment_id] = array(
      'ID' => $shipment_id,
      'ACCOUNT_NUMBER' => $shipment->getField('ACCOUNT_NUMBER'),
      'ORDER_ID' => $shipment->getField('ORDER_ID'),
      'DELIVERY_ID' => $shipment->getField('DELIVERY_ID'),
      'STOCK_ID' => $shipment->getStoreId(),
      'PRICE_DELIVERY' => (float)$shipment->getField('PRICE_DELIVERY'),
      'BASKET' => array(),
    );
  
    
    $shipmentItemCollection = $shipment->getShipmentItemCollection();
    foreach($shipmentItemCollection as $item) {
      
    $basketItem = $item->getBasketItem();

	if (!$basketItem->canBuy() || $basketItem->isDelay())
    continue;
 
    $arItem = array(
       'PRODUCT_ID' => $basketItem->getProductId(),
	   'NAME' => $basketItem->getField('NAME'),
	   'PRICE' => $basketItem->getPrice(),
	   'FINAL_PRICE' => $basketItem->getFinalPrice(), 
	   'QUANTITY' => $basketItem->getQuantity(),
	   'WEIGHT' => $basketItem->getWeight(),
	);
  
	  $arShipments[$shipment_id]['BASKET'][$arItem['PRODUCT_ID']] = $arItem;
	  
    } 
}


На выходе имеем:

Array
(
    [68] => Array
        (
            [ID] => 68
            [ACCOUNT_NUMBER] => 37/2
            [ORDER_ID] => 37
            [DELIVERY_ID] => 2
            [STOCK_ID] => 0
            [PRICE_DELIVERY] => 500
            [BASKET] => Array
                (
                    [6977] => Array
                        (
                            [PRODUCT_ID] => 6977
                            [NAME] => Сплит система Pioneer 07 VEKTOR
                            [PRICE] => 10851
                            [FINAL_PRICE] => 10851
                            [QUANTITY] => 1
                            [WEIGHT] => 0.00
                        )

                )

        )

)


Как видно [STOCK_ID] => 0
Сама отгрузка сделал https://yadi.sk/i/d3WyBMKIfFngHA
Пробовал по разному там менять, $shipment->getStoreId() все равно возвращается 0.
Что я делаю не так?
Спасибо.
  • Вопрос задан
  • 977 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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