我有一个将报告保存在二进制字段中以进行归档的模型。为此,我使用pdf_get()。
document = self.env['report'].sudo().get_pdf(ids, report_name)
问题是,当我想创建一个不使用模型字段的报表,而必须使用带有id的模型来计算相关模型的值时。
我的报告模型
class ReportHistory(models.AbstractModel):
_name = 'report.hr.report_history'
def _get_report(self, ids[0]):
record = self.env['hr.history'].search([('id', '=', ids[0])])
return record
def _get_company(self, ids):
rec = self._get_report(ids)
if len(rec) > 0:
return rec[0].company_name
最大的问题是我无法调试,因此无法传递什么数据。打印或记录器或引发ValidationError将不起作用。可能是由于在Windows PC上运行了odoo。 我发现的每个答案都据说会传递这样的值进行报告,但这是行不通的。
@api.model
def render_html(self, docids, data=None):
docargs =
'doc_ids': self.ids,
'doc_model': self.model,
'data': data,
'company': self._get_company,
}
return self.env['report'].render()
那么如何正确地将值从方法传递给报表?还是我只是犯了一个愚蠢的错误?
答案 0 :(得分:0)
尝试一下:
return self.env['report'].render(report_name, docargs)