为什么搜索视图只显示160个项目?

时间:2018-05-03 10:52:56

标签: javascript python-2.7 odoo odoo-10

enter image description here在客户主人中,当我进入状态时,我点击了搜索更多选项。它只列出了160个实际包含的项目。所以我检查了一下,发现搜索视图只列出了160个项目,即使主文件包含的内容也不止这些。

附加元件/网络/静态/ SRC / JS /视图/ form_common.js

dataset.name_search(search_val, self.build_domain(), 'ilike', 160).done(function(_data) {
    self._search_create_popup("search", _data);
}        `

将160更改为161时,搜索表单会显示161个项目。

那么如何将其设置为无限制(即与那里的项目一样多),而且在Odoo中更改值是否安全?或者我怎么能以其他方式做到这一点?

提前致谢

1 个答案:

答案 0 :(得分:2)

在合作伙伴表单上,如果您的合作伙伴选择了国家/地区,则状态字段会生成domain。这意味着如果您选择“美国”作为国家/地区,那么它只会显示 States ,其中还有国家的“美国” “

但是,即使未选择国家/地区,它仍会限制搜索更多内容中显示的的数量弹出。

我不知道为什么,但如果你:

  1. 点击该弹出窗口中的搜索...
  2. Enter (重新搜索列表)
  3. 然后它将返回所有可用的状态 ...

    这似乎是一个已知的问题,没有计划修复(至少在修复后不会向后移植到稳定版本)。请参阅这些Github问题报告(如下)。这仍然存在于Odoo 11上,即使在demo.odoo.com

    上也是如此
    1. Search more unpredictable
    2. [V8] only 80 of 160 taxes are shown: reality 2651
    3. 有一些方法可以解决这个问题,但它需要修改JavaScript(正如您在问题中提到的那样,您可能已经对此有所了解)。你可以在Odoo论坛上看到this question,它有几个片段。

      基本上,解决方案需要覆盖name_search

      之外的addons/web/static/src/js/framwork/data.js功能
      name_search: function (name, domain, operator, limit) {
          # This is the magic
          limit = 0;
          # Just the above line
          return this._model.call('name_search', {
              name: name || '',
              args: domain || false,
              operator: operator || 'ilike',
              context: this._model.context(),
              limit: limit || 0
          });
      },
      

      注意:这将全局影响您的所有Odoo。如果要将其限制为仅一个表单(或其他一些条件),则必须使用用于定义JavaScript导入的任何视图/模板。

      上一个答案

      修改它的常规方法是更改​​XML或GUI中的默认limit of a Window Action,默认情况下它会显示更多或更少的记录。

      1. 启用开发者模式
      2. 导航到要从
      3. 删除限制的树视图
      4. 单击“调试”按钮(Odoo右上角的错误图标,用户名旁边)
      5. 点击“修改操作”
      6. 更改“限制”值并保存
        • 0或-1的限制应该达到无限列表,但您可能需要测试几个不同的值以查看哪个最佳。
        • 如果这些效果不佳,那么您可以将限制更改为999999或更高的值。
      7. 备注:

        1. 您还可以在Action上通过XML定义limit更改。

          <field name=“limit”>0</field>
          
        2. 您还可以直接在limit元素上设置tree属性。

          同样,您可能必须对此进行测试以查看哪个值提供了无限列表,但您可以像这样使用它(在树视图XML定义中):

          <tree id=“...” string=“...” limit=“0”/>