#openerp #odoo-8
#odoo #odoo-8
Вопрос:
Я создаю отчет, который может быть переведен на текущий язык пользователя. итак, я попробовал следующий код. Отчет работает, но язык для перевода всегда 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 нет пользователя.язык и т. Д.
Кроме того, есть ли способ отладки в XML-файле, я имею в виду, как я могу увидеть объект env в отчете
Комментарии:
1. Odoo переводит отчеты на язык зарегистрированного пользователя, поэтому вам не нужно указывать это.
2. Привет, WalR, язык отчета не изменяется на основе текущего зарегистрированного пользователя, но если идентификатор партнера совпадает с зарегистрированным пользователем, он меняется. Я думаю, что это меняется на основе partner_id не текущего зарегистрированного пользователя.
Ответ №1:
Поведение по умолчанию заключается в том, что в отчете задан язык партнера, отчет генерируется на языке партнера (партнера, который указан там в записи).
И если вы хотите обновить этот сценарий, вам нужно сделать такую другую вещь, как partner_id.lang
should be replaced на 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>
Комментарии:
1. Привет, Emipro, я получаю следующую ошибку: у объекта » stock.picking» нет doc.user.partner_id
2. вместо пользователя нам нужно написать
request.env.user
, у меня есть обновленный ответ, попробуйте это.3. Спасибо Emipro, это работает, также env.user.partner_id. можно использовать lang. Спасибо