如何在Odoo报告中以印度卢比格式打印amount_to_text。

时间:2016-08-23 04:54:41

标签: python openerp odoo-8

我试图用Odoo中的单词打印发票金额,

以下是.py

中的代码
@api.multi
    def amount_to_text(self, amount_total, currency='INR'):
        return amount_to_text(amount_total, currency)

以下是qweb报告中的代码,

<div class="row">
            <div class="col-xs-10">
                    <strong><td>Total in words:</td></strong>
                      <span t-esc="o.amount_to_text(o.amount_total, 
'INR')"/>

            </div>
</div>

但报告始终以欧元显示单词(如下图所示),无法以INR格式打印。是否有任何over_to_text方法。

Amount in Euro words

1 个答案:

答案 0 :(得分:1)

首先转到设置 - &gt;报告 - &gt;报告并搜索invoices以查找您感兴趣的发票报告。打开它,取消选中Reload from attachment

如果仅在第一次为记录生成报告时检查Reload from attachment,则会将其保存在数据库中。如果您尝试重新打印报告(对于相同的记录),Odoo将获取已保存的报告,并且不会重新呈现新报告。

另外,我检查了这个Odoo方法的定义,但它与你的定义不符。

在第170行的openerp/tools/amount_to_text.py上,您将找到此方法的定义。您可以看到它是作为工具提供的静态方法,因此使用此方法的正确方法是:

from openerp.tools.amount_to_text import amount_to_text

现在您可以使用相关参数调用该方法。该方法有充分的文档记录,您可以轻松地弄清楚它是如何使用的。