Odoo 如何制作自定义报告,AttributeError
Odoo How to make custom report, AttributeError
我正在尝试制作自定义报告。我使用了此文档 https://www.odoo.com/documentation/8.0/reference/reports.html 并查看了附加组件 "sale" 以获得报告示例。我想做第一个测试,所以我使用了文档的最小可行模板。
这是我的模板
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<template id="report_demand_document">
<t t-call="report.html_container">
<t t-foreach="docs" t-as="o">
<t t-call="report.external_layout">
<div class="page">
<h2>Propositions</h2>
<p>Vote du <span t-field="o.date"/></p>
</div>
</t>
</t>
</t>
</template>
</data>
</openerp>
这里是报告电话
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<report
id="report_demand"
string="Propositions en cours"
model="report"
report_type="qweb-pdf"
name="report.report_demand"
file="report.report_demand"
attachment="'Propositions' + str(object.date) +'.pdf'"/>
</data>
</openerp>
我收到这个错误:
AttributeError: 'report' object has no attribute '_check_wkhtmltopdf'
完整日志(如果需要):
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 540, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 577, in dispatch
result = self._call_function(**self.params)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 313, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/service/model.py", line 118, in wrapper
return f(dbname, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 310, in checked_call
return self.endpoint(*a, **kw)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 806, in __call__
return self.method(*args, **kw)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 406, in response_wrap
response = f(*args, **kw)
File "/usr/lib/python2.7/dist-packages/openerp/addons/report/controllers/main.py", line 143, in check_wkhtmltopdf
return request.registry['report']._check_wkhtmltopdf()
AttributeError: 'report' object has no attribute '_check_wkhtmltopdf'
我在 google 上搜索了“_check_wkhtmltopdf”,但在 Odoo 中一无所获,我也没有发现任何错误。
这个错误是什么意思?我必须安装一些东西吗? (我正在使用 Odoo-8)
如果我看对了,那么你已经覆盖了 Odoo model/class report
,它处理渲染文档等的所有内容
<report
id="report_demand"
string="Propositions en cours"
model="report"
report_type="qweb-pdf"
name="report.report_demand"
file="report.report_demand"
attachment="'Propositions' + str(object.date) +'.pdf'"/>
此处定义模型 report
的报告。其他示例将在其报告定义中向您显示 sale.order
或 account.invoice
等值。
请不要声明新的 ORM 模型 report
。只需使用其他名称,例如 test.report
或类似名称。
让我们谈谈如何消除这个错误:更改测试模型的属性 _name
并重新启动服务器。当然,将您的报告定义更改为新模型名称。现在更新你的模块。这应该可以解决问题。
我正在尝试制作自定义报告。我使用了此文档 https://www.odoo.com/documentation/8.0/reference/reports.html 并查看了附加组件 "sale" 以获得报告示例。我想做第一个测试,所以我使用了文档的最小可行模板。
这是我的模板
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<template id="report_demand_document">
<t t-call="report.html_container">
<t t-foreach="docs" t-as="o">
<t t-call="report.external_layout">
<div class="page">
<h2>Propositions</h2>
<p>Vote du <span t-field="o.date"/></p>
</div>
</t>
</t>
</t>
</template>
</data>
</openerp>
这里是报告电话
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<report
id="report_demand"
string="Propositions en cours"
model="report"
report_type="qweb-pdf"
name="report.report_demand"
file="report.report_demand"
attachment="'Propositions' + str(object.date) +'.pdf'"/>
</data>
</openerp>
我收到这个错误:
AttributeError: 'report' object has no attribute '_check_wkhtmltopdf'
完整日志(如果需要):
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 540, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 577, in dispatch
result = self._call_function(**self.params)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 313, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/service/model.py", line 118, in wrapper
return f(dbname, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 310, in checked_call
return self.endpoint(*a, **kw)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 806, in __call__
return self.method(*args, **kw)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 406, in response_wrap
response = f(*args, **kw)
File "/usr/lib/python2.7/dist-packages/openerp/addons/report/controllers/main.py", line 143, in check_wkhtmltopdf
return request.registry['report']._check_wkhtmltopdf()
AttributeError: 'report' object has no attribute '_check_wkhtmltopdf'
我在 google 上搜索了“_check_wkhtmltopdf”,但在 Odoo 中一无所获,我也没有发现任何错误。 这个错误是什么意思?我必须安装一些东西吗? (我正在使用 Odoo-8)
如果我看对了,那么你已经覆盖了 Odoo model/class report
,它处理渲染文档等的所有内容
<report
id="report_demand"
string="Propositions en cours"
model="report"
report_type="qweb-pdf"
name="report.report_demand"
file="report.report_demand"
attachment="'Propositions' + str(object.date) +'.pdf'"/>
此处定义模型 report
的报告。其他示例将在其报告定义中向您显示 sale.order
或 account.invoice
等值。
请不要声明新的 ORM 模型 report
。只需使用其他名称,例如 test.report
或类似名称。
让我们谈谈如何消除这个错误:更改测试模型的属性 _name
并重新启动服务器。当然,将您的报告定义更改为新模型名称。现在更新你的模块。这应该可以解决问题。