¿Cómo obtener el número de envío de un artículo de pedido?
-
12-12-2019 - |
Pregunta
Una vez que se realiza un pedido, genero envíos asociados mediante programación (debido a los diferentes tiempos de fabricación de mis productos)
Entonces puedo tener para un solo pedido varios envíos asociados:
ex:
- Envío #100000110 en 2 días para los artículos 1 y 2
- Envío #100000111 en 5 días para el artículo 3
Me gustaría acceder al número de envío asociado a un artículo específico:
algo como :
$order = Mage::getModel('sales/order')->load($_order_id);
$_items = $order->getAllItems();
foreach ($_items as $_item)
{
$ciid = $_item->getId();
$shipmentNbr = $_item->getShipment()->getIncrementId();
...
}
Gracias por su ayuda,
Solución
Si tienes el $orderItem
, puede obtener fácilmente todos los artículos de envío:
$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);
}
}
Si esto no funciona, debe cargar el envío según el $item->getParentId()
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange