nel report.xml ho questo
<report auto="False"
id="report_vendite_webkit"
model="stock.picking"
name="webkitvendite"
file="f_reports/reports/vendite.mako"
string="Stampa Scarichi per Periodo"
report_type="webkit"
webkit_header="f_reports.ir_header_carico_scarico_mag_f_webkit"
/>
nel file del parser lo registro cosi
report_sxw.report_sxw('report.webkitvendite',
'stock.picking',
os.path.join(perc, 'vendite.mako'),
parser=report_base_parser)
Quello che ho visto che mi dava problemi era il "name=webkitvendite" se lo mettevo come webkit.vendite mi andava in errore. Questo è quello a cui sono riuscito a venire a capo dopo circa n-mila prove empiriche.
adesso che ho rivisto la cosa mi diceva che non riusciva a trovare la variabile che css_bootstrap e css_personal che definisco nel parser e mi dava sempre undefined. L'errore è leggermente diverso dal tuo, ma credo molto molto simile. Come se non registrasse gli oggetti e non li passasse al report.
Nel mio parser avevo una cosa molto semplice come questa:
class report_vendite_parser(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context):
super(report_vendite_parser, self).__init__(cr, uid, name, context=context)
perc = os.path.dirname(os.path.abspath(__file__))
css_bootstrap = os.path.join(perc, 'css', 'bootstrap.min.css')
css_personal = os.path.join(perc, 'css', 'personal.css')
self.localcontext.update({
'time': time,
'cr':cr,
'uid': uid,
'css_bootstrap': css_bootstrap,
'css_personal': css_personal,
'picking': self._get_picking
})
def _get_picking(self, product):
pick = self.pool.get('stock.picking')
pick.search(self.cursor, self.uid, )
pass