码迷,mamicode.com
首页 > 其他好文 > 详细

利用ir.sequence自动生成序列号

时间:2019-04-28 15:22:13      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:padding   lse   any   导入   1.0   inf   env   创建   规则   

利用ir.sequence自动生成序列号

什么是序列号

可以这么理解,我有一个产品序号,编码的前缀是SOP,后缀是0001~9999的序号,没生成一个产品就自动流水加一,序列号不会重复,odoo中的ir.sequence这个模型提供了这个方法。

建立序号规则对象

建立一个XML,并记得在__mainfest__.py中导入

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data noupdate="1">
        <!-- Sequences for sale.order -->
        <record id="my_sale_sequence" model="ir.sequence">
            <field name="name">Sales Order</field>
            <field name="code">my_sale.sale_order</field>
            <field name="prefix">SO</field>
            <field name="padding">3</field>
            <field name="company_id" eval="False"/>
        </record>

    </data>
</odoo>

name?序列规则得名称,可自定义
code 序列规则得编码,要求最好唯一,使用模块.表名来命确保唯一
prefix 序号编码的前缀
padding 填充数据的位数

创建数据时自动获取序号

@api.model
    def create(self, vals):
        vals['name'] = self.env['ir.sequence'].next_by_code('wf_sale.sale_order')
        return super(SaleOrder,self).create(vals)

利用ir.sequence自动生成序列号

标签:padding   lse   any   导入   1.0   inf   env   创建   规则   

原文地址:https://www.cnblogs.com/Kingfan1993/p/10784035.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!