Odoo自动编码 亲测

方案一:代码实现自动编号

优点:如果移植程序后,不需要重新配置

缺点:不方便

代码结构:

1、XML代码

a、建一个qhdata文件夹,新建一个xml文件'qhdata/qh_sequence.xml' 

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data noupdate="1">
        <record id="sequence_confirm_price" model="ir.sequence">
            <field name="name">任务池自动编码</field>
            <field name="code">qhfendan.pool.qh_number</field>
            <field name="prefix">QHRW%(year)s%(month)s%(day)s</field>
            <field name="padding">5</field>
            <field name="number_next">1</field>
            <!-- <field name="number_increment">1</field> -->
            <!-- <field name="company_id" eval="False"/> -->
        </record>
    </data>
</odoo>
  • name: 序列名称
  • code: 序列代码,通常为实现的模型名称
  • implemetiton: 实现方式。序列有两种实现方式,一种为标准方式(Strandard),另外一种为非间断式(No gap)。两者的区别在于,标准方式允许中间断层(1,2,4,6),而非间断式即不允许断层(1,2,3,4)。非间断式的性能开销要大于标准方式。
  • prefix: 前缀,即生成的序列号的前缀。
  • suffix: 后缀,即生成的序列号的后缀。
  • padding: 序列不包含前缀和后缀的长度。
  • step: 步长,即序列号增长的长度,默认值为1。
  • number_next_actual: 下一序列号数字。

  1. Current Year with Century: %(year)s

  2. Current Year without Century: %(y)s

  3. Month: %(month)s

  4. Day: %(day)s

  5. Day of the Year: %(doy)s

  6. Week of the Year: %(woy)s

  7. Day of the Week (0:Monday): %(weekday)s

  8. Hour 00->24: %(h24)s

  9. Hour 00->12: %(h12)s

  10. Minute: %(min)s

  11. Second: %(sec)s

 

b、__manifest__.py文件引入XML文件

2、模型文件写方法

@api.model
    def create(self, vals):
        vals['qh_number'] = self.env['ir.sequence'].next_by_code('qhfendan.pool.qh_number')
        return super(QhFenDanPool,self).create(vals)

3、设置

路径:设置/技术/序号

将公司清空,否则只在选中公司有效

效果展示:

方案二:配置实现自动编号

 路径:设置/技术/序号

按路径新建即可,

优点:方便

缺点:如果移植程序后,需要重新配置

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值