跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 开发与实施交流
  4. odoo自动生成日期序号

odoo自动生成日期序号

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
3 帖子 2 发布者 810 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 阿 离线
    阿 离线
    阿巴阿巴
    写于 最后由 编辑
    #1

    如下代码所示:创建的序号是XH-20220119-001,XH-20220119-002,但是在第二天的时候,序号是XH-20220120-003。我希望在每个新的一天中,序号能从001开始,即XH-20220120-001,而不是接着上一天的。不知道需要怎么做,希望得到大家的回答,谢谢!

    class ModelA(models.Model):
        """..."""
        code = fields.Char(string='序号', readonly=True, default=lambda x: '自动生成')
    
        # 自动生成一个编号,ir.sequence模型在 data/sequence.xml中
        @api.model
        def create(self, vals):
            if not vals.get('code') or vals.get('code') == '自动生成':
                vals['code'] = self.env['ir.sequence'].next_by_code('model_A_code')
            return super(ModelA, self).create(vals)
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <odoo>
        <data>
            <!-- 生成单据编号 -->
            <record id="model_A_code" model="ir.sequence">
                <field name="name">序号</field>
                <field name="code">model_A_code</field>
                <field name="prefix">XH-%(year)s%(month)s%(day)s-</field>
                <field name="padding">3</field>
                <field name="use_date_range">True</field>
                <field name="date_range_ids"
                       eval="[(0,0,{'date_from':datetime.today(),'date_to':datetime.today(),'number_next':1})]"/>
            </record>
        </data>
    </odoo>
    

    补充:这个代码是我根据ir.sequence模型和设置→技术→自动化→安排的动作进行编写的,不确定它能否每天更新。

    <field name="date_range_ids"
           eval="[(0,0,{'date_from':datetime.today(),'date_to':datetime.today(),'number_next':1})]"/>
    
    阿 1 条回复 最后回复
    0
    • 阿 离线
      阿 离线
      阿巴阿巴
      在 回复了 阿巴阿巴 最后由 编辑
      #2

      @阿巴阿巴
      补充里有一点说错了,“设置→技术→自动化→安排的动作”应该是“设置→技术→顺序号与标识号→顺序号”的。

      H 1 条回复 最后回复
      0
      • H 离线
        H 离线
        haoy
        在 回复了 阿巴阿巴 最后由 编辑
        #3

        @阿巴阿巴 设置日期范围为一天就好

        1 条回复 最后回复
        0

        • 登录

        • 没有帐号? 注册

        • 登录或注册以进行搜索。
        • 第一个帖子
          最后一个帖子
        0
        • 版块
        • 标签
        • 热门
        • 用户
        • 群组