我想重新编号发票。重编号应按如下方式组成。
我希望发票ID的格式为:INV-10001-2014
INV-00001-13; INV-00002-13; O型00003-13; ['INV'代表发票,5个名额; “ - ”;今年。明年这个编号应该在14(从2014年)开始。
答案 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)