Skip to content
  • Categories
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • 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

  • Default (Flatly)
  • No Skin
Collapse

Odoo 中文社区

  1. Home
  2. Categories
  3. Odoo 新手求助
  4. 求助,odoo13销售页面搜索产品字段

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

Scheduled Pinned Locked Moved Solved Odoo 新手求助
9 Posts 4 Posters 1.6k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Z Offline
    Z Offline
    zhang-wei918
    wrote on last edited by zhang-wei918
    #1

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

    Z 2 Replies Last reply
    0
    • H Offline
      H Offline
      hydrionburst
      wrote on last edited by
      #8

      这是一个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 Reply Last reply
      1
      • Z Offline
        Z Offline
        zhang-wei918
        replied to zhang-wei918 on last edited by
        #2

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

        1 Reply Last reply
        0
        • Z Offline
          Z Offline
          zhang-wei918
          replied to zhang-wei918 on last edited by zhang-wei918
          #3

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

          卓忆卓 digitalsatoriD 2 Replies Last reply
          0
          • 卓忆卓 Offline
            卓忆卓 Offline
            卓忆
            replied to zhang-wei918 on last edited by 卓忆
            #4

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

            恬淡

            1 Reply Last reply
            0
            • digitalsatoriD Offline
              digitalsatoriD Offline
              digitalsatori 管理员
              replied to zhang-wei918 on last edited by
              #5

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

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

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

              卓忆卓 1 Reply Last reply
              0
              • 卓忆卓 Offline
                卓忆卓 Offline
                卓忆
                replied to digitalsatori on last edited by 卓忆
                #6

                @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

                采购订单 就没这个问题。

                恬淡

                digitalsatoriD 1 Reply Last reply
                0
                • digitalsatoriD Offline
                  digitalsatoriD Offline
                  digitalsatori 管理员
                  replied to 卓忆 on last edited by digitalsatori
                  #7

                  @卓忆

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

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

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

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

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

                  1 Reply Last reply
                  0
                  • H Offline
                    H Offline
                    hydrionburst
                    wrote on last edited by
                    #8

                    这是一个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 Reply Last reply
                    1
                    • H Offline
                      H Offline
                      hydrionburst
                      replied to hydrionburst on last edited by
                      #9

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

                      1 Reply Last reply
                      0
                      • digitalsatoriD digitalsatori 将这个主题转为问答主题,在
                      • digitalsatoriD digitalsatori 将这个主题标记为已解决,在
                      • digitalsatoriD digitalsatori 从 中的 服装制衣 移动了该主题

                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Tags
                      • Popular
                      • Users
                      • Groups