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

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

Odoo 中文社区

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

odoo自动生成日期序号

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
3 帖子 2 发布者 1.8k 浏览 2 关注中
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 阿 离线
    阿 离线
    阿巴阿巴
    发表于 最后由 编辑
    #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
    • 阿 阿巴阿巴

      如下代码所示:创建的序号是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})]"/>
      
      阿 离线
      阿 离线
      阿巴阿巴
      发表于 最后由 编辑
      #2

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

      H 1 条回复 最后回复
      0
      • 阿 阿巴阿巴

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

        H 离线
        H 离线
        haoy
        发表于 最后由 编辑
        #3

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

        1 条回复 最后回复
        0

        你好!看起来您对这段对话很感兴趣,但您还没有一个账号。

        厌倦了每次访问都刷到同样的帖子?您注册账号后,您每次返回时都能精准定位到您上次浏览的位置,并可选择接收新回复通知(通过邮件或推送通知)。您还能收藏书签、为帖子顶,向社区成员表达您的欣赏。

        有了你的建议,这篇帖子会更精彩哦 💗

        注册 登录
        回复
        • 在新帖中回复
        登录后回复
        • 从旧到新
        • 从新到旧
        • 最多赞同


        • 登录

        • 没有帐号? 注册

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