odoo qweb сообщает язык текущего пользователя

Я создаю отчет, который можно перевести на текущий язык пользователя. поэтому я попробовал следующий код. Отчет работает, но язык для перевода всегда 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 в отчете


person user280960    schedule 07.10.2016    source источник
comment
Odoo переводит отчеты на язык зарегистрированного пользователя, поэтому вам не нужно указывать это.   -  person Kenly    schedule 08.10.2016
comment
Привет, УолР, язык отчета не изменяется в зависимости от текущего зарегистрированного пользователя, но если partner_id совпадает с зарегистрированным пользователем, он изменяется. Я думаю, что это меняется на основе partner_id, а не текущего зарегистрированного пользователя.   -  person user280960    schedule 08.10.2016


Ответы (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>
person Emipro Technologies Pvt. Ltd.    schedule 08.10.2016
comment
Привет, Emipro, я получаю следующую ошибку: объект stock.picking не имеет doc.user.partner_id - person user280960; 11.10.2016
comment
вместо пользователя нам нужно написать request.env.user, я обновил ответ, попробуйте это. - person Emipro Technologies Pvt. Ltd.; 12.10.2016
comment
Спасибо Emipro, все работает, также можно использовать env.user.partner_id.lang. Спасибо - person user280960; 12.10.2016