odoo 自定义单据编号

在开发模块的时候,我们有时需要像销售采购那些订单一样,在单据头那里创建一个序列号, odoo是如何在每次建单的时候这样自动地生成一个单据编号呢? 在odoo中

在开发模块的时候,我们有时需要像销售采购那些订单一样,在单据头那里创建一个序列号,

odoo是如何在每次建单的时候这样自动地生成一个单据编号呢?

在odoo中编号所对应的模型是ir.sequence

方式一:通过界面创建

激活开发者模式,依次点击 技术>>序号

 

 

方式二:通过xml创建:

记得在__manifest__文件中导入


Product Confirm Priceproduct.confirm.pricePR/%(y)s/%(month)s/511

 

重写create方法为编号字段赋值:

    @api.modeldef create(self, vals):seq_date = fields.Datetime.context_timestamp(self, fields.Datetime.to_datetime(vals['date']))vals['name'] = self.env['ir.sequence'].next_by_code('product.confirm.price', sequence_date=seq_date) or _('New')return super(ProductConfirmPrice, self).create(vals)