如何将多个对象传递给报告引擎?
我正在尝试创建一个自定义发票报告,我需要在其中附加来自其他应用程序的数据以显示在发票上。我可以使用 Web 服务将数据输入 OpenERP 服务器,但如何将其传递给报告引擎?也许
set_context or (self.localcontext.update())
方法在这里很有用,因为它允许我将自定义变量传递给报告,但是如何传递整个对象。
我从其他应用程序导入的内容本质上是一个巨大的表,其中可能包含与当前合作伙伴相关的 100 条记录,我不需要将其保存在 OpenERP 数据库中,只需在生成发票时显示即可。
编辑:
测试我在解析器中的对象
class test_invoice(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context):
super(test_invoice, self).__init__(cr, uid, name, context=context)
self.localcontext.update({
'time': time,
'test_var': 'Worked!',
'get_list': self._get_list,
})
def _get_list(self):
result = []
ress = {'first': '1',
'second': '2',
}
result.append(ress)
return result
并在 rml 文件中
...start of rml file
<section>
<para>
[[ repeatIn(get_list(), 'g')]]
[[ g.first ]]
</para>
</section>
</story>
</document>
但这会引发错误“强制转换为 Unicode:需要字符串或缓冲区,找到元组”。我们如何在 rml 中显示自定义列表?
谢谢你。