如果从销售中打印发票并将其隐藏时,我该如何显示字段?有什么方法可以从QWEB模板访问活动模块?类似于以下代码的内容:
<template id="report_invoice_document" inherit_id="account.report_invoice_document">
<xpath expr="//div[@class='page']" position="replace">
<div t-if="o.active_module == account" class="page">
<!-- Hide Here -->
</div>
<div t-else="" class="page">
<!-- Show Here -->
</div>
</xpath>
</template>
您可以使用自定义报告创建自定义报告或覆盖现有报告。评估Python代码中的活动模型,并将论点传递给您的报告进行QWEB评估。您可以像建议的那样将论点传递给QWEB,然后使用建议的代码中使用的完全相同的逻辑。
import logging
_logger = logging.getLogger(__name__)
class YourReport(models.AbstractModel):
_name = 'report.your_addon.report_template_id'
@api.multi
def render_html(self, data=None):
_logger.info("RUNNING REPORT")
report_obj = self.env['report']
report = report_obj._get_report_from_name('your_addon.report_template_id')
docs = self.env.context.get('active_ids')
docargs = {
'doc_model': report.model,
'active_model': self.env.context.get('active_model'),
'docs': docs,
}
return report_obj.render('your_addon.report_template_id', docargs)