2013-05-06 2 views
0

Я пытаюсь создать модуль для Magento, который получает номер счета. Основная проблема заключается в том, что я получаю Fatal error: вызов функции-члена getIncrementId() для не-объекта ... в строке 19 (строка создания счета-фактуры). Моя Функция:Magento получить номер счета

$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); 
+0

Необходимо выяснить, какое событие вы наблюдаете. – butterbrot

+0

sales_order_shipment_save_before – HWR

+0

У этого есть только shippment, вы можете попробовать и использовать '$ shipment-> getOrder() -> getInvoiceCollection() -> getLastItem();' или fist-фактуру, что бы вы ни пожелали. – butterbrot

ответ

0

Попробуйте заменить первую строку кода с этим

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

Используя метод getInvoice(), чтобы получить заказ может быть возвращение нуль, который даст вам ошибку вы имеете на строка 19.

Смежные вопросы