odoo 10 QWEB报告如何传递解析器中方法中使用的值?



我有一个模型,可以将报告保存在二进制字段中以供存档。为此,我使用 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

我最大的问题是我无法调试,所以我无法传递哪些数据。打印或记录器或引发验证错误将不起作用。可能是由于在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()

那么如何正确地将值从方法传递到报告呢?还是我只是犯了一个愚蠢的错误?

试试这个:

return self.env['report'].render(report_name, docargs)

相关内容

最新更新