首页 > 解决方案 > 如何在 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)

标签: pythonodoo

解决方案


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

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

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


推荐阅读