Odoo 中文社区

    • 注册
    • 登录
    • 搜索
    • 版块
    • 标签
    • 热门
    • 用户
    • 群组

    Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

    由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

    本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

    开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

    如果您登录系统碰到问题,请在微信公众号留言:

    已解决 求助,odoo13销售页面搜索产品字段

    服装制衣
    4
    9
    385
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • Z
      zhang-wei918 最后由 zhang-wei918 编辑

      请大佬们帮忙看一下,在odoo13销售页面搜索产品字段,搜索结果不全,而且根据不同字段排序,出来的搜索结果数量还不一样?但是其他页面的搜索结果就没这问题。
      两种搜索方式搜索出来的结果数量完全不一样
      企业微信截图_16630375349115.png
      企业微信截图_16630374855738.png

      Z 2 条回复 最后回复 回复 引用 0
      • H
        hydrionburst 最后由 编辑

        这是一个ORM的bug,本质上是ORM在search sale_order 的时候join了 sale_order 和 sale_order_line, 由于一行sale_order 可以对应多行 sale_order_line,使得返回的(LIMIT 80)条数据中有重复的sale_order.id. 而最后到返回到前端的不同的 sale_order 数量小于80 (比如79)然后前端就以为最多只能搜到79条数据就没有向后端询问总数。 所以显示1-79/79

        这个问题在后续的ORM重构中应该已经解决。不过考虑到13.0马上就不支持了,所以除了升级也没啥好方法。

        H 1 条回复 最后回复 回复 引用 1
        • Z
          zhang-wei918 @zhang-wei918 最后由 编辑

          @zhang-wei918 第一张图用自定义筛选出来2000多条结果是对的,第二张图用默认搜索产品才74条,结果数量少太多了。

          1 条回复 最后回复 回复 引用 0
          • Z
            zhang-wei918 @zhang-wei918 最后由 zhang-wei918 编辑

            微信截图_20220913123558.png 微信截图_20220913123633.png
            不同排序,出来的结果数量也不同

            卓忆 digitalsatori 2 条回复 最后回复 回复 引用 0
            • 卓忆
              卓忆 @zhang-wei918 最后由 卓忆 编辑

              @zhang-wei918
              github上有人提过类似的问题:
              https://github.com/odoo/odoo/issues/96490

              恬淡

              1 条回复 最后回复 回复 引用 0
              • digitalsatori
                digitalsatori 管理员 @zhang-wei918 最后由 编辑

                @zhang-wei918 无法排除是因为你的系统中的定制的部分影响到了搜索的结果。

                你可以在http://runbot.odoo.com中选择V13来测试,如果能还原你的问题,那就是Odoo的bug

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

                卓忆 1 条回复 最后回复 回复 引用 0
                • 卓忆
                  卓忆 @digitalsatori 最后由 卓忆 编辑

                  @digitalsatori 在 求助,odoo13销售页面搜索产品字段 中说:

                  @zhang-wei918 无法排除是因为你的系统中的定制的部分影响到了搜索的结果。

                  你可以在http://runbot.odoo.com中选择V13来测试,如果能还原你的问题,那就是Odoo的bug

                  谢谢回复,
                  测试环境,更新到最新的odoo13,更新base,卸载所有第三方模块,问题依旧,搜索 英文,中文,数字,筛选结果均不完整(均是7x 小于80),按订单号重新排序后会列出应该是正确的结果(3xxx,实际是2xxx)。
                  runbot 上只有4x条销售数据,暂时没还原问题,试着把销售数据增加到80条以上 排下序 问题就能重现了(导出了20条数据,复制成80条,导入几次,销售订单条目就增加了,附上数据文件 sale.order.rar ,

                  重现问题的截图:

                  b4add7cb-3ea8-49af-ab1b-8cc4a2594877-image.png

                  采购订单 就没这个问题。

                  恬淡

                  digitalsatori 1 条回复 最后回复 回复 引用 0
                  • digitalsatori
                    digitalsatori 管理员 @卓忆 最后由 digitalsatori 编辑

                    @卓忆

                    这估计跟产品上的name_search有关。name_search有一个100的默认limit限制。在正反向排序中获得的这100个产品不同,用它们来过滤订单可能就带来不一样的结果。

                    这仅仅是我的猜测。如果上面的猜测是正确的,那么这个"bug"发生的场景是:

                    用来搜索产品的字符串,可以返回的产品的数量超过100个。比如你在上面的测试里,用字母'a'来搜索产品,这个搜索结果应该会超过100个。

                    你可以继续如下尝试,用一个字符串搜索产品,确保搜索出来的产品会在100以内。然后用这个字符串搜索在销售订单的产品字段上,然后再做排序处理,看看是否还会出现:排序不同搜索结果不同的现象。

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

                    1 条回复 最后回复 回复 引用 0
                    • H
                      hydrionburst 最后由 编辑

                      这是一个ORM的bug,本质上是ORM在search sale_order 的时候join了 sale_order 和 sale_order_line, 由于一行sale_order 可以对应多行 sale_order_line,使得返回的(LIMIT 80)条数据中有重复的sale_order.id. 而最后到返回到前端的不同的 sale_order 数量小于80 (比如79)然后前端就以为最多只能搜到79条数据就没有向后端询问总数。 所以显示1-79/79

                      这个问题在后续的ORM重构中应该已经解决。不过考虑到13.0马上就不支持了,所以除了升级也没啥好方法。

                      H 1 条回复 最后回复 回复 引用 1
                      • H
                        hydrionburst @hydrionburst 最后由 编辑

                        @hydrionburst
                        修正一下
                        是后端代码拿到79个数据以后认为总数小于80,就不再继续COUNT了

                        1 条回复 最后回复 回复 引用 0
                        • Topic has been marked as a question  digitalsatori digitalsatori 
                        • Topic has been marked as solved  digitalsatori digitalsatori 
                        • First post
                          Last post