projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix credit cards showing up as PO#s, RT#16291
[freeside.git]
/
FS
/
FS
/
tax_rate.pm
diff --git
a/FS/FS/tax_rate.pm
b/FS/FS/tax_rate.pm
index
c0e8c89
..
48c0196
100644
(file)
--- 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) {
$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
);
}
@fields
);
@@
-1894,7
+1899,7
@@
sub generate_liability_report {
my $payby_itemdesc_loc =
" payby != 'COMP' ".
my $payby_itemdesc_loc =
" payby != 'COMP' ".
- "AND
itemdesc = ? OR ? = '' AND itemdesc IS NULL
".
+ "AND
( itemdesc = ? OR ? = '' AND itemdesc IS NULL )
".
"AND ". FS::tax_rate_location->location_sql( map { $_ => $t->$_ }
@taxparams
);
"AND ". FS::tax_rate_location->location_sql( map { $_ => $t->$_ }
@taxparams
);
@@
-1904,19
+1909,19
@@
sub generate_liability_report {
my $sql = "SELECT SUM(amount) $taxwhere AND cust_bill_pkg.pkgnum = 0";
my $sql = "SELECT SUM(amount) $taxwhere AND cust_bill_pkg.pkgnum = 0";
- my $x = &{$scalar_sql}($t, [], $sql );
+ my $x = &{$scalar_sql}($t, [
'itemdesc', 'itemdesc'
], $sql );
$tax += $x;
$taxes{$label}->{'tax'} += $x;
my $creditfrom =
"JOIN cust_credit_bill_pkg USING (billpkgnum,billpkgtaxratelocationnum)";
my $creditwhere =
$tax += $x;
$taxes{$label}->{'tax'} += $x;
my $creditfrom =
"JOIN cust_credit_bill_pkg USING (billpkgnum,billpkgtaxratelocationnum)";
my $creditwhere =
- "FROM cust_bill_pkg $addl_from $creditfrom $where $payby_itemdesc_loc";
+ "FROM cust_bill_pkg $addl_from $creditfrom $where
AND
$payby_itemdesc_loc";
$sql = "SELECT SUM(cust_credit_bill_pkg.amount) ".
" $creditwhere AND cust_bill_pkg.pkgnum = 0";
$sql = "SELECT SUM(cust_credit_bill_pkg.amount) ".
" $creditwhere AND cust_bill_pkg.pkgnum = 0";
- my $y = &{$scalar_sql}($t, [], $sql );
+ my $y = &{$scalar_sql}($t, [
'itemdesc', 'itemdesc'
], $sql );
$credit += $y;
$taxes{$label}->{'credit'} += $y;
$credit += $y;
$taxes{$label}->{'credit'} += $y;