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

    大神好!
    我建了个简单的采购订单扩展模块,代码如下。
    重启odoo后,没有报错,修改视图后在采购订单行中可以看到新增的这几个字段。但是方法没有执行:
    product_qty&price_unit并按代码没有赋值。将下面的代码简单改为对myprice字段赋值或提示告警,方法一样没有反应。

    '''
    from datetime import datetime
    from dateutil.relativedelta import relativedelta

    from odoo import api, fields, models, SUPERUSER_ID, _
    from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT
    from odoo.tools.float_utils import float_compare
    from odoo.exceptions import UserError, AccessError
    from odoo.tools.misc import formatLang
    from odoo.addons import decimal_precision as dp
    from odoo.exceptions import ValidationError
    from itertools import groupby

    class PurchaseOrderLine(models.Model):
    """ Defines purchase oder """
    _inherit = ['purchase.order.line']

    x_specification = fields.Char(related='product_id.prd_specification',string=u'规格')
    x_standard_price = fields.Float(related='product_id.standard_price',string=u'标准单价')
    myprice = fields.Float(string=u'标准单价1')
    

    @api.onchange('product_id')
    def onchange_product_id(self):
    res = super(PurchaseOrderLine,
    for rec in self:
    rec.product_qty = 10 # will trigger _onchange_quantity() on return

    return res
    

    @api.onchange('product_qty', 'product_uom')
    def _onchange_quantity(self):
    res = super(PurchaseOrderLine, self)._onchange_quantity()
    for rec in self:
    rec.price_unit = 2.0

    return res
    

    '''

    F 1 条回复 最后回复
    0
    • F floatingdudu

      大神好!
      我建了个简单的采购订单扩展模块,代码如下。
      重启odoo后,没有报错,修改视图后在采购订单行中可以看到新增的这几个字段。但是方法没有执行:
      product_qty&price_unit并按代码没有赋值。将下面的代码简单改为对myprice字段赋值或提示告警,方法一样没有反应。

      '''
      from datetime import datetime
      from dateutil.relativedelta import relativedelta

      from odoo import api, fields, models, SUPERUSER_ID, _
      from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT
      from odoo.tools.float_utils import float_compare
      from odoo.exceptions import UserError, AccessError
      from odoo.tools.misc import formatLang
      from odoo.addons import decimal_precision as dp
      from odoo.exceptions import ValidationError
      from itertools import groupby

      class PurchaseOrderLine(models.Model):
      """ Defines purchase oder """
      _inherit = ['purchase.order.line']

      x_specification = fields.Char(related='product_id.prd_specification',string=u'规格')
      x_standard_price = fields.Float(related='product_id.standard_price',string=u'标准单价')
      myprice = fields.Float(string=u'标准单价1')
      

      @api.onchange('product_id')
      def onchange_product_id(self):
      res = super(PurchaseOrderLine,
      for rec in self:
      rec.product_qty = 10 # will trigger _onchange_quantity() on return

      return res
      

      @api.onchange('product_qty', 'product_uom')
      def _onchange_quantity(self):
      res = super(PurchaseOrderLine, self)._onchange_quantity()
      for rec in self:
      rec.price_unit = 2.0

      return res
      

      '''

      F 离线
      F 离线
      floatingdudu
      发表于 最后由 编辑
      #2

      @floatingdudu 在 为什么扩展模块的方法不工作? 中说:

      product_qty&price_unit并按代码没有赋值
      敲错了,应为: product_qty&price_unit没有按代码赋值

      F 1 条回复 最后回复
      0
      • F floatingdudu

        @floatingdudu 在 为什么扩展模块的方法不工作? 中说:

        product_qty&price_unit并按代码没有赋值
        敲错了,应为: product_qty&price_unit没有按代码赋值

        F 离线
        F 离线
        floatingdudu
        发表于 最后由 编辑
        #3

        @floatingdudu 在 为什么扩展模块的方法不工作? 中说:

        @floatingdudu 在 为什么扩展模块的方法不工作? 中说:

        product_qty&price_unit并按代码没有赋值
        敲错了,应为: product_qty&price_unit没有按代码赋值

        是否和manifest/security设置有关呢?

        F 1 条回复 最后回复
        0
        • F floatingdudu

          @floatingdudu 在 为什么扩展模块的方法不工作? 中说:

          @floatingdudu 在 为什么扩展模块的方法不工作? 中说:

          product_qty&price_unit并按代码没有赋值
          敲错了,应为: product_qty&price_unit没有按代码赋值

          是否和manifest/security设置有关呢?

          F 离线
          F 离线
          floatingdudu
          发表于 最后由 编辑
          #4

          @floatingdudu

          问题已经解决,格式有点问题

          1 条回复 最后回复
          0

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

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

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

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


          • 登录

          • 没有帐号? 注册

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