Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
1 Răspunde
6513 Vizualizări

I'm trying to use report parser, but it always pop an error

ValueError  The _name attribute report.test_module.report_test_doc is not valid

I searched that your report name is use for the parser _template and _name in order to be used by Odoo. It doesn't show the error if I remove the test_module in 'report.report_test_doc', but when I execute it, another error appears -  'Nonetype' object is not callable' hello()


report.xml

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
        <report 
            id="eport_monthly_pdc"
            string="Monthly report of PDC"
            model="account.voucher"
            report_type="qweb-pdf"
            name="test_module.report_test_doc" 
            file="test_module.report_test_doc" 
        />
    </data>
</openerp>

report_parser.py

from openerp import api, models
from openerp.report import report_sxw
import time
class report_parser(report_sxw.rml_parse):
    def __init__(self, cr, uid, name, context):
        super(report_parser, self).__init__(cr, uid, name, context=context)
        self.localcontext.update({     
            'time': time,            
            'hello_world': self._hello,
        })
    def _hello(self):
        return "Hello World!"

class report_parser_test(models.AbstractModel):
    _name = 'report.test_module.report_test_doc'
    _inherit = 'report.abstract_report'
    _template = 'test_module.report_test_doc'
    _wrapped_report_class = report_parser


report_test_doc.xml


<openerp>
<data> 
<template id="report_test_doc">
    <t t-call="report.html_container">
        <t t-foreach="docs" t-as="o">
            <t t-call="test_module.report_test_layout">
                <div class="page">
                    <div class="text-center">
                        <span t-esc="hello_world()"/>
                    </div>
                </div>
            </t>
        </t>
    </t>
</template>
</data>
</openerp>

What am I missing?

Imagine profil
Abandonează
Cel mai bun răspuns

I have used the same code, but i didn't get any error as like as you mentioned. I had the error in "report_test_doc.xml" file. So i replaced the 6th line as below:

<t t-call="report.external_layout">

then is working fine for me. 

Imagine profil
Abandonează
Autor

That was my custom layout. Anyway, it was already solved, the name of the module is the problems. Hehe Thanks anyway :)

Related Posts Răspunsuri Vizualizări Activitate
4
ian. 25
44960
0
oct. 24
1685
0
oct. 24
5
1
mai 23
3210
5
mai 21
11775