zoukankan      html  css  js  c++  java
  • 利用ir.sequence自动生成序列号

    利用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)
    
  • 相关阅读:
    2019hdu多校1
    codefroce842C
    [codeforce686D]树的重心
    [codeforce1188C&D]
    Educational Codeforces Round 66
    [hdu4343]interval query
    Luogu 4234 最小差值生成树
    BZOJ 2594 水管局长
    Luogu 2173 [ZJOI2012]网络
    Luogu 2147 洞穴勘测
  • 原文地址:https://www.cnblogs.com/Kingfan1993/p/10784035.html
Copyright © 2011-2022 走看看