2016-10-07 5 views
2

Я создаю отчет, который можно перевести на текущий язык пользователя. поэтому я попробовал следующий код. Отчет работает, но язык для перевода - это всегда partner_id модели (stock.picking), но я хочу, чтобы отчет был переведен на текущий зарегистрированный пользовательский язык.odoo qweb report current user 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, 'partner_id.lang', 'wms_report.report_recvngwkst_document')"/> 
     </t> 
    </t> 
</template> 

Я также попытался положить user.lang, lang или env.user.lang, но я получаю ошибку, что stock.picking нет user.lang и т.д.

Кроме того, есть способ отладки в XML-файле, я имею в виду, как я могу увидеть объект env в отчете

+0

Odoo переводить отчеты на вошедшем языке пользователя, так что вам не нужно указывать, что , – Zety

+0

Привет WalR, отчет Lang не изменяется в зависимости от текущего пользователя, зарегистрированного в журнале, но если partner_id совпадает с зарегистрированным пользователем, он изменяется. Я думаю, что он изменяется на основе partner_id, а не текущего пользователя. – user280960

ответ

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> 
+0

Привет Emipro, я получаю следующую ошибку: у объекта «stock.picking» нет doc.user.partner_id – user280960

+0

вместо пользователя нам нужно написать 'request.env.user', у меня есть обновленный ответ, попробуйте это. –

+0

Спасибо Emipro, он работает, также может использоваться env.user.partner_id.lang. благодаря – user280960

Смежные вопросы