在py odoo 10/11的qweb报表中添加带有值的HTML表,可以按照以下步骤进行操作:
report_template.xml
。<t t-esc="..."/>
标签来插入HTML代码,并通过Odoo的模板语言将变量值传递给HTML代码。 例如,假设你有一个名为table_data
的变量,它包含了要在HTML表中显示的数据。你可以使用以下代码将数据传递给HTML表格:
Column 1 | Column 2 |
---|---|
注意,table_data
是一个包含字典的列表,每个字典代表一行数据,其中column1
和column2
是字典中的键。
class ReportModel(models.AbstractModel):
_name = 'report.module_name.report_template'
@api.model
def _get_report_values(self, docids, data=None):
# 获取报表数据
report_data = self.env['your.model'].browse(docids)
# 返回报表模板和数据
return {
'doc_ids': docids,
'doc_model': 'your.model',
'docs': report_data,
'table_data': report_data.get_table_data(), # 获取HTML表格数据的方法
}
注意,module_name
是你的模块名称,your.model
是你的报表模型。
<record id="report_view_id" model="ir.ui.view">
<field name="name">report.template.view</field>
<field name="model">your.model</field>
<field name="arch" type="xml">
<template>
<t t-call="report.html_container">
<t t-foreach="docs" t-as="doc">
<t t-call="module_name.report_template"/>
</t>
</t>
</template>
</field>
</record>
注意,module_name
是你的模块名称。
<record id="report_action_id" model="ir.actions.report">
<field name="name">Report Name</field>
<field name="type">ir.actions.report</field>
<field name="report_name">module_name.report_template</field>
<field name="report_type">qweb-pdf</field>
<field name="binding_model_id" ref="module_name.model_your_model"/>
</record>
注意,module_name
是你的模块名称,Report Name
是报表名称,model_your_model
是你的报表模型。
完成以上步骤后,你就可以在py odoo 10/11的qweb报表中添加带有值的HTML表了。根据你的具体需求,可以根据数据动态生成HTML表格,并在报表中显示。
领取专属 10元无门槛券
手把手带您无忧上云