Вопрос

После размещения заказа я программно генерирую соответствующие поставки (из-за разного времени производства моей продукции).

Тогда я могу иметь для одного заказа несколько связанных поставок:

бывший:

  • Отгрузка № 100000110 через 2 дня для позиций 1 и 2.
  • Отгрузка № 100000111 через 5 дней для позиции 3.

Я хотел бы получить доступ к номеру партии, связанному с конкретным товаром:

что-то вроде :

$order = Mage::getModel('sales/order')->load($_order_id);
$_items = $order->getAllItems();

foreach ($_items as $_item)
{
    $ciid = $_item->getId();
    $shipmentNbr = $_item->getShipment()->getIncrementId();
    ...
}

Спасибо за вашу помощь,

Это было полезно?

Решение

Если у вас есть $orderItem, вы можете легко получить все ShipmentItems:

$shipmentItems = Mage::getResourceModel('sales/order_shipment_item_collection')
    ->addFieldToFilter('order_item_id', $orderItem->getId());
foreach ($shipmentItems as $shipment_item) {
     if ($shipment_id = $shipment_item->getParentId()) {
        $shipment = Mage::getModel('sales/order_shipment')->load($shipment_id);
     }
}

если это не сработает, вам нужно загрузить груз на основе $item->getParentId()

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top