我正在学习如何在OpenERP中生成报告,具体地说,我试图能够从wizard生成报告,但我找不到很多关于它的文档。
我已经能够生成一个向导,并用I need.For它的字段填充它。我创建了一个sales_wizard类和一个具有向导结构的xml文件。
我的sales_wizard.py位于自定义模块的wizard文件夹中,如下所示
class sales_wizard(osv.osv_memory):
_name = 'sim.sales.wizard'
print "Wizard IN"
_rec_name = 'building'
_columns = {
'building':fields.many2one('sim.buildings','building',required=True,ondelete='cascade'),
'period':fields.many2one('sim.periods','Period',required=True,ondelete='cascade')
}我缺少的是理解如何将向导与创建报告连接起来,以及如何传递向导中输入的变量的知识,在本例中是building和period
任何方向,提示,链接到正确的方向将非常感谢。
发布于 2013-06-25 14:21:52
你可以在openerp的向导中找到很多打印报表的例子。让我们签入产品模块product_pricelist报告和向导。
在向导中,当您打开时,有一个按钮打印,在打印按钮在py侧定义代码发送数据到报告
def print_report(self, cr, uid, ids, context=None):
"""
To get the date and print the report
@return : return report
"""
if context is None:
context = {}
datas = {'ids': context.get('active_ids', [])}
res = self.read(cr, uid, ids, ['price_list','qty1', 'qty2','qty3','qty4','qty5'], context=context)
res = res and res[0] or {}
res['price_list'] = res['price_list'][0]
datas['form'] = res
return {
'type': 'ir.actions.report.xml',
'report_name': 'product.pricelist',
'datas': datas,
}并在.rml文件文件中定义一个类似<para style="terp_default_Centre_8">[[ get_pricelist(data['form']['price_list']) ]]</para>的para
表单是在报表文件中定义的函数,其中数据‘get_pricelist’是从函数get_pricelist中使用的向导传递的参数
希望这能有所帮助
https://stackoverflow.com/questions/17286853
复制相似问题