Попробуйте передать данные, используя этот код
from odoo import models, api
class ReportClassName(models.AbstractModel):
_name = 'report.module_name.report_name'
@api.model
def render_html(self, docids, data=None):
docargs = {
'doc_ids': self.ids,
'doc_model': self.model,
'data': data,
}
return self.env['report'].render('module_name.report_name', docargs)
Вы можете передавать данные как данные, используя этот специальный report.py для отчета, и вызывать его
<t t-esc="data"/>
в шаблоне для просмотра данных в отчете qweb. Пожалуйста, используйте эту ссылку для создания пользовательского отчета с использованием файлов py и xml.
В odoo11 или odoo 12 вы можете использовать get_report_values вместо render_html
@api.model
def get_report_values(self, docids, data=None):
docs = self.env['model.name'].browse(docids)
return {
'doc_ids': docids,
'doc_model': 'model.name',
'docs': docs,
'lines': self.some_func(docs),
'data': data,
}
Если данные - это некая функция, вызовите эту функцию в строках и строках ['field'], чтобы получить данные в формате pdf