odoo 10 QWEB сообщает, как передать значение, которое используется в методах, в анализаторе? - PullRequest
0 голосов
/ 29 июня 2018

У меня есть модель, которая сохраняет отчеты в двоичных полях для архивирования. Для этого я использую pdf_get ().

document = self.env['report'].sudo().get_pdf(ids, report_name)

Проблема заключается в том, что я хочу создать отчет, который не использует поля моделей, но должен вычислять значения из связанных моделей с моделью, которая передается с идентификаторами.

Моя модель отчета

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 не будет работать. Вероятно, из-за запуска odoo на ПК с Windows. В каждом ответе, который я нашел, говорилось, что он передает значения в отчет, как это, но он не работает.

@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()

Так как правильно передать значения из методов в отчет? Или я только совершил глупую ошибку?

1 Ответ

0 голосов
/ 02 июля 2019

Попробуйте это:

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