odoo qweb报告当前用户lang

时间:2016-10-07 14:45:54

标签: openerp odoo-8

我正在创建可以翻译成当前用户语言的报告。所以我尝试了以下代码。报告正在运行,但要翻译的语言始终是模型的partner_idstock.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.langlangenv.user.lang,但我收到了stock.picking没有user.lang等错误。

另外,有没有办法在xml文件中调试,我的意思是如何在报告中看到env对象

1 个答案:

答案 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>