第一页odoo报告

时间:2016-12-23 13:51:03

标签: openerp odoo-9 qweb

如何在voo的odoo qweb报告中保留不同页脚的条件?

我想只在第一页上保留<div>而不是所有页面。

1 个答案:

答案 0 :(得分:-1)

只需将以下代码添加到您的报告<template>代码文件中。

<template id="report_custom_invoice" inherit_id="account.external_layout_footer">
... your custom report code
</template>

<template id="minimal_layout" inherit_id="report.minimal_layout">
        <xpath expr="//t[@t-if='subst is True']" position="replace">
            <t t-if="subst is True">
                <script>
                    function subst() {
                        var vars = {};
                        var x = document.location.search.substring(1).split('&amp;');
                        for (var i in x) {
                            var z = x[i].split('=', 2);
                            vars[z[0]] = unescape(z[1]);
                        }
                        var x=['frompage', 'topage', 'page', 'webpage', 'section', 'subsection', 'subsubsection'];
                        for (var i in x) {
                            var y = document.getElementsByClassName(x[i]);
                            for (var j=0; j&lt;y.length; ++j)
                                y[j].textContent = vars[x[i]];
                        }
                        var operations = {
                            'not-first-page': function (elt) {
                                elt.style.visibility = (vars.page === vars.frompage) ? "hidden" : "visible";
                            },
                            'not-last-page': function (elt) {
                                elt.style.visibility = (vars.page === vars.topage) ? "hidden" : "visible";
                            },
                            'first-page': function (elt) {
                                elt.style.visibility = (vars.page === vars.frompage) ? "visible" : "hidden";
                            },
                            'last-page': function (elt) {
                                elt.style.visibility = (vars.page === vars.topage) ? "visible" : "hidden";
                            },
                        };
                        for (var klass in operations) {
                            var y = document.getElementsByClassName(klass);
                            for (var j=0; j&lt;y.length; ++j)
                                operations[klass](y[j]);
                        }
                    }
                </script>
            </t>
        </xpath>
    </template>