跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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 开发与实施交流
3 帖子 1 发布者 2.9k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • P 离线
    P 离线
    pophu
    写于 最后由 编辑
    #1

    继承前一个模块,其中的函数是否支持函数重载

    如继承sale.order 类,只增加一个字段 total_discount (好像国外都是售价和税分开算,加成后为总价。中国喜欢算个总价然后打个折扣)

    当然需要在 新的form_view增加个 field

    现在我需要重写_amount_all ()函数  计算总价

    新写的view 又没有地方引入新写的方法,所以重写的 _amount_all 不会被执行,

    这个怎么解决: 新的form_view  重写amount_total,那又怎么删除以前的标签呢?

    1 条回复 最后回复
    0
    • P 离线
      P 离线
      pophu
      写于 最后由 编辑
      #2

      用  position="replace"  代替父视图相关定义,就可以在父视图调用子类的方法

                      <xpath expr="//field[@name='standard_price']" position="replace">
                              <group name='cost_prices' colspan="2" col="4">
                                  <field name="standard_price" nolabel="1" attrs="{'readonly':[('cost_method','=','average')]}"/>
                                  <field name="cost_price_extra" groups="product.group_product_variant"/>
                              </group>
                      </xpath>

                      <xpath expr="//button[@name='open_ui']" position="replace">
                          <button name="open_ui" type="object" string="Start Selling" attrs="{'invisible' : [('pos_state', 'not in', ('opened',))]}" class="oe_highlight" invisible="True"/>
                      </xpath>

      1 条回复 最后回复
      0

      • 登录

      • 没有帐号? 注册

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