8.0 Qwebレポート作成手順
4246 ワード
8.0はQwebレポートを採用し、7.0のRMLレポートを捨てた.
1.まずxmlファイルにレポートを登録します.
report_typeには2つの値があり、qweb-pdf、qweb-html
2.レポート・クラスの作成
3.レポートレイアウトファイルtemplateを作成する
1.まずxmlファイルにレポートを登録します.
<report id="qweb_test_report" model="qweb.test" string="Report Test" report_type="qweb-pdf"
name="qweb_test.test_report" file="qweb_test.test_report"/>
report_typeには2つの値があり、qweb-pdf、qweb-html
2.レポート・クラスの作成
class qweb_print(models.AbstractModel):
_name="report.qweb_test.test_report"
@api.multi
def get_name(self):
return [self.env['qweb.test'].browse(self.ids)]
@api.multi
def render_html(self,data=None):
report_obj = self.env['report']
report = report_obj._get_report_from_name('qweb_test.test_report')
records = self.get_name()
docargs={
"doc_ids":self.ids,
"doc_model":report.model,
"docs":records,
}
return report_obj.render('qweb_test.test_report',docargs)
3.レポートレイアウトファイルtemplateを作成する
<template id="test_report">
<t t-call="report.html_container">
<t t-foreach="docs" t-as="o">
<div class="page">
<div class="row">
<div class="col-xs-12 text-center">
<t t-esc="o.name"/>
</div>
</div>
</div>
</t>
</t>
</template>