3

我需要将我的默认发票编号从 修改1000000012012 - 00001

我知道在哪里可以找到increment_last_idtable eav_entity_store。但我不知道我必须设置什么才能采用新的发票编号格式。

请提供一些建议。

4

3 回答 3

1

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;
}

这样,您不必为此手动更改数据库结构中的任何内容。

希望这会帮助你。

于 2014-01-23T08:02:59.780 回答
1

如果您想手动操作,请查看@How to Change the Invoice Increment ID and Prefix in Magento(请记住始终进行备份)

于 2012-11-28T16:17:14.500 回答
0

更改发票 ID 的最佳方法是运行以下简单的 sql 查询:

  1. 通过运行以下查询检查 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');

  2. 如果不存在记录,请从 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/

这对我来说很好。

谢谢

于 2017-02-21T16:19:02.047 回答