Magento获取发票号

Magento获取发票号,magento,module,Magento,Module,我正在尝试为Magento构建一个模块,用于获取发票号。主要问题是我遇到了一个致命错误:在第19行($invoice creation line),对非对象调用成员函数getIncrementId()。我的职能是: $invoice = $observer->getEvent()->getInvoice()->getIncrementId(); $last4 = substr($invoice, -4); $shipment = $observer->

我正在尝试为Magento构建一个模块,用于获取发票号。主要问题是我遇到了一个致命错误:在第19行($invoice creation line),对非对象调用成员函数getIncrementId()。我的职能是:

 $invoice = $observer->getEvent()->getInvoice()->getIncrementId();
    $last4 = substr($invoice, -4);

    $shipment = $observer->getEvent()->getShipment();
    $track = Mage::getModel('sales/order_shipment_track')
            ->setNumber($last4) //tracking number / awb number
            ->setCarrierCode('custom') //carrier code
            ->setTitle('Custom'); //carrier title
    $shipment->addTrack($track);

尝试用以下代码替换第一行代码

$invoice = $observer->getEvent()->getOrder()->getIncrementId();

使用getInvoice()方法获取订单可能会返回null,这将显示第19行中的错误。

您需要澄清您正在观察的事件。销售\订单\发货\保存\在它只有发货设备之前,您可以尝试使用
$shipping->getOrder()->getInvoiceCollection()->getLastItem()
或First invoice任意选择。好的,谢谢,我会检查它。我尝试过使用该功能,但invoice没有得到值。对不起,有什么我需要补充的吗?