как добавить пользовательский заголовок в отчет rml в openerp?

Как я могу добавить новый верхний/нижний колонтитул для отчета (например, отчет о списке комплектации в заказе на доставку), отличный от верхнего/нижнего колонтитула, определенного в компании?


person OmaL    schedule 14.08.2012    source источник


Ответы (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>

Таким образом, вы можете поместить новый верхний и нижний колонтитулы.

person Atul Arvind    schedule 14.08.2012

Один из способов удалить заголовок — это то, что предложил Атул, объявить его в теге отчета.

<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', чтобы использовать один из других заголовков из конфигурации компании.

person Don Kirkby    schedule 02.10.2012
comment
Спасибо, Дон. Предоставляя «внутренний» или «внутренний_ландшафт», он берет заголовок из конфигурации компании. Но на самом деле я хочу предоставить новый заголовок, отличный от «внешнего», «внутреннего» или «внутреннего_ландшафта». Поэтому я думаю, что должен следовать ответу Атула. - person OmaL; 03.10.2012

Вы можете настроить заголовок отчета в файле 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>
person Community    schedule 21.09.2013

В заголовке отчета установите = '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>
person Sagar Pise    schedule 30.01.2014