如何在pdf报告中获得选定的公司

时间:2021-07-13 14:43:33

标签: odoo qweb odoo-14

如标题所述,我想在报告中获取选定的公司(在多公司数据库中),我知道它可以在 python 中使用:

select_companies = self.env['res.company'].browse(self._context.get('allowed_company_ids'))

enter image description here

但是在 qweb 中我没有 self(记录),还有其他方法可以获取上下文吗?

注意:我会在t-if
中使用它们 Odoo v14

1 个答案:

答案 0 :(得分:2)

文档报告 (QWeb) 中,您通常会得到 doco,它们代表您要打印/呈现的记录。这通常是(除非在极少数情况下)一个普通的 Odoo 记录集,其中包含您可以在 Odoo 的 python 业务逻辑代码中使用的所有内容。所以试试吧:

<span t-esc="o.env.context.get('allowed_company_ids', 'sorry nothing here')" />

这应该打印/呈现公司 ID 列表。如果这有效,您还可以在 t-if 和其他 QWeb 控件元素中使用它。

商业智能报告(再次是 QWeb)中,这取决于报告的调用方式。在评论中提到了模板 account_reports.line_template,它已经使用了 context.get()。但这并不意味着这个上下文是正常的上下文。但值得一试。您必须深入研究报告 Python 代码,以找出上下文中存在的内容或如何操作它。