Qweb报告在一页odoo 9

时间:2017-01-31 15:04:28

标签: report openerp qweb

如何在.xml中定义显示数据在一个页面中(一个在另一个下面)。在我的示例中生成qweb后,数据显示在4 pdf页面上!

示例:

datas = {
                 'ids': ids,
                 'model': 'my.model',
                 'form': data
                }
        return {
                'type': 'ir.actions.report.xml',
                'report_name': "my_module.my_report",
                'datas': datas,
            }

返回:[1,2,3,4]

.XML

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<template id="report_my_document">
    <t t-call="report.html_container">
          <t t-call="report.external_layout">
                <div class="page">
                    <table class="table table-condensed">
                        <thead>
                            <tr>
                                <th>Name</th>
                                <th>State</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td><t t-esc="o.name"/></td>
                                <td><t t-esc="o.state"/></td>
                            </tr>
                        </tbody>
                    </table>  
             </div>
        </t>
    </t>
</template>

<template id="report_my">
    <t t-call="report.html_container">
        <t t-foreach="docs" t-as="o">
            <t t-call="my_module.report_my_document"/>
        </t>
    </t>
</template>
</data>
</openerp>

如何定义foreach以在一个pdf文档中显示数据(thead + 4行)

1 个答案:

答案 0 :(得分:1)

如果每条记录都是表格中的一行,您可能想要更像这样的内容。

<template id="report_my_document">
    <t t-call="report.html_container">
          <t t-call="report.external_layout">
                <div class="page">
                    <table class="table table-condensed">
                        <thead>
                            <tr>
                                <th>Name</th>
                                <th>State</th>
                            </tr>
                        </thead>
                        <tbody>
                            <t t-foreach="docs" t-as="o">
                                <tr>
                                    <td><t t-esc="o.name"/></td>
                                    <td><t t-esc="o.state"/></td>
                                </tr>
                            </t>
                        </tbody>
                    </table>  
             </div>
        </t>
    </t>
</template>

<template id="report_my">
    <t t-call="report.html_container">
        <t t-call="my_module.report_my_document"/>
    </t>
</template>