• 版块
  • 标签
  • 热门
  • 用户
  • 群组
Skins
  • Light
  • Default
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Quartz
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Slate
  • Solar
  • Superhero
  • Vapor
Collapse

Odoo 中文社区

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

已定时 已固定 已锁定 已移动 已解决 Odoo 新手求助
9 帖子 4 发布者 412 浏览
    • 从旧到新
    • 从新到旧
    • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • Z 离线
    Z 离线
    zhang-wei918
    写于 最后由 zhang-wei918 编辑
    #1

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

    Z 2 条回复 最后回复
    0
  • H 离线
    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 离线
    Z 离线
    zhang-wei918
    在 中回复了zhang-wei918 最后由 编辑
    #2

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

    1 条回复 最后回复
    0
  • Z 离线
    Z 离线
    zhang-wei918
    在 中回复了zhang-wei918 最后由 zhang-wei918 编辑
    #3

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

    卓忆卓 digitalsatoriD 2 条回复 最后回复
    0
  • 卓忆卓 离线
    卓忆卓 离线
    卓忆
    在 中回复了zhang-wei918 最后由 卓忆 编辑
    #4

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

    恬淡

    1 条回复 最后回复
    0
  • digitalsatoriD 离线
    digitalsatoriD 离线
    digitalsatori 管理员
    在 中回复了zhang-wei918 最后由 编辑
    #5

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

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

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

    卓忆卓 1 条回复 最后回复
    0
  • 卓忆卓 离线
    卓忆卓 离线
    卓忆
    在 中回复了digitalsatori 最后由 卓忆 编辑
    #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 条回复 最后回复
    0
  • digitalsatoriD 离线
    digitalsatoriD 离线
    digitalsatori 管理员
    在 中回复了卓忆 最后由 digitalsatori 编辑
    #7

    @卓忆

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

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

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

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

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

    1 条回复 最后回复
    0
  • H 离线
    H 离线
    hydrionburst
    写于 最后由 编辑
    #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 条回复 最后回复
    1
  • H 离线
    H 离线
    hydrionburst
    在 中回复了hydrionburst 最后由 编辑
    #9

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

    1 条回复 最后回复
    0
  • digitalsatoriD digitalsatori 将这个主题转为问答主题,在
  • digitalsatoriD digitalsatori 将这个主题标记为已解决,在
  • digitalsatoriD digitalsatori 从 服装制衣 移动了该主题

  • 登录

  • 没有帐号? 注册

  • Login or register to search.
  • 第一个帖子
    最后一个帖子
0
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
  • 登录

  • 没有帐号? 注册

  • Login or register to search.