Skip to main content
 首页 » 编程设计

python之在 Odoo 版本 8 中使用 qweb 模板进行报告

2024年08月26日49JustinYoung

我想了解 Odoo 8 中的 QWeb Report。在版本 6 和 7 中,我使用了 jasper_report ...对我来说没问题。但是...现在版本 8,我找不到这个版本的 jasper_report。 8版的时候用的是qweb template report..不知道怎么用。我想自定义 account_invoice 报告。这就是为什么...我创建了 View 文件夹并添加了 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 文件是否在 View 文件夹中?相关的 python 文件在哪里?

如果你不介意,请一步步解释我。 谢谢

请您参考如下方法:

我遇到了这个“QWebTemplateNotFound:无效的模板 ID”问题。我解决它的方法是命名模板 ID。我猜 'report_invoice_extend' 是模板的 ID,因此您需要在它前面加上您的模块名称(您的模块名称是文件夹的名称)。所以它将是:

modulename.report_invoice_extend 

希望这对您有所帮助!