2015-01-27 4 views
2

Odoo v8 использует Qweb, и нам нужно распечатать условия продажи на последней странице счета-фактуры.Проверка на последнюю страницу в отчетах QWeb в Odoo

Насколько я понимаю, нам нужно проверить, что это последняя страница отчета и напечатать некоторый статический HTML на этой странице.

Кто-нибудь знает, как проверить последнюю страницу и удалить верхний и нижний колонтитулы из нее, чтобы добиться того, что я пытаюсь.

Или даже другой способ сделать это.

ответ

0

В последней версии odoo, версия 8 (или saas-6), чтобы специальные имена классов выполняли специальные вещи (например, имя класса последней страницы, чтобы вызвать видимость), вы должны только изменять report модуль, в static/src/js/subst.js, и добавьте этот код в функции subst:

var operations = { 
    '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]); 
} 

в Qweb ir.ui.views используемой в отчете, вы можете добавить в любом месте (заголовок, тело, сноска), код с:

<div class="last-page"> 
    My content only displayed if on last page. 
<div> 

EDIT: Приложение OpenERP/Odoo для добавления этого магического класса last-page легко было реализовано в качестве примера: https://github.com/0k/report_extended