odoo根据当前时间生成序列号
2017-03-13 18:09
267 查看
odoo在创建一个新的订单或者创建一个新的采购单等涉及到编号的记录的时候,可以根据当前时间自动生成生成这个编号
比如现在已经有一个Fund的model:
现在想在创建一个新的Fund时能自动生成一个编号,这个字段为name。
首先,创建一个fund_sequence_data.xml的文件并放入data文件夹下,及主要在_manifest_.py文件中加入这个新xml文件
以上,<field name="prefix">A%(year)s%(month)s%(day)s</field> 表示:
然后,在model下加如一下方法:
自此,创建一个新纪录时,不用填写编号那个字段,保存时会看到编号会自动生成,编号格式类似: A201701200001
比如现在已经有一个Fund的model:
class Fund(models.Model): _description = 'Fund' _name = 'XXX.fund' name = fields.Char(string=u"编号")
现在想在创建一个新的Fund时能自动生成一个编号,这个字段为name。
首先,创建一个fund_sequence_data.xml的文件并放入data文件夹下,及主要在_manifest_.py文件中加入这个新xml文件
<?xml version="1.0" encoding="utf-8"?> <odoo> <data> <record id="seq_sale_order" model="ir.sequence"> <field name="name">XXX fund</field> <field name="code">XXX.fund</field> <field name="prefix">A%(year)s%(month)s%(day)s</field> <field name="padding">4</field> <field name="company_id" eval="False"/> </record> </data> </odoo>
以上,<field name="prefix">A%(year)s%(month)s%(day)s</field> 表示:
4 位数字表示的当前年份:%(year)s |
两位数的当前年份:%(y)s |
月份:%(month)s |
日: %(day)s |
@api.model def create(self,vals): if not vals.get('name'): vals['name'] = self.env['ir.sequence'].next_by_code('XXX.fund') or '/' print vals['name'] return super(Fund, self).create(vals)
自此,创建一个新纪录时,不用填写编号那个字段,保存时会看到编号会自动生成,编号格式类似: A201701200001
相关文章推荐
- odoo根据当前时间自动生成序列号
- 如何根据当前时间生成唯一编号
- bat根据当前时间生成文件名称
- 用硬盘物理编号(序列号)、mac地址、文件版本、当前时间来生成机器序列号
- c#根据当前系统时间生成的随机序列数
- 用JS实现根据当前时间随机生成流水号或者订单号
- 函数:以当前时间为文件名的生成
- php不用GD库生成当前时间的PNG格式图象的程序第1/2页
- 根据当前日期获取本周起止时间
- 根据日期时间和随机量生成唯一ID!!
- 根据USB 序列号 生成USB Key
- C#根据当前时间确定日期范围(本周、本月、本季度、本年度)
- 根据网卡MAC地址生成序列号
- 收藏:如何根据当前MDB中的表生成对应的JET SQL DDL “CREATE TABLE”语句/脚本?
- C#根据当前时间确定日期范围(本周、本月、本季度、本年度)
- c# 根据当前时间获取,本周,本月,本季度,月初,月末,各个时间段
- php不用GD库生成当前时间的PNG格式图象的程序第1/2页
- 不用GD库生成当前时间的PNG格式图象的程序
- ASP.NET 根据当前日期生成当月日历
- ASP.net根据时间生成随机文件名