跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 浅色
  • 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. stock.picking的sale_id无法调用的问题

stock.picking的sale_id无法调用的问题

已定时 已固定 已锁定 已移动 未解决 Odoo 新手求助
2 帖子 2 发布者 4.6k 浏览 2 关注中
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • B 离线
    B 离线
    billchen0769
    发表于 最后由 编辑
    #1

    from odoo import api, fields, models, _

    class StockPickingInherit(models.Model):
    _inherit = "stock.picking"

    x_partner_ref = fields.Char(string='流水号', compute='_compute_partner_ref', store=True)
    
    
    @api.depends('purchase_id.partner_ref', 'sale_id.x_serial')
    def _compute_partner_ref(self):
        for picking in self:
            if picking.purchase_id:
                picking.x_partner_ref = picking.purchase_id.partner_ref
            elif picking.sale_id:
                picking.x_partner_ref = picking.sale_id.x_serial
            else:
                picking.x_partner_ref = False
    

    在上面代码中会报这个错误:
    ValueError: Wrong @depends on '_compute_partner_ref' (compute method of field stock.picking.x_partner_ref). Dependency field 'sale_id' not found in model stock.picking.
    但是用下面这个方法就没问题:

    @api.depends('purchase_id.partner_ref')
    def _compute_partner_ref(self):
        for picking in self:
            if picking.purchase_id:
                picking.x_partner_ref = picking.purchase_id.partner_ref
            else:
                picking.x_partner_ref = False
    

    是不是在stock.picking中需要扩展sale_id字段?请问应该如何改造?

    JoshuaJ 1 条回复 最后回复
    0
    • B billchen0769

      from odoo import api, fields, models, _

      class StockPickingInherit(models.Model):
      _inherit = "stock.picking"

      x_partner_ref = fields.Char(string='流水号', compute='_compute_partner_ref', store=True)
      
      
      @api.depends('purchase_id.partner_ref', 'sale_id.x_serial')
      def _compute_partner_ref(self):
          for picking in self:
              if picking.purchase_id:
                  picking.x_partner_ref = picking.purchase_id.partner_ref
              elif picking.sale_id:
                  picking.x_partner_ref = picking.sale_id.x_serial
              else:
                  picking.x_partner_ref = False
      

      在上面代码中会报这个错误:
      ValueError: Wrong @depends on '_compute_partner_ref' (compute method of field stock.picking.x_partner_ref). Dependency field 'sale_id' not found in model stock.picking.
      但是用下面这个方法就没问题:

      @api.depends('purchase_id.partner_ref')
      def _compute_partner_ref(self):
          for picking in self:
              if picking.purchase_id:
                  picking.x_partner_ref = picking.purchase_id.partner_ref
              else:
                  picking.x_partner_ref = False
      

      是不是在stock.picking中需要扩展sale_id字段?请问应该如何改造?

      JoshuaJ 离线
      JoshuaJ 离线
      Joshua
      管理员
      发表于 最后由 编辑
      #2

      @billchen0769 请问,这个问题解决了么?建议在发贴时说明你使用的odoo版本。

      【上海先安科技】(joshua AT openerp.cn),欢迎关注公众号:openerp_cn

      1 条回复 最后回复
      0

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

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

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

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


      • 登录

      • 没有帐号? 注册

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