Magento 1.5 Как программно изменить статус пользовательского заказа после создания счета - PullRequest
0 голосов
/ 01 апреля 2012

Пытаюсь обновить статус заказа наблюдателем после создания счета на Magento CE 1.5.

Я использую событие sales_order_invoice_save_after.Я создал какой-то определенный статус для государства processed.Мой код работает, но Magento всегда ставит статус заказа после моего, поэтому он cancels мой.Я не знаю, какое событие использовать, чтобы избежать этой проблемы.

Вот код моего наблюдателя:

       public function updateStatusFacture($observer)
   {
         $event = $observer->getEvent();
         $invoice = $observer->getEvent()->getInvoice();

    $order_update = Mage::getModel('sales/order')->load($orderid);

    $order = Mage::getModel('sales/order')->loadByIncrementId($order_update->getIncrementId());
                $state = 'processing';
                $status = 'expedier';
                $comment = 'Changing state to Processing and status to expedier Status';
                $isCustomerNotified = false;
                $order->setState($state, $status, $comment, $isCustomerNotified);
                $order->save(); 

   }   

1 Ответ

0 голосов
/ 02 апреля 2012

Хорошо, я нашел, что было не так в моем коде.Чтобы избежать Magento, чтобы сохранить статус после меня.Я должен использовать это событие: sales_order_invoice_save_commit_after вместо sales_order_invoice_save_after

Надеюсь, это поможет.

...