首页 > 其他分享 >odoo10如何自定义自动生成单据编号

odoo10如何自定义自动生成单据编号

时间:2023-01-02 11:12:50浏览次数:39  
标签:name 自定义 self qingjiadan odoo10 单据 编号 vals qingjia

1.在已有的model中穿件一个字段name
class qingjiadan(models.Model):
_name = 'qingjia.qingjiadan'
name = fields.Char(string='编号', readonly=True)
2.创建qingjia_apply_data.xml文件并放入data文件夹下,并且在__manifest.py__文件中加入这个xml文件
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record model="ir.sequence">
<field name="name">请假单编号</field>
<field name="code">qingjia.qingjiadan</field>
<field name="prefix">QJSQ%(year)s%(month)s%(day)s</field>
<field name="padding">3</field>
</record>
</data>
</odoo>
3.model中加入如下方法
@api.model
def create(self, vals):
if not vals.get('name'):
vals['name'] = self.env['ir.sequence'].next_by_code('qingjia.qingjiadan') or '/'
print vals['name']
return super(qingjiadan, self).create(vals)

单据编号格式为QJSQ + 年月日 + 三位数的顺序编号
QJSQ20170102001
QJSQ20170102002
QJSQ20170102003

标签:name,自定义,self,qingjiadan,odoo10,单据,编号,vals,qingjia
From: https://www.cnblogs.com/pythonClub/p/17019597.html

相关文章