首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字段res_currency.rounding是如何在odoo中工作的

字段res_currency.rounding是如何在odoo中工作的
EN

Stack Overflow用户
提问于 2022-10-11 10:26:21
回答 1查看 26关注 0票数 0

我需要从sub_total和total_amount的sale_orders中隐藏所有的十进制值。

为此,打开了_ -> _>多个货币的货币设置,然后将舍入因子从0.010000设置到0.000000 (从互联网上的某个地方得到了这条线索)。

但是,这会在确认销售中产生一个除以零错误,当total_amount为零时(由于100%的折扣)--特别是在

代码语言:javascript
复制
File "/opt/bahmni-erp/odoo/addons/account/models/account_move.py", line 63, in _compute_matched_percentage
    move.matched_percentage = total_reconciled / total_amount

该位置的代码块是

代码语言:javascript
复制
if float_is_zero(total_amount, precision_rounding=precision_currency.rounding):
       move.matched_percentage = 1.0
else:
       move.matched_percentage = total_reconciled / total_amount

该float_is_zero正在调用其他函数集,并最终执行else部件和除法错误。

当我将舍入设置为1.000000时,我认为这个问题已经解决了,现在没有这样的错误了。

我找不到很多关于这个领域的行为以及如何在Odoo下使用它的文档。

请您确认一下上面的解决方案是否正常,不会产生更多的副作用吗?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-10-17 07:12:34

为了解决这个问题,

将数字从(12,6)改为(12,10)。

查找文件vim /usr/lib/python2.7/site-packages/openerp/addons/base/res/res_currency.py并搜索下一个字符串:

1-第一次更改:

代码语言:javascript
复制
rate= fields.function(_get_current_rate, string='Current Rate', digits=(12,10),                    

2-秒更改:

代码语言:javascript
复制
class res_currency_rate(osv.osv):
        _name = "res.currency.rate"      

      _description = "Currency Rate"
      rate= fields.float('Rate', digits=(12, 10), help='The rate of the currency to the currency of rate 1'),

希望能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74026594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档