diff options
author | ivan <ivan> | 2011-05-23 00:01:31 +0000 |
---|---|---|
committer | ivan <ivan> | 2011-05-23 00:01:31 +0000 |
commit | d884f87c167fa00a24b2347c46606585b8420657 (patch) | |
tree | d05bd57c7a1fd3ad38af73313228b72a1b0b592e /FS/FS/tax_rate.pm | |
parent | df4c3a581b4e37920a144dee8342f296405d7946 (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.pm | 11 |
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 ); |