我现在有PDF格式的qweb报告。但是,如果我的报告(例如销售订单)有一页以上,则标题位于每个页面上。
首页标题上仅显示一个字段。其他字段在每个页面标题上重复。 如何只在第一页上放置一个字段标题? / h3标记/
谢谢 这是我的代码:
<template id="payment_header">
<div class="header">
<div style="border: 1px solid black;">
<div class="col-xs-3" style="border: 1px solid black;">
<table>
<tr class="text-left">
<ul class="list-inline">
<li>
<span class="page"/>
</li>
<li>/</li>
<li>
<span class="topage"/>
</li>
</ul>
</tr>
<tr>
<span>SHOP:</span>
<span t-esc="warehouse"/>
</tr>
</table>
</div>
<div>
<div class="center">
**<h3 class="text-center">
<font color="white">Payment</font>
</h3>**
</div>
</div>
<div class="col-xs-4 pull-right" style="margin-top:20px; font-size: 12px; border: 1px solid black;">
<span>Period</span>
<span t-esc="date_to" t-field-options="{'format': 'yyyy/MM/dd'}"/> ~
<span t-esc="date_from" t-field-options="{'format': 'yyyy/MM/dd'}"/>
</div>
</div>
</div>
</template>
答案 0 :(得分:-1)
我找到了这个免费的Odoo插件。它可能会帮助您。
https://apps.openerp.com/apps/modules/10.0/report_qweb_element_page_visibility/
在此示例附件中,您可以添加一些Javascript代码来报告XML。
这是代码示例
layouts.xml:
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<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('&');
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<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<y.length; ++j)
operations[klass](y[j]);
}
}
</script>
</t>
</xpath>
</template>
</odoo>
然后将以下代码添加到__manifest __。py:
'data': [
'views/layouts.xml',
],