X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fgl.pl;h=ea94a28be8807414893b1523b7272c152aad67b4;hb=34035b33f21af21316df798b19f2a758aa86b3a8;hp=8a8181917b68f283b1232e018f522f5a0b1b462d;hpb=ed667cac4097e2f2e62c7dd440eb0977da53b339;p=kivitendo-erp.git diff --git a/bin/mozilla/gl.pl b/bin/mozilla/gl.pl index 8a8181917..ea94a28be 100644 --- a/bin/mozilla/gl.pl +++ b/bin/mozilla/gl.pl @@ -42,7 +42,7 @@ use SL::GL; use SL::IS; use SL::PE; use SL::ReportGenerator; -use SL::DBUtils qw(selectrow_query); +use SL::DBUtils qw(selectrow_query selectall_hashref_query); require "bin/mozilla/common.pl"; require "bin/mozilla/reportgenerator.pl"; @@ -165,7 +165,7 @@ sub prepare_transaction { $form->{totalcredit} += $ref->{amount}; $form->{"credit_$i"} = $ref->{amount}; } - $form->{"taxchart_$i"} = "0--0.00"; + $form->{"taxchart_$i"} = $ref->{id}."--0.00000"; $form->{"project_id_$i"} = $ref->{project_id}; $i++; } @@ -528,6 +528,10 @@ sub update { my $creditcount = 0; my ($debitcredit, $amount); + my $dbh = SL::DB->client->dbh; + my ($notax_id) = selectrow_query($form, $dbh, "SELECT id FROM tax WHERE taxkey = 0 LIMIT 1", ); + my $zerotaxes = selectall_hashref_query($form, $dbh, "SELECT id FROM tax WHERE rate = 0", ); + my @flds = qw(accno debit credit projectnumber fx_transaction source memo tax taxchart); @@ -566,10 +570,10 @@ sub update { $form->{debitlock} = 1; } if ($debitcredit && $credittax) { - $form->{"taxchart_$i"} = "0--0.00"; + $form->{"taxchart_$i"} = "$notax_id--0.00"; } if (!$debitcredit && $debittax) { - $form->{"taxchart_$i"} = "0--0.00"; + $form->{"taxchart_$i"} = "$notax_id--0.00"; } $amount = ($form->{"debit_$i"} == 0) @@ -577,11 +581,12 @@ sub update { : $form->{"debit_$i"}; my $j = $#a; if (($debitcredit && $credittax) || (!$debitcredit && $debittax)) { - $form->{"taxchart_$i"} = "0--0.00"; + $form->{"taxchart_$i"} = "$notax_id--0.00"; $form->{"tax_$i"} = 0; } my ($taxkey, $rate) = split(/--/, $form->{"taxchart_$i"}); - if ($taxkey > 1) { + my $iswithouttax = grep { $_->{id} == $taxkey } @{ $zerotaxes }; + if (!$iswithouttax) { if ($debitcredit) { $debittax = 1; } else { @@ -896,7 +901,7 @@ sub form_footer { my ($follow_ups, $follow_ups_due); if ($::form->{id}) { - $follow_ups = FU->follow_ups('trans_id' => $::form->{id}); + $follow_ups = FU->follow_ups('trans_id' => $::form->{id}, 'not_done' => 1); $follow_ups_due = sum map { $_->{due} * 1 } @{ $follow_ups || [] }; } @@ -992,9 +997,9 @@ sub post_transaction { my $debitcredit; my %split_safety = (); - my $dbh = $form->dbconnect_noauto(\%myconfig); + my $dbh = SL::DB->client->dbh; my ($notax_id) = selectrow_query($form, $dbh, "SELECT id FROM tax WHERE taxkey = 0 LIMIT 1", ); - $dbh->disconnect; + my $zerotaxes = selectall_hashref_query($form, $dbh, "SELECT id FROM tax WHERE rate = 0", ); my @flds = qw(accno debit credit projectnumber fx_transaction source memo tax taxchart); @@ -1050,7 +1055,8 @@ sub post_transaction { $form->{"tax_$i"} = 0; } my ($taxkey, $rate) = split(/--/, $form->{"taxchart_$i"}); - if ($taxkey > 1) { + my $iswithouttax = grep { $_->{id} == $taxkey } @{ $zerotaxes }; + if (!$iswithouttax) { if ($debitcredit) { $debittax = 1; } else {