This question has been flagged
1 Reply
3809 Views

I am trying to generate simple pdf file but facing an error. I am using following steps to do the same:

Created

hr_custom/report/__init__.py

import custom_letter

hr_custom/report/custom_letter.py

import datetime
import time

from openerp.report import report_sxw

class custom_letter(report_sxw.rml_parse):

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

report_sxw.report_sxw('report.custom.letter', 'hr.employee', 'addons/hr_custom/report/custom_letter.rml',parser=custom_letter)

hr_custom/report/custom_letter.rml

<?xml version="1.0"?>
    <document filename="example_2.pdf">
        <template>
            <pageTemplate id="main">
                <frame id="first" x1="72" y1="72" width="451" height="698"/>
            </pageTemplate>
        </template>
        <stylesheet>
        </stylesheet>
        <!-- The story starts below this comment -->
        
        <story>
            <para>
                This is the "story". This is the part of the RML document where your text is placed.
            </para>
            <para>
                It should be enclosed in "para" and "/para" tags to turn it into paragraphs.
            </para>
        </story>
    </document>

hr_custom/view/custom_letter_report.xml

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
        <report id="report_custom_letter" model="hr.employee" name="hr.employee" string="Custom Letter" xml="hr_custom/report/custom_letter.rml" auto="False" header="False" />
        
    </data>
</openerp>

 

 

 

At run time I am getting this error:

2015-01-30 07:01:25,912 4245 ERROR customopenerp openerp.service.web_services: Exception: u'report.hr.employee'
Traceback (most recent call last):
  File "/home/shiv.sh/workspace/CustomOpenERP/openerp-7.0/openerp/service/web_services.py", line 711, in go
    obj = netsvc.LocalService('report.'+object)
  File "/home/shiv.sh/workspace/CustomOpenERP/openerp-7.0/openerp/netsvc.py", line 98, in LocalService
    return Service._services[name]
KeyError: u'report.hr.employee'
2015-01-30 07:01:26,159 4245 ERROR customopenerp openerp.netsvc: report.hr.employee
(<type 'exceptions.KeyError'>, KeyError(u'report.hr.employee',), <traceback object at 0xb29aa2fc>)
Traceback (most recent call last):
  File "/home/shiv.sh/workspace/CustomOpenERP/openerp-7.0/openerp/netsvc.py", line 296, in dispatch_rpc
    result = ExportService.getService(service_name).dispatch(method, params)
  File "/home/shiv.sh/workspace/CustomOpenERP/openerp-7.0/openerp/service/web_services.py", line 654, in dispatch
    res = fn(db, uid, *params)
  File "/home/shiv.sh/workspace/CustomOpenERP/openerp-7.0/openerp/service/web_services.py", line 760, in exp_report_get
    return self._check_report(report_id)
  File "/home/shiv.sh/workspace/CustomOpenERP/openerp-7.0/openerp/service/web_services.py", line 738, in _check_report
    netsvc.abort_response(exc, exc.message, 'warning', exc.traceback)
  File "/home/shiv.sh/workspace/CustomOpenERP/openerp-7.0/openerp/netsvc.py", line 71, in abort_response
    raise openerp.osv.osv.except_osv(description, details)
except_osv: (u'report.hr.employee', (<type 'exceptions.KeyError'>, KeyError(u'report.hr.employee',), <traceback object at 0xb29aa2fc>))

 

Can anyone please guide me to fix the problem!

 

Avatar
Discard
Best Answer

Your file is called "letter.py" but in your __init__ you try to import "custom_letter". Rename either one and check if that works.

Avatar
Discard
Author

I mentioned wrong. File name is "custom_letter.py" only.