跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 开发与实施交流
  4. OpenERP的小数精度问题

OpenERP的小数精度问题

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
5 帖子 4 发布者 6.7k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • N 离线
    N 离线
    NewZN
    写于 最后由 编辑
    #1

    以销售订单上的价格计算为例说明。
    系统可以设置:1)销售价格的小数位数;2)财务数据的小数位数;3)币种换算的精确度。前两者的设置,版本V6.1中在菜单“setting->customization->database structure->decimal accurancy”中设置。后者的设置在菜单“Accouting -> Configuration -> Miscellaneous -> Currencies”中设置。
    销售订单上产品行上的价格小记及订单上的价格总计的计算规则是:
    1)产品单价的小数位数是系统设置的“销售价格的小数位数”;
    2)价格小记的计算是,a)单价*数量,b)税额计算,根据价内税和价外税的不同,a中的结果要扣除税额,税额计算结果的小数位数是系统设置的“财务数据的小数位数”,c)币种换算,b中计算的结果还要按该订单的币种上设定的精度进行取舍。
      因此,价格小记的最终结果,和“1)销售价格的小数位数;2)财务数据的小数位数;3)币种换算的精确度”三者的设置都相关。订单上的价格总计的结果,同理和三者的设置相关。

    此外,界面上的价格显示,编辑状态的时候,系统会正确的显示实际小数位数,但在只读状态的时候,系统只会显示2位小数位数。经查,原因在于代码文件:OpenERP 6.1-1\server\openerp\addons\web\static\src\js\formats.js中,浮点数默认是按2位显示,修改该代码中的默认位数即可正确显示。

    1 条回复 最后回复
    0
    • C 离线
      C 离线
      ccdos
      写于 最后由 编辑
      #2

      强人

      1 条回复 最后回复
      0
      • W 离线
        W 离线
        wjfonhand
        写于 最后由 编辑
        #3

        谢谢老肖的研究和分享。

        OpenERP在计算精度和小数位数这里设计得不够细致。实际上像property那样针对每个字段设置精度值,会更灵活。

        GoodERP -- Odoo China fork

        1 条回复 最后回复
        0
        • X 离线
          X 离线
          xuzan
          写于 最后由 编辑
          #4

          我装好了找不到地方设置。能否有更详细的说明呢?
          我只是在应用层面。

          1 条回复 最后回复
          0

          • 登录

          • 没有帐号? 注册

          • 登录或注册以进行搜索。
          • 第一个帖子
            最后一个帖子
          0
          • 版块
          • 标签
          • 热门
          • 用户
          • 群组