更新订单状态时,生命周期销售总额不会改变

The life time sales total is not changing on updating the status of the order

我想批量更新相当多订单的状态,从待处理状态更新为完成状态,因此我尝试以编程方式进行,因为 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();

但是当我使用上述方法更新状态时,只有状态正在更新完成。但是订单金额并没有添加到显示在仪表板主页上的生命周期销售额中。

谁能告诉我,如何将订单金额也更新为终身销售总额,同时更新订单状态?

只有在生成订单发票后,订单金额才会添加到生命周期销售额中。所以您还需要创建订单的发票。

您可以使用下面给出的代码以编程方式生成订单发票。

 $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();