猿问

如何在 odoo 11 中使用报告打印记录?

我无法使用报告打印记录,出现错误:


AttributeError: 'report.my_module.certificate_template' object has no attribute 'get_report_values'

这是我正在使用的下面的代码。


class Reports(models.AbstractModel):

_name = 'report.my_module.certificate_template'


@api.model


def render_html(self, docids, data=None):

    report_object = self.env['report']

    report = report_object._get_report_from_name('my_module.certificate_template')

    docargs = {

          'doc_ids': docids,

          'doc_model': report.res_partner,

          'docs': self,  

    }

    return report_object.render('my_module.certificate_template', docargs)


温温酱
浏览 241回答 2
2回答

慕沐林林

您只需要编写方法名称“get_report_values”。如下所示:    class Reports(models.AbstractModel):       _name = 'report.my_module.certificate_template'       @api.model       def get_report_values(self, docids, data=None):           report_object = self.env['report']           report = report_object._get_report_from_name('my_module.certificate_template')           docargs = {                       'doc_ids': docids,                       'doc_model': report.res_partner,                       'docs': self,                       }           return report_object.render('my_module.certificate_template', docargs)因此,您只需要更改方法名称。我希望这对你有帮助。谢谢。

白衣染霜花

您必须返回如下对象:@api.modeldef get_report_values(self, docids, data=None):    report = self.env['ir.actions.report']._get_report_from_name('your_module.certificate_template')    records = self.env['your_module_name'].browse(self.ids)    return {        'doc_ids': self._ids,        'doc_model': report.model,        'docs': records,        'data': data    }
随时随地看视频慕课网APP

相关分类

Python
我要回答