Como obter o número de remessa de um item do pedido?
-
12-12-2019 - |
Pergunta
Depois que um pedido é feito, eu gero programaticamente remessas associadas (devido aos diferentes tempos de fabricação dos meus produtos)
Posso então ter para um único pedido vários envios associados:
ex:
- Remessa #100000110 em 2 dias para itens 1 e 2
- Remessa #100000111 em 5 dias para o item 3
Gostaria de acessar o número da remessa associado ao item 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();
...
}
Obrigado pela sua ajuda,
Solução
Se você tiver o $orderItem
, você pode obter facilmente todos os 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);
}
}
se isso não funcionar, você precisará carregar a remessa com base no $item->getParentId()
Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange