在我們的訂單過程中,可以發送部分訂單的發票。所以,當一些訂單項目發貨時,發票也必須發送。開具部分訂單;總計未更新
爲了使這成爲可能我使用此代碼:
$invoice = Mage::getModel('sales/service_order', $order)->prepareInvoice($items);
if (!$invoice->getTotalQty()) {
Mage::throwException(Mage::helper('core')->__('Cannot create an invoice without products.'));
}
$invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_ONLINE);
$invoice->register();
$transactionSave = Mage::getModel('core/resource_transaction')
->addObject($invoice)
->addObject($invoice->getOrder());
$transactionSave->save();
$invoice->sendEmail();
$invoice->setEmailSent(true);
$invoice->save();
凡$items
變量是包含訂單ID和產品的量的數組開具發票。
創建的發票顯示要開票的正確產品,但不知何故合計未更新。總數仍然是完整訂單的總數,而不是部分發票。
我可能必須更新或重新計算總計,但無法找到正確的代碼來強制更新。
任何人都可以讓我在正確的方向嗎?
您能否提供您的$ items數組的示例內容? – 2011-04-18 13:01:27
已經發現問題了,謝謝你的幫助! – pderaaij 2011-04-18 13:05:25