工作中需求展示当前工作流版本,设置自增,尝试使用ir.sequernce的方式生成版本号
version字段引用xml中定义的序列
<field name='version' readonly="1" ref='sequence_wkf_seq'/>
在xml中定义一个序列
<record id="sequence_wkf_seq" model="ir.sequence">
<field name="name">workflow sequence</field>
<field name="code">workflow.reconcile</field>
<!--<field name="prefix">LIB</field>-->
<field eval="1" name="number_next"/>
<field eval="1" name="number_increment"/>
<field eval="True" name="use_date_range"/>
<field eval="False" name="company_id"/>
<field name="padding">4</field>
</record>
参数说明:
name:当前序列的名称
code:需要序列化的模型的name
prefix:前缀
padding:序列的位数
重写create方法,新增workflow时,取出当前序列的下一个编号赋值给version
@api.model
def create(self, vals):
vals['version'] = self.env['ir.sequence'].next_by_code('workflow.reconcile')
odooworkflow.clear_cache(self._cr, self._uid)
return super(Workflow, self).create(vals)