This question has been flagged
1 Reply
5575 Views

Hi all,

I am trying to create a custom invoice via a module, and am getting this error:

report.report.ec.invoice

(<type 'exceptions.KeyError'>, KeyError(u'report.report.ec.invoice',), <traceback object at 0x7f69d46bc560>)

I followed the conventions that I used to replace a Sales Order, but to no avail. I don't understand why it is looking for report.report.ec.invoice, but it might be a problem with my naming. Here is my code (I am sure the __init__.py and __openerp__.py files are correct):

EC_Invoice/ec_invoice.xml:

<openerp>

    <data>

    <report

        auto="False"

        id="account.account_invoices"

        model="account.invoice"

        name="report.ec.invoice"

        rml="EC_Invoicing/report/ec_invoice.rml"

        string="Invoices"

        attachment="(object.state in ('open','paid')) and ('INV'+(object.number or '').replace('/','')+'.pdf')"

        usage="default"

     />

    </data>

</openerp>

EC_Invoice/report/ec_invoice.py:

import time

from openerp.report import report_sxw

 

class ec_invoice(report_sxw.rml_parse):

    def __init__(self, cr, uid, name, context):

        super(ec_invoice, self).__init__(cr, uid, name, context=context)

        self.localcontext.update({

            'time': time,

        })

 

report_sxw.report_sxw(

    'report.ec.invoice',

    'account.invoice',

    'addons/EC_Invoice/report/ec_invoice.rml',

    parser=ec_invoice

)

Any idea what is going on here? I am stumped. Thanks!

Avatar
Discard
Best Answer

Hi,

Just write last line of code of py file as like below.

report_sxw.report_sxw( 'report.report.ec.invoice', 'account.invoice', 'addons/EC_Invoice/report/ec_invoice.rml', parser=ec_invoice )

I hope it will resolve your issue.

Avatar
Discard