Magento - 自定义发票ID格式

时间:2013-12-06 10:49:43

标签: php magento invoice

我想重新编号发票。重编号应按如下方式组成。

我希望发票ID的格式为:INV-10001-2014

INV-00001-13; INV-00002-13; O型00003-13; ['INV'代表发票,5个名额; “ - ”;今年。明年这个编号应该在14(从2014年)开始。

3 个答案:

答案 0 :(得分:1)

您可以通过编辑以下类来自定义订单/发票/ creditmemo /货件编号(increment_id):

Mage_Eav_Model_Entity_Increment_Numeric

特别是,请仔细查看以下方法的代码:

getNextId(),getPrefix(),getPadLength(),format($ id)

现在,您无法找到方法getPrefix(),getPadLength()的方法定义,因为这些是魔术getter方法。您可以根据自己的愿望定义这些方法。

举个例子:

public function getPrefix(){
     $prefix = $this->_getData('prefix');
     /* Do some customization */
    return $prefix;
} 
public function getPadLength()
{ 
     $padLength = $this->_getData('pad_length');

     /* Do some customization */

     return $padLength;
}

这样,您就不必手动更改数据库结构中的任何内容,以实现此目的。

希望这会对你有所帮助。

答案 1 :(得分:0)

您可以使用事件sales_order_invoice_save_before设置自定义发票号

在观察者方法中使用

$invoice = $observer->getInvoice();

$newInvoiceId = 'Your new Invoice id'

$invoice->setIncrementId($newInvoiceId);

答案 2 :(得分:0)