在客户主人中,当我进入状态时,我点击了搜索更多选项。它只列出了160个实际包含的项目。所以我检查了一下,发现搜索视图只列出了160个项目,即使主文件包含的内容也不止这些。
dataset.name_search(search_val, self.build_domain(), 'ilike', 160).done(function(_data) {
self._search_create_popup("search", _data);
} `
将160更改为161时,搜索表单会显示161个项目。
那么如何将其设置为无限制(即与那里的项目一样多),而且在Odoo中更改值是否安全?或者我怎么能以其他方式做到这一点?
提前致谢
答案 0 :(得分:2)
在合作伙伴表单上,如果您的合作伙伴选择了国家/地区,则状态字段会生成domain
。这意味着如果您选择“美国”作为国家/地区,那么它只会显示 States ,其中还有国家的“美国” “
但是,即使未选择国家/地区,它仍会限制搜索更多内容中显示的州的数量弹出。
我不知道为什么,但如果你:
然后它将返回所有可用的状态 ...
这似乎是一个已知的问题,没有计划修复(至少在修复后不会向后移植到稳定版本)。请参阅这些Github问题报告(如下)。这仍然存在于Odoo 11上,即使在demo.odoo.com
上也是如此有一些方法可以解决这个问题,但它需要修改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,默认情况下它会显示更多或更少的记录。
备注:强>
您还可以在Action上通过XML定义limit
更改。
<field name=“limit”>0</field>
您还可以直接在limit
元素上设置tree
属性。
同样,您可能必须对此进行测试以查看哪个值提供了无限列表,但您可以像这样使用它(在树视图XML定义中):
<tree id=“...” string=“...” limit=“0”/>