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

    domain [('team_id','ilike',user.sale_team_id.name),(user.id,'=',user.sale_team_id.user_id.id)];

    报错
    错误:
    Odoo Server Error

    Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/odoo/http.py", line 619, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
    File "/usr/lib/python3/dist-packages/odoo/http.py", line 309, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
    File "/usr/lib/python3/dist-packages/odoo/tools/pycompat.py", line 14, in reraise
    raise value
    File "/usr/lib/python3/dist-packages/odoo/http.py", line 664, in dispatch
    result = self._call_function(**self.params)
    File "/usr/lib/python3/dist-packages/odoo/http.py", line 345, in _call_function
    return checked_call(self.db, *args, **kwargs)
    File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 93, in wrapper
    return f(dbname, *args, **kwargs)
    File "/usr/lib/python3/dist-packages/odoo/http.py", line 338, in checked_call
    result = self.endpoint(*a, **kw)
    File "/usr/lib/python3/dist-packages/odoo/http.py", line 909, in call
    return self.method(*args, **kw)
    File "/usr/lib/python3/dist-packages/odoo/http.py", line 510, in response_wrap
    response = f(*args, **kw)
    File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 1277, in search_read
    return self.do_search_read(model, fields, offset, limit, domain, sort)
    File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 1296, in do_search_read
    return Model.web_search_read(domain, fields, offset=offset, limit=limit, order=sort)
    File "/usr/lib/python3/dist-packages/odoo/addons/web/models/models.py", line 36, in web_search_read
    records = self.search_read(domain, fields, offset=offset, limit=limit, order=order)
    File "/usr/lib/python3/dist-packages/odoo/models.py", line 4793, in search_read
    records = self.search(domain or [], offset=offset, limit=limit, order=order)
    File "/usr/lib/python3/dist-packages/odoo/models.py", line 1600, in search
    res = self._search(args, offset=offset, limit=limit, order=order, count=count)
    File "/usr/lib/python3/dist-packages/odoo/models.py", line 4339, in _search
    self._apply_ir_rules(query, 'read')
    File "/usr/lib/python3/dist-packages/odoo/models.py", line 4137, in _apply_ir_rules
    where_clause, where_params, tables = Rule.domain_get(self._name, mode)
    File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_rule.py", line 187, in domain_get
    query = self.env[model_name].sudo()._where_calc(dom, active_test=False)
    File "/usr/lib/python3/dist-packages/odoo/models.py", line 4076, in _where_calc
    e = expression.expression(domain, self)
    File "/usr/lib/python3/dist-packages/odoo/osv/expression.py", line 674, in init
    self.parse()
    File "/usr/lib/python3/dist-packages/odoo/osv/expression.py", line 811, in parse
    self.stack = [ExtendedLeaf(leaf, self.root_model) for leaf in self.expression]
    File "/usr/lib/python3/dist-packages/odoo/osv/expression.py", line 811, in
    self.stack = [ExtendedLeaf(leaf, self.root_model) for leaf in self.expression]
    File "/usr/lib/python3/dist-packages/odoo/osv/expression.py", line 559, in init
    self.check_leaf(internal)
    File "/usr/lib/python3/dist-packages/odoo/osv/expression.py", line 615, in check_leaf
    raise ValueError("Invalid leaf %s" % str(self.leaf))
    ValueError: Invalid leaf (41, '=', 41)

    用的docker 的 odoo13开发的

    A 1 条回复 最后回复
    0
    • 元 元宝

      @digitalsatori 我的业务需求 是一个用户可以是多个团队负责人。然后可以查看负责团队的销售订单 或者 漏洞/线索。 这个大概是往哪个方向 入手。我看楼上说的添加一个计算字段 是什么逻辑。

      D 离线
      D 离线
      digitalsatori
      管理员
      发表于 最后由 编辑
      #10

      @元宝 首先“销售订单”,“漏洞”,”线索“ 对象上要有对应sale_team的外键字段比如team_id . 记得team.user_id就是团队负责人, 所以你的domain可以是:

      [('team_id.user_id', '=', user.id)]
      

      【上海先安科技】(tony AT openerp.cn)

      元 1 条回复 最后回复
      1
      • 元 离线
        元 离线
        元宝
        发表于 最后由 编辑
        #2

        或者有没有其他的domain 判断规则 求大佬指教

        1 条回复 最后回复
        0
        • 元 离线
          元 离线
          元宝
          发表于 最后由 编辑
          #3

          应用场景是 在访问销售订单的时候 判断这个人是不是销售团队的负责人

          1 条回复 最后回复
          0
          • 元 元宝

            domain [('team_id','ilike',user.sale_team_id.name),(user.id,'=',user.sale_team_id.user_id.id)];

            报错
            错误:
            Odoo Server Error

            Traceback (most recent call last):
            File "/usr/lib/python3/dist-packages/odoo/http.py", line 619, in _handle_exception
            return super(JsonRequest, self)._handle_exception(exception)
            File "/usr/lib/python3/dist-packages/odoo/http.py", line 309, in _handle_exception
            raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
            File "/usr/lib/python3/dist-packages/odoo/tools/pycompat.py", line 14, in reraise
            raise value
            File "/usr/lib/python3/dist-packages/odoo/http.py", line 664, in dispatch
            result = self._call_function(**self.params)
            File "/usr/lib/python3/dist-packages/odoo/http.py", line 345, in _call_function
            return checked_call(self.db, *args, **kwargs)
            File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 93, in wrapper
            return f(dbname, *args, **kwargs)
            File "/usr/lib/python3/dist-packages/odoo/http.py", line 338, in checked_call
            result = self.endpoint(*a, **kw)
            File "/usr/lib/python3/dist-packages/odoo/http.py", line 909, in call
            return self.method(*args, **kw)
            File "/usr/lib/python3/dist-packages/odoo/http.py", line 510, in response_wrap
            response = f(*args, **kw)
            File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 1277, in search_read
            return self.do_search_read(model, fields, offset, limit, domain, sort)
            File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 1296, in do_search_read
            return Model.web_search_read(domain, fields, offset=offset, limit=limit, order=sort)
            File "/usr/lib/python3/dist-packages/odoo/addons/web/models/models.py", line 36, in web_search_read
            records = self.search_read(domain, fields, offset=offset, limit=limit, order=order)
            File "/usr/lib/python3/dist-packages/odoo/models.py", line 4793, in search_read
            records = self.search(domain or [], offset=offset, limit=limit, order=order)
            File "/usr/lib/python3/dist-packages/odoo/models.py", line 1600, in search
            res = self._search(args, offset=offset, limit=limit, order=order, count=count)
            File "/usr/lib/python3/dist-packages/odoo/models.py", line 4339, in _search
            self._apply_ir_rules(query, 'read')
            File "/usr/lib/python3/dist-packages/odoo/models.py", line 4137, in _apply_ir_rules
            where_clause, where_params, tables = Rule.domain_get(self._name, mode)
            File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_rule.py", line 187, in domain_get
            query = self.env[model_name].sudo()._where_calc(dom, active_test=False)
            File "/usr/lib/python3/dist-packages/odoo/models.py", line 4076, in _where_calc
            e = expression.expression(domain, self)
            File "/usr/lib/python3/dist-packages/odoo/osv/expression.py", line 674, in init
            self.parse()
            File "/usr/lib/python3/dist-packages/odoo/osv/expression.py", line 811, in parse
            self.stack = [ExtendedLeaf(leaf, self.root_model) for leaf in self.expression]
            File "/usr/lib/python3/dist-packages/odoo/osv/expression.py", line 811, in
            self.stack = [ExtendedLeaf(leaf, self.root_model) for leaf in self.expression]
            File "/usr/lib/python3/dist-packages/odoo/osv/expression.py", line 559, in init
            self.check_leaf(internal)
            File "/usr/lib/python3/dist-packages/odoo/osv/expression.py", line 615, in check_leaf
            raise ValueError("Invalid leaf %s" % str(self.leaf))
            ValueError: Invalid leaf (41, '=', 41)

            用的docker 的 odoo13开发的

            A 离线
            A 离线
            andy huang
            发表于 最后由 编辑
            #4

            @元宝 添加一个计算字段就可以搞定

            元 1 条回复 最后回复
            0
            • A andy huang

              @元宝 添加一个计算字段就可以搞定

              元 离线
              元 离线
              元宝
              发表于 最后由 编辑
              #5

              @andy-huang 是在res.user里添加一个字段 用来计算吗。有具体步骤逻辑吗。公司业务需求 刚学odoo 还没太明白

              1 条回复 最后回复
              0
              • 元 离线
                元 离线
                元宝
                发表于 最后由 编辑
                #6

                @digitalsatori 大佬能提供思路吗

                1 条回复 最后回复
                0
                • D 离线
                  D 离线
                  digitalsatori
                  管理员
                  发表于 最后由 编辑
                  #7

                  感觉你的问题的标题和内容不搭啊。
                  domain不是用来判断用户是否为销售团队负责人的,domain是用来作为过滤条件过滤记录的。你是要在什么对象上使用domain,想要如何过滤记录。

                  【上海先安科技】(tony AT openerp.cn)

                  元 2 条回复 最后回复
                  0
                  • D digitalsatori

                    感觉你的问题的标题和内容不搭啊。
                    domain不是用来判断用户是否为销售团队负责人的,domain是用来作为过滤条件过滤记录的。你是要在什么对象上使用domain,想要如何过滤记录。

                    元 离线
                    元 离线
                    元宝
                    发表于 最后由 编辑
                    #8

                    @digitalsatori 我现在大概了解了。用domain 无法过滤。

                    1 条回复 最后回复
                    0
                    • D digitalsatori

                      感觉你的问题的标题和内容不搭啊。
                      domain不是用来判断用户是否为销售团队负责人的,domain是用来作为过滤条件过滤记录的。你是要在什么对象上使用domain,想要如何过滤记录。

                      元 离线
                      元 离线
                      元宝
                      发表于 最后由 编辑
                      #9

                      @digitalsatori 我的业务需求 是一个用户可以是多个团队负责人。然后可以查看负责团队的销售订单 或者 漏洞/线索。 这个大概是往哪个方向 入手。我看楼上说的添加一个计算字段 是什么逻辑。

                      D 1 条回复 最后回复
                      0
                      • 元 元宝

                        @digitalsatori 我的业务需求 是一个用户可以是多个团队负责人。然后可以查看负责团队的销售订单 或者 漏洞/线索。 这个大概是往哪个方向 入手。我看楼上说的添加一个计算字段 是什么逻辑。

                        D 离线
                        D 离线
                        digitalsatori
                        管理员
                        发表于 最后由 编辑
                        #10

                        @元宝 首先“销售订单”,“漏洞”,”线索“ 对象上要有对应sale_team的外键字段比如team_id . 记得team.user_id就是团队负责人, 所以你的domain可以是:

                        [('team_id.user_id', '=', user.id)]
                        

                        【上海先安科技】(tony AT openerp.cn)

                        元 1 条回复 最后回复
                        1
                        • D digitalsatori

                          @元宝 首先“销售订单”,“漏洞”,”线索“ 对象上要有对应sale_team的外键字段比如team_id . 记得team.user_id就是团队负责人, 所以你的domain可以是:

                          [('team_id.user_id', '=', user.id)]
                          
                          元 离线
                          元 离线
                          元宝
                          发表于 最后由 编辑
                          #11

                          @digitalsatori 谢谢 已解决 怎么标记这个问题已解决

                          1 条回复 最后回复
                          0
                          • D 离线
                            D 离线
                            digitalsatori
                            管理员
                            发表于 最后由 编辑
                            #12

                            不客气,常来交流。在“主题工具”里可以标记“问题已解决”。我已经帮你标记了。

                            【上海先安科技】(tony AT openerp.cn)

                            1 条回复 最后回复
                            0

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

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

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

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


                            • 登录

                            • 没有帐号? 注册

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