0

我在 openerp 中创建了一个新模块。现在想创建报告。我已经为报告做了一切。我的模块概念是用户可以创建一个消费图表,它包含图表名称、日期和项目名称。每个图表包含多个产品及其消耗量。消耗图表详细信息在一个表格中,与消耗图表相关的产品详细信息在另一个表格中。我想显示一个带有消费图表名称及其产品详细信息的报告。我已经准备了一份报告,所以当获取 pdf 时,我可以看到消费图表详细信息如何包含产品详细信息。我的问题是如何在报告部分中包含多个模型。下面给出的是我当前的代码。

class order(report_sxw.rml_parse):
    def __init__(self, cr, uid, name, context=None):
        super(order, self).__init__(cr, uid, name, context=context)
        self.localcontext.update({
            'time': time,
        })


report_sxw.report_sxw('report.mat_mgmt.collection_docket', 'mat.mgmt', 'mat_magmt/report/collection_docket.rml', parser=order, header="external")
4

2 回答 2

0

您可以为任何模型创建对象self.pool.get('product.product'),然后您可以浏览其记录。如果您与模型/对象有任何关系,您可以直接访问它们。插件中有很多例子。

于 2013-05-21T04:50:21.813 回答
0

在解析器中添加一个函数以返回产品详细信息:

class order(report_sxw.rml_parse):
    def __init__(self, cr, uid, name, context=None):
        super(order, self).__init__(cr, uid, name, context=context)
        self.localcontext.update({
            'time': time,
            'details': _get_details,
        })

    def _get_details(self, product_id):
        product = self.pool.get('product.product').browse(self.cr, self.uid, product_id)

        # get product details

        return product_details


report_sxw.report_sxw('report.mat_mgmt.collection_docket', 'mat.mgmt', 'mat_magmt/report/collection_docket.rml', parser=order, header="external")
于 2015-11-09T13:05:12.250 回答