X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FAR.pm;h=ddd67b42923227c8c83aa41b87e8576f29de9dbb;hb=3dd73b25e1edb61144b0fa97d04dac046f81121e;hp=22ed409c12686def5e5f27200ffb19f25ea80af1;hpb=f01741e36a022e2bb7503abb23fbc0f46f27cd62;p=kivitendo-erp.git diff --git a/SL/AR.pm b/SL/AR.pm index 22ed409c1..ddd67b429 100644 --- a/SL/AR.pm +++ b/SL/AR.pm @@ -299,29 +299,29 @@ sub post_transaction { # add receivable $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, - transdate) + transdate, project_id) VALUES ($form->{id}, (SELECT c.id FROM chart c WHERE c.accno = '$form->{AR}{receivables}'), - $amount, '$form->{"datepaid_$i"}')|; - $dbh->do($query) || $form->dberror($query); + $amount, '$form->{"datepaid_$i"}', ?)|; + do_query($form, $dbh, $query, $project_id); } $form->{receivables} = $amount; $form->{"memo_$i"} =~ s/\'/\'\'/g; if ($form->{"paid_$i"} != 0) { - + my $project_id = conv_i($form->{"paid_project_id_$i"}); # add payment $amount = $form->{"paid_$i"} * -1; $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, - transdate, source, memo) + transdate, source, memo, project_id) VALUES ($form->{id}, (SELECT c.id FROM chart c WHERE c.accno = '$form->{AR}{"paid_$i"}'), $amount, '$form->{"datepaid_$i"}', - '$form->{"source_$i"}', '$form->{"memo_$i"}')|; - $dbh->do($query) || $form->dberror($query); + '$form->{"source_$i"}', '$form->{"memo_$i"}', ?)|; + do_query($form, $dbh, $query, $project_id); # exchangerate difference for payment $amount = @@ -331,12 +331,12 @@ sub post_transaction { if ($amount != 0) { $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, - transdate, fx_transaction, cleared) + transdate, fx_transaction, cleared, project_id) VALUES ($form->{id}, (SELECT c.id FROM chart c WHERE c.accno = '$form->{AR}{"paid_$i"}'), - $amount, '$form->{"datepaid_$i"}', '1', '0')|; - $dbh->do($query) || $form->dberror($query); + $amount, '$form->{"datepaid_$i"}', '1', '0', ?)|; + do_query($form, $dbh, $query, $project_id); } # exchangerate gain/loss @@ -350,11 +350,11 @@ sub post_transaction { $accno = ($amount > 0) ? $form->{fxgain_accno} : $form->{fxloss_accno}; $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, - transdate, fx_transaction, cleared) + transdate, fx_transaction, cleared, project_id) VALUES ($form->{id}, (SELECT c.id FROM chart c WHERE c.accno = '$accno'), - $amount, '$form->{"datepaid_$i"}', '1', '0')|; - $dbh->do($query) || $form->dberror($query); + $amount, '$form->{"datepaid_$i"}', '1', '0', ?)|; + do_query($form, $dbh, $query, $project_id); } } @@ -383,7 +383,7 @@ sub post_payment { # connect to database, turn off autocommit my $dbh = $form->dbconnect_noauto($myconfig); - $form->{datepaid} = $form->{invdate}; + $form->{datepaid} = $form->{transdate}; # total payments, don't move we need it here for my $i (1 .. $form->{paidaccounts}) { @@ -397,15 +397,19 @@ sub post_payment { } $form->{exchangerate} = - $form->get_exchangerate($dbh, $form->{currency}, $form->{invdate}, + $form->get_exchangerate($dbh, $form->{currency}, $form->{transdate}, "buy"); + my ($accno_ar) = split(/--/, $form->{ARselected}); + # record payments and offsetting AR for my $i (1 .. $form->{paidaccounts}) { if ($form->{"paid_$i"} != 0) { + my $project_id = conv_i($form->{"paid_project_id_$i"}); + my ($accno) = split /--/, $form->{"AR_paid_$i"}; - $form->{"datepaid_$i"} = $form->{invdate} + $form->{"datepaid_$i"} = $form->{transdate} unless ($form->{"datepaid_$i"}); $form->{datepaid} = $form->{"datepaid_$i"}; @@ -430,15 +434,15 @@ sub post_payment { $query = qq|DELETE FROM acc_trans WHERE trans_id=$form->{id} AND chart_id=(SELECT c.id FROM chart c - WHERE c.accno = '$form->{AR}') AND amount=$amount AND transdate='$form->{"datepaid_$i"}'|; + WHERE c.accno = '$accno_ar') AND amount=$amount AND transdate='$form->{"datepaid_$i"}'|; $dbh->do($query) || $form->dberror($query); $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, - transdate) + transdate, project_id) VALUES ($form->{id}, (SELECT c.id FROM chart c - WHERE c.accno = '$form->{AR}'), - $amount, '$form->{"datepaid_$i"}')|; - $dbh->do($query) || $form->dberror($query); + WHERE c.accno = '$accno_ar'), + $amount, '$form->{"datepaid_$i"}', ?)|; + do_query($form, $dbh, $query, $project_id); # record payment @@ -449,12 +453,12 @@ sub post_payment { $dbh->do($query) || $form->dberror($query); $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, - source, memo) + source, memo, project_id) VALUES ($form->{id}, (SELECT c.id FROM chart c WHERE c.accno = '$accno'), $form->{"paid_$i"}, '$form->{"datepaid_$i"}', - '$form->{"source_$i"}', '$form->{"memo_$i"}')|; - $dbh->do($query) || $form->dberror($query); + '$form->{"source_$i"}', '$form->{"memo_$i"}', ?)|; + do_query($form, $dbh, $query, $project_id); # gain/loss @@ -492,12 +496,12 @@ sub post_payment { WHERE c.accno = '$accno') AND amount=$form->{fx}{$accno}{$transdate} AND transdate='$transdate' AND cleared='0' AND fx_transaction='1'|; $dbh->do($query) || $form->dberror($query); $query = qq|INSERT INTO acc_trans (trans_id, chart_id, amount, - transdate, cleared, fx_transaction) + transdate, cleared, fx_transaction, project_id) VALUES ($form->{id}, (SELECT c.id FROM chart c WHERE c.accno = '$accno'), - $form->{fx}{$accno}{$transdate}, '$transdate', '0', '1')|; - $dbh->do($query) || $form->dberror($query); + $form->{fx}{$accno}{$transdate}, '$transdate', '0', '1', ?)|; + do_query($form, $dbh, $query, $project_id); } } }