Odoo 8中的qweb模板报告

2 投票
1 回答
4404 浏览
提问于 2025-04-28 11:49

我想了解一下Odoo 8中的QWeb报告。在6和7版本中,我使用的是jasper_report...对我来说还不错。但是在8版本中,我找不到适合这个版本的jasper_report。在8版本中,他们使用了qweb模板报告...我不知道该怎么用。我想自定义账单报告。这就是为什么我创建了一个视图文件夹,并添加了report_account_extend.xml。我没有更改report_account.xml文件中的任何内容,只是把文件名改成了report_account_extend.xml。然后我添加了account_report.xml文件来声明,只更改了id、字符串、名称和文件,像这样:

id="account_invoices_extend"
string="Invoices Extend"
name="report_invoice_extend"
file="report_invoice_extend"

我从“客户发票”表单打印这个报告时,出现了错误:

 File "/home/erp/Odoo/prjoject/odoo/openerp/tools/cache.py", line 119, in lookup
    value = d[key] = self.method(*args, **kwargs)
  File "/home/erp/Odoo/prjoject/odoo/openerp/addons/base/ir/ir_ui_view.py", line 848, in read_template
    raise ValueError('Invalid template id: %r' % (xml_id,))
QWebTemplateNotFound: Invalid template id: u'report_invoice_extend'

我想知道如何解决这个错误,以及如何创建一个示例的qweb模板报告。qweb模板的xml文件是在视图文件夹里吗?相关的python文件在哪里?

如果你不介意的话,请一步一步地给我解释。谢谢!

暂无标签

1 个回答

5

我遇到了一个问题,提示“QWebTemplateNotFound: 无效的模板ID”。我解决这个问题的方法是给模板ID加上命名空间。我猜‘report_invoice_extend’就是模板的ID,所以你需要在前面加上你的模块名(模块名就是文件夹的名字)。所以应该是这样的:

modulename.report_invoice_extend

希望这能帮到你!

撰写回答