changeset 04004848926e in sao:4.4
details: https://hg.tryton.org/sao?cmd=changeset;node=04004848926e
description:
        Always round numbers after factor operation

        issue8668
        review282251003
        (grafted from 55f0e73c3b8d3d636c7d93edcb5669555468b688)
diffstat:

 src/model.js |  19 ++++++-------------
 1 files changed, 6 insertions(+), 13 deletions(-)

diffs (36 lines):

diff -r 9fc31b7cedd6 -r 04004848926e src/model.js
--- a/src/model.js      Thu Oct 24 19:10:36 2019 +0200
+++ b/src/model.js      Thu Oct 24 19:14:23 2019 +0200
@@ -1706,6 +1706,12 @@
         apply_factor: function(record, value, factor) {
             if (value !== null) {
                 value /= factor;
+                var digits = this.digits(record);
+                if (digits) {
+                    // Round to avoid float precision error
+                    // after the division by factor
+                    value = this.convert(value.toFixed(digits[1]));
+                }
             }
             return value;
         },
@@ -1746,19 +1752,6 @@
             }
             return value;
         },
-        apply_factor: function(record, value, factor) {
-            value = Sao.field.Numeric._super.apply_factor(record, value, 
factor);
-            if (value !== null) {
-                var digits = this.digits(record);
-                if (digits) {
-                    // Round to avoid float precision error
-                    // after the division by factor
-                    value = value.toFixed(digits[1]);
-                }
-                value = new Sao.Decimal(value);
-            }
-            return value;
-        }
     });
 
     Sao.field.Integer = Sao.class_(Sao.field.Float, {

Reply via email to