元素“ <t t-if =“ ...”>”不能位于父视图中

时间:2019-01-21 09:04:10

标签: 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">

1 个答案:

答案 0 :(得分:0)

转到设置,选择用户界面,然后选择视图。在搜索字段中输入以下视图: 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-if内使用xpath

祝你好运。