在现有模块 (openerp7) 中创建新报告

create a new report in an existing module (openerp7)

为了添加新报告以便我可以从员工视图打印它,我使用 Libreoffice 创建了一个 .sxw 文件:打开新报告 --> 我选择了员工 --> 添加一个循环 --> 我将它发送到服务器 ,然后将其导出到 .rml。 我的问题是:如果我不将我的报告发送到服务器,当我点击打印或当我在另一台机器上安装我的模块时我将无法找到它... xml 文件包含: hr_payroll_from_timesheet/report/attestation_travail.xml

<openerp>
<data>

    <report id="report_attestation_travail"
            string="attestation de travail"
            model="hr.employee"
            name="report.hr_payroll_from_timesheet.attestation_travail"
            rml="hr_payroll_from_timesheet/report/attestation_travail.rml"
            auto="False"
            menu="False"/>

</data>

hr_payroll_from_timesheet/report/attestation.py :

import time
from openerp.report import report_sxw

class attestation(report_sxw.rml_parse):
  def __init__(self, cr, uid, name, context=None):
    super(attestation, self).__init__(cr, uid, name, context=context)
    self.localcontext.update( {
        'time': time,
        })
report_sxw.report_sxw('report.hr_payroll_from_timesheet.attestation_travail', 'hr.employee', 'addons/hr_payroll_from_timesheet/report/attestation_travail.rml', parser=attestation, header='internal')

hr_payroll_from_timesheet/report/初始化.py :

import attestation

hr_payroll_from_timesheet/openerp.py

'data': [
      'report/attestation_travail.xml',
],

感谢您的帮助,此致

@ParaMeterz 在此 link 中回答了一个类似的问题: OpenERP - Report Creation

我建议遵循 link 并验证您的 .xml 文件,试试这个:

 <openerp>
  <data>

   <report id="report_attestation_travail"
           string="attestation de travail"
           model="hr.employee"
           name="hr_payroll_from_timesheet.attestation_travail"
           rml="hr_payroll_from_timesheet/report/attestation_travail.rml"
           auto="False"/>

 </data>

此外,当您保存 .sxw 文件时,不要只输入 report_name.sxw 您必须在 libreoffice 中选择 .sxw 格式。