0

I want to print a report. I have a module named partnership is under the addons folder. and under the partnership folder I carry the folder that contains new_report.rml new_report.sxw and new_report.py class containing this code:

import time
from openerp.report import report_sxw

class new_report(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context):
    super(new_report, self).__init__(cr, uid, name, context=context)
    self.localcontext.update( {'time': time,})

report_sxw.report_sxw('report.new.report', 'contratcommercial',
                  'addons/partnership/report/new_report.rml',
                  parser=new_report)

under addons / partnership partnership I report.xml containing this code:

<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<report
  auto="False"
  id="new_report_id"
  model="contratcommercial"
  name="commercial_report"
  rml="partnership/report/new_report.rml"
  string="imprimer contrat "/>

 </data>
 </openerp>

but I still have this error

report.commercial_report (<type 'exceptions.KeyError'>, KeyError(u'report.commercial_report',), <traceback objectat 0x06F19DC8>)

1 Answers1

1

Your report id is given wrong.name attribute of <report> tag is same as in .py side. Just put ahead report for example report.name.value

Try this code.

in .py side

report_sxw.report_sxw('report.commercial.report', 'contratcommercial',
              'addons/partnership/report/new_report.rml',
              parser=new_report)

in .xml side

<?xml version="1.0" encoding="UTF-8"?>
<openerp>
    <data>
    <report
    auto="False"
    id="new_report_id"
    model="contratcommercial"
    name="commercial.report"
    rml="partnership/report/new_report.rml"
    string="imprimer contrat "/>

    </data>
</openerp>

Hope this will solve your problem.

Bhavesh Odedra
  • 10,990
  • 12
  • 33
  • 58