Odoo中XML attrs的域过滤器运算符

时间:2017-08-24 14:03:24

标签: openerp odoo-10

有我的问题, 我得到了:

(A and B) or (C and D)

在域名中写道:

[ '|', (A, B), (C, D) ]

但它不起作用,并引发错误:

  

错误:域中的未知字段document_receive_type,!=,vn_post   [ “|” “!=” “!=” “!=”[ “document_receive_type”, “直接”],[ “状态”, “vn_post_check”],[ “document_receive_type”,“vn_post “],[” 状态”, “!=”, “result_profile_returned”]]]

这是我的代码:

<button name="action_mark_done"
    string="Mark Done"
    type="object" class="oe_highlight"
    attrs="{'invisible': ['|', (('document_receive_type','!=','direct'), ('state', '!=', 'vn_post_check')), (('document_receive_type','!=','vn_post'), ('state', '!=', 'result_profile_returned')) ,]}"
    groups="bms_cpdt.group_e_gov_manager"/>

我已经单独尝试了

['&', (A), (B),] 

['&', (C), (D),] 

它仍然有效并显示我的按钮但是如果

['|', '&', (A), (B),'&',(C),(D)] 

它没有错误,但它不像我想要的那样显示我的按钮。

2 个答案:

答案 0 :(得分:1)

试试这个:

attrs="{'invisible': ['|', '&amp;',('document_receive_type','!=','direct'), ('state', '!=', 'vn_post_check'), '&amp;', ('document_receive_type','!=','vn_post'), ('state', '!=', 'result_profile_returned')]}"

答案 1 :(得分:1)

(A and B) or (C and D)

如果你想获得,你的域名将是:

['|', '&', (A), (B),'&',(C),(D)]

使用您的数据:

['|', '&amp;', ('document_receive_type','!=','direct'), ('state', '!=', 'vn_post_check'),'&amp;',('document_receive_type','!=','vn_post'),('state', '!=', 'result_profile_returned')]

有关您可以访问的域的更多信息: domain-notation

我希望我帮助