my $query =
qq|SELECT a.id, a.invnumber, a.transdate, a.amount, a.paid, a.curr | .
- qq|FROM $arap a | .
+ qq|FROM $arap a | .
qq|WHERE (a.${vc}_id = ?) AND (a.curr = ? $curr_null) AND NOT (a.amount = paid)| .
- qq|ORDER BY a.id|;
+ qq|ORDER BY a.id|;
my $sth = prepare_execute_query($form, $dbh, $query,
conv_i($form->{"${vc}_id"}),
$form->{currency});
qq|INSERT INTO acc_trans (trans_id, chart_id, transdate, amount, | .
qq| cleared, fx_transaction) | .
qq|VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, ?, ?)|;
- @values = (conv_i($form->{"id_$i"}), $paymentaccno,
+ @values = (conv_i($form->{"id_$i"}), $paymentaccno,
conv_date($form->{datepaid}), ($amount * $ml * -1), '0',
'1');
do_query($form, $dbh, $query, @values);
# update AR/AP transaction
$query = qq|UPDATE $arap SET $paid, datepaid = ? WHERE id = ?|;
- @values = (conv_date($form->{datepaid}), conv_i($form->{"id_$i"}));
+ @values = (conv_date($form->{datepaid}), conv_i($form->{"id_$i"}));
do_query($form, $dbh, $query, @values);
# saving the history
$form->{id} = $form->{"id_$i"};
}
}
- # record a AR/AP with a payment
- if ($form->round_amount($paymentamount, 2) > 0) {
- $form->{invnumber} = "";
- OP::overpayment("", $myconfig, $form, $dbh, $paymentamount, $ml, 1);
- }
-
my $rc;
if ($form->round_amount($paymentamount, 2) < 0) {
- $dbh->rollback;
+ # Hier werden negativen Zahlungseingänge abgefangen
+ # Besser: in Oberfläche schon prüfen
+ # Zahlungsein- und ausgänge sind immer positiv
+ $dbh->rollback;
$rc = 0;
}
if ($form->round_amount($paymentamount, 2) == 0) {