0
votes

I have been trying to create a calldetails report under OpenERP's Reporting module. I want report in same as in Reporting/Point of sale/sales details. I did steps specified in documentation but module is not showing.

This is my xml for report(inside calldetails/report/calldata_report.xml)

            <?xml version="1.0"?>
            <openerp>
                    <data>
                            <report
                                    id="report_calldata"
                                    string="call details"
                                    model="calldata"
                                    name="report.calldata_report"
                                    rml="calldetails/report/calldata_report.rml"
                                    auto="False"/>
                    </data>
        </openerp>

My model is (inside calldetails/calldata.py)

        from osv import osv,fields
          class calldata(osv.osv):
            _name = 'calldata'
            _columns = {
              'Call_start': fields.datetime('Call start'),
              'Call_duration':fields.datetime('Call duration'),
              'Ring_duration':fields.float('Ring duration'),
              'Caller':fields.char('Caller'),
              'Direction':fields.char('Direction'),
              'Called_number':fields.char('Called number'),
              'Dialled_number':fields.char('Dialled number'),
              'Account':fields.char('Account'),
              'Is_Internal':fields.boolean('Is internal'),
              'Call_ID':fields.char('Call id'),
              'Continuation':fields.boolean('Continuation'),
              'Party1Device':fields.char('Party1device'),
              'Party1Name':fields.char('Party1name'),
              'Party2Device':fields.char('Party2device'),
              'Party2Name':fields.char('Party2name'),
              'Hold_Time':fields.float('Hold time'),
              'Park_Time':fields.float('Park time'),
           }
        calldata()

My report object creation code is (inside calldetails/report/calldata_report.py)

        from report import report_sxw
        from osv import  osv
        class test_parser(report_sxw.rml_parse):
         def __init__(self,cr,uid,name,context):
           super(test_parser, self).__init_(cr,uid,name,context=context)
           self.localcontext.update({})
        report_sxw.report_sxw('report.calldata_report',
                               'calldata',
                                'addons/calldetails/report/calldata_report.rml',
                                parser=test_parser )

And inside record folder I added init.py (I imported calldata_report.py) and calldata_report.rml file( contains code copied from sale/report/sale/ sale_order.rml)

 and in (calldetails/__.openerp__.py) I added
 {"name" : "SMDR",
        "version" : "1.0",
        "author" : "Anuradha",
        "category" : "Generic Modules",
        "description": "call details",
        "website":"added website here but i cant post it due to insuffient karma",
        "depends" : ["base"],
        "init_xml" : [],
        "update_xml" : ["initial.xml","calldata_display.xml","report/calldata_report.xml"],
    #    "data":["calldata_report.xml"],
        "installable": True,
        "active": False
    }

And added report module in calldetails/init.py also. Please help me to find issue I have been working on it for a long time

1
Have you created menu for the report? And have you restarted your server after creating modules! !Parthiv

1 Answers

0
votes

try this

calldata_report.xml

<?xml version="1.0"?>
            <openerp>
                    <data>
                            <report
                                    id="report_calldata"
                                    string="call details"
                                    model="calldata"
                                    name="calldata.report"
                                    rml="calldetails/report/calldata_report.rml"
                                    auto="False"/>
                    </data>
        </openerp>

calldata_report.py

report_sxw.report_sxw('report.calldata.report',
                               'calldata',
                                'addons/calldetails/report/calldata_report.rml',
                                parser=test_parser )