2
我正尝试以编程方式创建Magento贷项凭证,但Magento向我显示零总计的贷项凭证。如何以编程方式在magento中创建贷项凭证
$incrementID = "100000016";
$orderMagento = Mage::getModel('sales/order')->loadByIncrementId($incrementID);
$convertOrder = new Mage_Sales_Model_Convert_Order();
$creditmemo = $convertOrder->toCreditmemo ($orderMagento);
$items = $orderMagento->getAllItems();
foreach ($items as $item) {
$_eachCreditMemoItem = $convertOrder->itemToCreditmemoItem ($item);
$_eachCreditMemoItem->setQty ($item->getQtyInvoiced());
$_eachCreditMemoItem->register();
$creditmemo->addItem ($_eachCreditMemoItem);
$totalQty += $item->getQtyInvoiced();
}
$creditmemo->refund();
$creditmemo->setTotalQty ($totalQty);
$creditmemo->collectTotals();
$orderCreditMemoStatusCode = Mage_Sales_Model_Order::STATE_CLOSED;
$orderCreditMemoStatusComment = $comment;
$saveTransaction = Mage::getModel('core/resource_transaction')->addObject ($creditmemo)->addObject ($orderMagento)->save();
$orderMagento->addStatusToHistory ($orderCreditMemoStatusCode, $orderCreditMemoStatusComment, false);
$orderMagento->save();
我在StackOverflow中找到了这段代码,我正在尝试使用它,但它不起作用。
为什么总数没有更新?哪个是创建它的正确方法?
感谢
最好的方法是遵循在贷项凭证控制器中处理这些步骤和代码。将日志行放入控制器中,查看数据的外观,然后尝试将输入格式设置为与控制器所需的类似。事实上,当你试图在代码中复制一些在控制器中完成的事情时,你应该这样做。 – Marius