Loading

Odoo 中创建序列并生成用于记录的序列值

简介

总是需要自动编号的,物资要编号,档案要编号,怎么在odoo自动编号

一:使用xml注册序列

data/sequence.xml    记得注册到__manifest__.py

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data noupdate="1">

        <record id="it_equipment_sequence" model="ir.sequence">
            <field name="name">it_equipment_sequence</field>
            <field name="code">it_equipment.seq</field>
            <field name="prefix">T%(range_year)s</field>
            <field name="padding">8</field>
        </record>

    </data>
</odoo>

这时,你在技术-序列,就可以看到定义的序列了。也能看到prefix的各种变量

使用range_就是会在改变这个变量值的时候重新从1开始计算了。

二:使用序列

model.py

创建时获取(会跳号)

 asset_code = fields.Char(string='资产编码', default=lambda self: self.env['ir.sequence'].next_by_code('it.equipment.seq'))

保存时获取(不跳号)

@api.model
def create(self, vals):
# We generate a standard reference
vals['asset_code'] = self.env['ir.sequence'].next_by_code('it.equipment.seq') or '/'
return super(equipment, self).create(vals)

 

posted @ 2022-07-23 08:52  上官飞鸿  阅读(238)  评论(0)    收藏  举报