Как я могу добавить новый верхний/нижний колонтитул для отчета (например, отчет о списке комплектации в заказе на доставку), отличный от верхнего/нижнего колонтитула, определенного в компании?
как добавить пользовательский заголовок в отчет rml в openerp?
Ответы (4)
В теге отчета укажите header='False', например.
<report header='False' auto="False" id="report_product_history"
model="product.product" name="stock.product.history"
string="Stock Level Forecast"/>
он не будет печатать заголовок по умолчанию, определенный в компании. затем в файле rml найдите тег <pageTemplate>
и замените его своим кодом rml. например.
<template pageSize="(595.0,842.0)" title="Test"
author="Atul Makwana" allowSplitting="20">
<pageTemplate id="first">
***Your rml header & footer***
</pageTemplate>
</template>
Таким образом, вы можете поместить новый верхний и нижний колонтитулы.
Один из способов удалить заголовок — это то, что предложил Атул, объявить его в теге отчета.
<report
header="False"
auto="False"
id="report_product_history"
model="product.product"
name="stock.product.history"
string="Stock Level Forecast"/>
В некоторых ситуациях тег отчета отсутствует. Например, отчет может быть создан только мастером. В этом случае вы можете объявить его как параметр при регистрации парсера. См. штрих-код модуля mrp_operations
. отчет для примера.
class code_barcode(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context):
super(code_barcode, self).__init__(cr, uid, name, context=context)
self.localcontext.update({
'time': time,
})
report_sxw.report_sxw('report.mrp.code.barcode',
'mrp_operations.operation.code',
'addons/mrp_operations/report/mrp_code_barcode.rml',
parser=code_barcode,
header=False)
Вы также можете указать конкретный заголовок, используя этот параметр. По умолчанию он равен 'external'
, но может быть 'internal'
или 'internal landscape'
, чтобы использовать один из других заголовков из конфигурации компании.
Вы можете настроить заголовок отчета в файле report.rml следующим образом:
<pageTemplate id="first">
<frame id="first" x1="57.0" y1="115.0" width="481" height="615"/>
<header>
<pageGraphics>
<image x="1.3cm" y="26.0cm" height="90.0">[[company.logo or removeParentNode('image')]]</image>
<drawString x="10.9cm" y="2.9cm">Signature:</drawString>
<drawString x="12.7cm" y="2.9cm">___________________________________</drawString>
</pageGraphics>
</header>
</pageTemplate>
В заголовке отчета установите = 'False'
Теперь вы можете добавить свой собственный верхний колонтитул на страницу
<template title="Test" author="Sagar" allowSplitting="20">
<pageTemplate id="first">
<frame id="first" x1="15.0" y1="42.0" width="539" height="758"/>
<pageGraphics>
<!-- ================== Header =============== -->
<image x="14cm" y="25.6cm" height="40.0">[[ company.logo or removeParentNode('image') ]]</image>
<setFont name="Helvetica" size="10.0"/>
<drawString x="1cm" y="27.2cm">Main Header</drawString>
<!-- Order Details -->
<place x="33" y="18cm" width="530.0" height="205.0">
<blockTable colWidths="265,265" style="Table1">
<tr>
<td>Header Value 1</td>
<td><para style="normal2-center">Header Value 2</para></td>
</tr>
</blockTable>
</place>
<!-- ======================== footer =========================== -->
<place x="33" y="55cm" width="530.0" height="205.0">
<blockTable colWidths="265" style="Table1">
<tr><td><para style="normal2-center">Footer Value</para></td></tr>
</blockTable>
</place>
</pageGraphics>
</pageTemplate>
</template>