我正在创建可以翻译成当前用户语言的报告。所以我尝试了以下代码。报告正在运行,但要翻译的语言始终是模型的partner_id
(stock.picking
),但我希望将报告转换为当前记录的用户语言。
报告翻译如下:
<template id="report_print_recvng_wkst">
<t t-call="report.html_container">
<t t-foreach="doc_ids" t-as="doc_id">
<t t-raw="translate_doc(doc_id, doc_model, 'partner_id.lang', 'wms_report.report_recvngwkst_document')"/>
</t>
</t>
</template>
我也尝试过user.lang
,lang
或env.user.lang
,但我收到了stock.picking没有user.lang等错误。
另外,有没有办法在xml文件中调试,我的意思是如何在报告中看到env对象
答案 0 :(得分:1)
默认行为是,在设置报告合作伙伴语言时,报告以合作伙伴的语言生成(在记录中设置的合作伙伴)。
如果您想要更新该方案,那么您需要执行其他操作,例如partner_id.lang
应替换为request.env.user.partner_id.lang
<template id="report_print_recvng_wkst">
<t t-call="report.html_container">
<t t-foreach="doc_ids" t-as="doc_id">
<t t-raw="translate_doc(doc_id, doc_model, 'request.env.user.partner_id.lang', 'wms_report.report_recvngwkst_document')"/>
</t>
</t>
</template>