Odoo domain属性配置失效求助:关联analytic_account_id与company_id
Odoo Domain配置修复方案
原配置的domain因analytic_account_id关联的company_id逻辑问题无法正常运行,原代码如下:
<attribute name="domain">[ ('company_id', 'in', [False, company_id]) ]</attribute>
需实现analytic_account_id与company_id的关联匹配,尝试的三种写法均未解决问题:
- 写法1:
<attribute name="domain">[ ('company_id', 'in', [False, analytic_account_id/company_id]) ]</attribute>
- 写法2:
<attribute name="domain">[ ('company_id','in',[False, analytic_account_id,'in, [False, company_id]) ]</attribute>
- 写法3:
<attribute name="domain" domain="[('company_id', 'in', [False, parent.analytic_account_id.company_id])]"/>
正确修复方案
根据Odoo视图domain的语法规则,需根据字段所在上下文调整写法:
- 字段在主表单视图中:直接引用当前记录的
analytic_account_id关联公司ID
<attribute name="domain">[('company_id', 'in', [False, analytic_account_id.company_id])]</attribute>
- 字段在one2many/many2one子视图中:使用
parent关键字访问主记录的analytic_account_id
<attribute name="domain">[('company_id', 'in', [False, parent.analytic_account_id.company_id])]</attribute>
注意事项:
- 确保
analytic_account_id字段在当前视图的模型中已正确定义,且关联的account.analytic.account模型包含company_id字段 - 写法2存在明显语法错误(引号未闭合、domain结构混乱),需避免此类低级错误
内容的提问来源于stack exchange,提问作者Jubb
相关产品推荐
相关产品推荐

