Busco en algún código para agregar MassAction
en Magento y el buque y múltiples pedidos completos de sales_order/index
Magento ¿cómo envío las órdenes por programación?
De alguna manera las órdenes no se están enviando.
Parece que (un orden perfectamente normal) no pasa la prueba canship()
. ¿Debe pasarse $order
de $orderid
?
Aquí está mi código
//Get orderids
$orderIds = $this->getRequest()->getPost('order_ids');
//verify if the array is not empty
if (!empty($orderIds)) {
//loop through orders
foreach ($orderIds as $orderId) {
// Dont know what this does
$order = Mage::getModel('sales/order')->loadByIncrementId($orderId);
// Is the order shipable?
if($order->canShip())
{
$itemQty = $order->getItemsCollection()->count();
// This first definition and 2nd look overlapping, our one is obsolete?
$shipment = Mage::getModel('sales/service_order', $order)->prepareShipment($itemQty);
$shipment = new Mage_Sales_Model_Order_Shipment_Api();
// But still, no shipment, why?
$shipmentId = $shipment->create($orderId, array(), 'Shipment created through ShipMailInvoice', true, true);
Muchas gracias @ShaunOReilly. Se hace pasar el canship() ... pero se produce un error siguiente: order_not_exists 'code' Traza: Pedido/Envío/api.php (142): Mage_Api_Model_Resource_Abstract -> _ El fallo ('order_not_exist ...') Sales/OrderController.php (45): Mage_Sales_Model_Order_Shipment_Api-> create ('121', Array, 'Shipment create ...', true, true) 'código' –
Ahora se bloquea en $ shipment-> create. Intenté $ order y orderId. Ambos no funcionan. $ order results in access violation $ shipmentId = $ shipment-> create ($ order, array(), –
mira la última edición de mi respuesta – ShaunOReilly