为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

温温酱 2022-01-11 17:19:21
我无法使用报告打印记录,出现错误:AttributeError: 'report.my_module.certificate_template' object has no attribute 'get_report_values'这是我正在使用的下面的代码。class Reports(models.AbstractModel):_name = 'report.my_module.certificate_template'@api.modeldef 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)
查看完整描述

2 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

您只需要编写方法名称“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)

因此,您只需要更改方法名称。


我希望这对你有帮助。谢谢。


查看完整回答
反对 回复 2022-01-11
?
白衣染霜花

TA贡献1796条经验 获得超10个赞

您必须返回如下对象:


@api.model

def 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

    }


查看完整回答
反对 回复 2022-01-11
  • 2 回答
  • 0 关注
  • 239 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号