zoukankan      html  css  js  c++  java
  • odoo10如何自定义自动生成单据编号

    1.在已有的model中穿件一个字段name
    class qingjiadan(models.Model):
    _name = 'qingjia.qingjiadan'

    name = fields.Char(string='编号', readonly=True)
    2.创建qingjia_apply_data.xml文件并放入data文件夹下,并且在__manifest.py__文件中加入这个xml文件

    <?xml version="1.0" encoding="utf-8"?>
    <odoo>
    <data noupdate="1">
    <record id="seq_qingjia_apply" model="ir.sequence">
    <field name="name">请假单编号</field>
    <field name="code">qingjia.qingjiadan</field>
    <field name="prefix">QJSQ%(year)s%(month)s%(day)s</field>
    <field name="padding">3</field>
    </record>
    </data>
    </odoo>

    3.model中加入如下方法

    @api.model
    def create(self, vals):
    if not vals.get('name'):
    vals['name'] = self.env['ir.sequence'].next_by_code('qingjia.qingjiadan') or '/'
    print vals['name']

    return super(qingjiadan, self).create(vals)

    单据编号格式为QJSQ + 年月日 + 三位数的顺序编号
    QJSQ20170102001
    QJSQ20170102002
    QJSQ20170102003



  • 相关阅读:
    正则表达式
    移动开发知识点收集
    SQL Server
    百度数据图表插件Echarts
    Xamarin
    Func与Action
    MVC Core
    利用 async & await 的异步编程
    CSS3
    [leetcode]374. Guess Number Higher or Lower
  • 原文地址:https://www.cnblogs.com/zcy1103/p/8178609.html
Copyright © 2011-2022 走看看