Revision f921dcbb
Von Stephan Köhler vor fast 19 Jahren hinzugefügt
SL/AR.pm | ||
---|---|---|
55 | 55 |
$form->{transdate}, 'buy'); |
56 | 56 |
} |
57 | 57 |
for $i (1 .. $form->{rowcount}) { |
58 |
$form->{AR_amounts}{"amount_$i"} = (split(/--/, $form->{"AR_amount_$i"}))[0]; |
|
58 |
$form->{AR_amounts}{"amount_$i"} = |
|
59 |
(split(/--/, $form->{"AR_amount_$i"}))[0]; |
|
59 | 60 |
} |
60 | 61 |
($form->{AR_amounts}{receivables}) = split(/--/, $form->{ARselected}); |
61 |
($form->{AR}{receivables}) = split(/--/, $form->{ARselected}); |
|
62 |
($form->{AR}{receivables}) = split(/--/, $form->{ARselected});
|
|
62 | 63 |
|
63 | 64 |
$form->{exchangerate} = |
64 | 65 |
($exchangerate) |
... | ... | |
85 | 86 |
|
86 | 87 |
$form->{taxincluded} = 0 if ($form->{amount} == 0); |
87 | 88 |
for $i (1 .. $form->{rowcount}) { |
88 |
($form->{"taxkey_$i"}, $NULL) = split /--/, $form->{"taxchart_$i"};
|
|
89 |
($form->{"taxkey_$i"}, $NULL) = split /--/, $form->{"taxchart_$i"};
|
|
89 | 90 |
|
90 | 91 |
$query = |
91 | 92 |
qq| SELECT c.accno, t.rate FROM chart c, tax t where c.id=t.chart_id AND t.taxkey=$form->{"taxkey_$i"}|; |
92 | 93 |
$sth = $dbh->prepare($query); |
93 | 94 |
$sth->execute || $form->dberror($query); |
94 |
($form->{AR_amounts}{"tax_$i"}, $form->{"taxrate_$i"}) = $sth->fetchrow_array; |
|
95 |
$form->{AR_amounts}{"tax_$i"}{taxkey} = $form->{"taxkey_$i"}; |
|
95 |
($form->{AR_amounts}{"tax_$i"}, $form->{"taxrate_$i"}) = |
|
96 |
$sth->fetchrow_array; |
|
97 |
$form->{AR_amounts}{"tax_$i"}{taxkey} = $form->{"taxkey_$i"}; |
|
96 | 98 |
$form->{AR_amounts}{"amount_$i"}{taxkey} = $form->{"taxkey_$i"}; |
97 | 99 |
|
98 | 100 |
$sth->finish; |
99 | 101 |
if (!$form->{"korrektur_$i"}) { |
100 | 102 |
if ($form->{taxincluded} *= 1) { |
101 |
$tax = $form->{"amount_$i"} - ($form->{"amount_$i"} / ($form->{"taxrate_$i"} + 1)); |
|
103 |
$tax = |
|
104 |
$form->{"amount_$i"} - |
|
105 |
($form->{"amount_$i"} / ($form->{"taxrate_$i"} + 1)); |
|
102 | 106 |
$amount = $form->{"amount_$i"} - $tax; |
103 | 107 |
$form->{"amount_$i"} = $form->round_amount($amount, 2); |
104 | 108 |
$diff += $amount - $form->{"amount_$i"}; |
105 | 109 |
$form->{"tax_$i"} = $form->round_amount($tax, 2); |
106 | 110 |
$form->{netamount} += $form->{"amount_$i"}; |
111 |
} else { |
|
112 |
$form->{"tax_$i"} = $form->{"amount_$i"} * $form->{"taxrate_$i"}; |
|
113 |
$form->{"tax_$i"} = |
|
114 |
$form->round_amount($form->{"tax_$i"} * $form->{exchangerate}, 2); |
|
107 | 115 |
} |
108 |
$form->{"tax_$i"} = $form->{"amount_$i"} * $form->{"taxrate_$i"}; |
|
109 |
$form->{"tax_$i"} = $form->round_amount($form->{"tax_$i"} * $form->{exchangerate}, 2); |
|
110 | 116 |
} |
111 | 117 |
$form->{total_tax} += $form->{"tax_$i"}; |
112 | 118 |
} |
... | ... | |
223 | 229 |
WHERE c.accno = '$form->{AR_amounts}{"amount_$i"}'), |
224 | 230 |
$form->{"amount_$i"}, '$form->{transdate}', $project_id, '$taxkey')|; |
225 | 231 |
$dbh->do($query) || $form->dberror($query); |
226 |
if ($form->{"tax_$i"} !=0) { |
|
232 |
if ($form->{"tax_$i"} != 0) { |
|
233 |
|
|
227 | 234 |
# insert detail records in acc_trans |
228 |
$query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, |
|
235 |
$query = |
|
236 |
qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, |
|
229 | 237 |
project_id, taxkey) |
230 | 238 |
VALUES ($form->{id}, (SELECT c.id FROM chart c |
231 | 239 |
WHERE c.accno = '$form->{AR_amounts}{"tax_$i"}'), |
... | ... | |
234 | 242 |
} |
235 | 243 |
} |
236 | 244 |
} |
245 |
|
|
237 | 246 |
# add recievables |
238 | 247 |
$query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, |
239 | 248 |
project_id) |
... | ... | |
242 | 251 |
$form->{receivables}, '$form->{transdate}', $project_id)|; |
243 | 252 |
$dbh->do($query) || $form->dberror($query); |
244 | 253 |
|
245 |
|
|
246 | 254 |
# add paid transactions |
247 | 255 |
for my $i (1 .. $form->{paidaccounts}) { |
248 | 256 |
if ($form->{"paid_$i"} != 0) { |
Auch abrufbar als: Unified diff
Merge von 732 aus unstable: Bugfix Splitbuchungen
Fehler bei Splitbuchungen beseitigt, wenn mit Steuer inkl. gebucht wurde