我试图在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">
答案 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
。
祝你好运。