' 不能位于父视图中,odoo"/>

首页 > 解决方案 > 元素 '' 不能位于父视图中

问题描述

我正在尝试在 Odoo 11 中自定义报告。我正在修改 XML 文件,但出现此错误:

File "/home/omar/odoo/odoo11/odoo/models.py", line 3094, in write
    self._write(old_vals)
File "/home/omar/odoo/odoo11/odoo/models.py", line 3260, in _write
    self._validate_fields(vals)
File "/home/omar/odoo/odoo11/odoo/models.py", line 1041, in _validate_fields
    raise ValidationError("%s\n\n%s" % (_("Error while validating constraint"), tools.ustr(e)))
odoo.tools.convert.ParseError: "Error while validating constraint

Element '<t t-if="caseacocher">' cannot be located in parent view

Error context:
View `report_quotation_inherit_demo`
[view_id: 714, xml_id: moduletest.report_quotation_inherit_demo, model: n/a, parent_id: 637]
None" while parsing None:14, near
<data inherit_id="sale.report_saleorder_document">

标签: odoo

解决方案


转到设置,选择用户界面,然后选择视图。在搜索字段中输入以下视图:report_saleorder_document。是 Qweb 类型(报告)。

因此,您正在尝试从该视图继承,而该视图t-if="caseacocher"不能位于父视图 ( report_saleorder_document) 的此处。您缺少 xpath。

您想在父视图中的哪个位置找到它?您将需要打开此视图并从此处找到可以在模块中使用的其他内容,而不是t-if. 它必须存在于父视图中!我建议你使用 xpath 找到一个表达式,然后把这个条件。

例如,如果div有一个名为 的类page,那么您可以使用类似:

<xpath expr="//div[@class='page']" position="inside">
    <t t-if="caseacocher">
        <!--etc what ever you want put here-->
    </t> 
</xpath>

这只是一个示例,但您可以t-ifxpath.

祝你好运。


推荐阅读