odoo自动生成日期序号
-
如下代码所示:创建的序号是XH-20220119-001,XH-20220119-002,但是在第二天的时候,序号是XH-20220120-003。我希望在每个新的一天中,序号能从001开始,即XH-20220120-001,而不是接着上一天的。不知道需要怎么做,希望得到大家的回答,谢谢!
class ModelA(models.Model): """...""" code = fields.Char(string='序号', readonly=True, default=lambda x: '自动生成') # 自动生成一个编号,ir.sequence模型在 data/sequence.xml中 @api.model def create(self, vals): if not vals.get('code') or vals.get('code') == '自动生成': vals['code'] = self.env['ir.sequence'].next_by_code('model_A_code') return super(ModelA, self).create(vals)<?xml version="1.0" encoding="UTF-8" ?> <odoo> <data> <!-- 生成单据编号 --> <record id="model_A_code" model="ir.sequence"> <field name="name">序号</field> <field name="code">model_A_code</field> <field name="prefix">XH-%(year)s%(month)s%(day)s-</field> <field name="padding">3</field> <field name="use_date_range">True</field> <field name="date_range_ids" eval="[(0,0,{'date_from':datetime.today(),'date_to':datetime.today(),'number_next':1})]"/> </record> </data> </odoo>补充:这个代码是我根据ir.sequence模型和设置→技术→自动化→安排的动作进行编写的,不确定它能否每天更新。
<field name="date_range_ids" eval="[(0,0,{'date_from':datetime.today(),'date_to':datetime.today(),'number_next':1})]"/> -
如下代码所示:创建的序号是XH-20220119-001,XH-20220119-002,但是在第二天的时候,序号是XH-20220120-003。我希望在每个新的一天中,序号能从001开始,即XH-20220120-001,而不是接着上一天的。不知道需要怎么做,希望得到大家的回答,谢谢!
class ModelA(models.Model): """...""" code = fields.Char(string='序号', readonly=True, default=lambda x: '自动生成') # 自动生成一个编号,ir.sequence模型在 data/sequence.xml中 @api.model def create(self, vals): if not vals.get('code') or vals.get('code') == '自动生成': vals['code'] = self.env['ir.sequence'].next_by_code('model_A_code') return super(ModelA, self).create(vals)<?xml version="1.0" encoding="UTF-8" ?> <odoo> <data> <!-- 生成单据编号 --> <record id="model_A_code" model="ir.sequence"> <field name="name">序号</field> <field name="code">model_A_code</field> <field name="prefix">XH-%(year)s%(month)s%(day)s-</field> <field name="padding">3</field> <field name="use_date_range">True</field> <field name="date_range_ids" eval="[(0,0,{'date_from':datetime.today(),'date_to':datetime.today(),'number_next':1})]"/> </record> </data> </odoo>补充:这个代码是我根据ir.sequence模型和设置→技术→自动化→安排的动作进行编写的,不确定它能否每天更新。
<field name="date_range_ids" eval="[(0,0,{'date_from':datetime.today(),'date_to':datetime.today(),'number_next':1})]"/>
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login