2017-12-01 36 views
0

대량 주문 상태를 일괄 적으로 보류 중으로 업데이트하려고하므로 프로그래밍 방식으로 처리하려고합니다. magento 백엔드에서 아래의 방법을 사용하여 대량으로 상태를 업데이트하는 옵션이 없습니다.주문 상태를 업데이트 할 때 수명 시간 판매 합계가 변경되지 않음

require_once('app/Mage.php'); 
Mage::app(); 
Mage::init(); 
$order = Mage::getModel('sales/order')->loadByIncrementId('100010175'); 
     //$order->setState(Mage_Sales_Model_Order::STATE_COMPLETE, true); 
     $order->setData('state', "complete"); 
     $order->setStatus("complete");  
     $history = $order->addStatusHistoryComment('Order was set to Complete by our automation tool.', false); 
     $history->setIsCustomerNotified(false); 
     $order->save(); 

위의 방법을 사용하여 상태를 업데이트하면 상태 만 업데이트됩니다. 그러나 주문 금액은 평생 판매에 추가되지 않으며 대시 보드 메인 페이지에 표시됩니다.

누구든지 내게 알려 주실 수 있습니다. 얼마나 주문 금액을 평생 판매 총계로 업데이트 할 수 있습니까? 주문 상태도 업데이트됩니까?

답변

0

주문 금액이 생성 된 경우에만 주문 기간이 판매 시간에 추가됩니다. 따라서 주문의 송장을 생성해야합니다.

아래 주어진 코드를 사용하여 프로그래밍 방식으로 주문 송장을 생성 할 수 있습니다.

$invoice = $order->prepareInvoice();     
$invoice->register()->capture(); 
Mage::getModel('core/resource_transaction') 
      ->addObject($invoice) 
      ->addObject($invoice->getOrder()) 
      ->save(); 
$order->addStatusToHistory(Mage_Sales_Model_Order::STATE_PROCESSING,'Invoice generated successfully.'); 
$order->save(); 
+0

위의 코드는 다른 코드를 사용하여 인보이스를 만들 때 오류가 발생했습니다. 그러나 상태를 변경하기 전에 인보이스 작성에 대한 아이디어는 내 대답에 대한 해결책을 찾는 데 도움이되었습니다. 그러므로 나는 당신의 대답을 받아들입니다. 고맙습니다 –