我需要将我的默认发票编号从 修改100000001
为2012 - 00001
。
我知道在哪里可以找到increment_last_id
table eav_entity_store
。但我不知道我必须设置什么才能采用新的发票编号格式。
请提供一些建议。
increment_id
您可以通过编辑以下类来自定义订单/发票/creditmemo/shipment number ( ):
Mage_Eav_Model_Entity_Increment_Numeric
特别是,仔细查看以下方法的代码:
getNextId()
, getPrefix()
, getPadLength()
,format($id)
现在,您将找不到 methods 的方法定义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;
}
这样,您不必为此手动更改数据库结构中的任何内容。
希望这会帮助你。
如果您想手动操作,请查看@How to Change the Invoice Increment ID and Prefix in Magento(请记住始终进行备份)
更改发票 ID 的最佳方法是运行以下简单的 sql 查询:
通过运行以下查询检查 eav_entity_store 表中是否存在发票记录
select * from eav_entity_store where entity_type_id in (select entity_type_id from eav_entity_type where entity_type_code='invoice');
如果不存在记录,请从 magento 后端创建一张虚拟发票。然后您将在表中有一条记录,现在运行以下脚本:
更新 eav_entity_store 设置 increment_last_id="YOUR_DESIRED_INVOICE_ID", increment_prefix='X-' where entity_type_id in (select entity_type_id from eav_entity_type where entity_type_code='invoice')
试试这个并创建新发票:
更新 eav_entity_store 设置 increment_last_id="0001", increment_prefix='2002' where entity_type_id in (select entity_type_id from eav_entity_type where entity_type_code='invoice')
http://deepakbhatta.com/magento-set-custom-invoice-id/
这对我来说很好。
谢谢