summaryrefslogtreecommitdiff
path: root/FS/FS/tax_rate.pm
diff options
context:
space:
mode:
authorivan <ivan>2011-05-23 00:01:31 +0000
committerivan <ivan>2011-05-23 00:01:31 +0000
commitd884f87c167fa00a24b2347c46606585b8420657 (patch)
treed05bd57c7a1fd3ad38af73313228b72a1b0b592e /FS/FS/tax_rate.pm
parentdf4c3a581b4e37920a144dee8342f296405d7946 (diff)
fix cch tax rate import for taxes coming from dbf file in scientific notation, RT#11003
Diffstat (limited to 'FS/FS/tax_rate.pm')
-rw-r--r--FS/FS/tax_rate.pm11
1 files changed, 8 insertions, 3 deletions
diff --git a/FS/FS/tax_rate.pm b/FS/FS/tax_rate.pm
index 54b388c..48c0196 100644
--- a/FS/FS/tax_rate.pm
+++ b/FS/FS/tax_rate.pm
@@ -1196,9 +1196,14 @@ sub _cch_extract_csv_from_dbf {
$date;
};
while (my $row = $cursor->fetch_hashref) {
- $csv->combine( map { ($table->field_type($_) eq 'D')
- ? &{$format_date}($row->{$_})
- : $row->{$_}
+ $csv->combine( map { my $type = $table->field_type($_);
+ if ($type eq 'D') {
+ &{$format_date}($row->{$_}) ;
+ } elsif ($type eq 'N' && $row->{$_} =~ /e-/i ) {
+ sprintf('%.8f', $row->{$_}); #db row is numeric(14,8)
+ } else {
+ $row->{$_};
+ }
}
@fields
);