From: Jan Büren Date: Fri, 8 Oct 2010 11:04:22 +0000 (+0200) Subject: Zahlungsein- und ausgänge. Die Prüfung, ob negative oder leere Werte eingetragen... X-Git-Tag: release-2.6.2beta1~105 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=f147b6eb9250111ed6882e4d8b11ad477ac6fefe;p=kivitendo-erp.git Zahlungsein- und ausgänge. Die Prüfung, ob negative oder leere Werte eingetragen wurden vom CP.pm auf cp.pl verlagert. Genauere Fehlermeldung, falls kein Eintrag gewählt wurde. Die Überprüfung auf ->{amount} rausgenommen, sodass man ohne Erneuern direkt nach Auswahl der Überweisung buchen kann. Teilfix für Bug: 1484 --- diff --git a/SL/CP.pm b/SL/CP.pm index fbfd6fa43..19b629f1c 100644 --- a/SL/CP.pm +++ b/SL/CP.pm @@ -240,7 +240,6 @@ sub process_payment { qq| (c.link LIKE '%:AP:%')) |; } - my $paymentamount = $form->{amount}; my $null; ($null, $form->{department_id}) = split(/--/, $form->{department}); @@ -260,7 +259,6 @@ sub process_payment { $form->{"due_$i"} = $form->parse_amount($myconfig, $form->{"due_$i"}); if ($form->{"checked_$i"} && $form->{"paid_$i"}) { - $paymentamount = (($paymentamount * 1000) - ($form->{"paid_$i"} * 1000)) / 1000; # get exchangerate for original $query = @@ -365,18 +363,11 @@ sub process_payment { # /saving the history } } - my $rc; - if ($form->round_amount($paymentamount, 2) < 0) { - # 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) { + # Hier wurden negativen Zahlungseingänge abgefangen + # da Zahlungsein- und ausgänge immer positiv sind + # Besser: in Oberfläche schon prüfen erledigt jb 10.2010 $rc = $dbh->commit; - } $dbh->disconnect; diff --git a/bin/mozilla/cp.pl b/bin/mozilla/cp.pl index a62a9ebff..1c37e41ee 100644 --- a/bin/mozilla/cp.pl +++ b/bin/mozilla/cp.pl @@ -34,7 +34,6 @@ use SL::CP; use SL::IS; use SL::IR; - use strict ("vars", "subs"); #use warnings; @@ -773,9 +772,19 @@ sub check_form { &update; ::end_of_request(); } - - $form->error($locale->text('Zero amount posting!')) if !$form->parse_amount(\%myconfig, $form->{amount}); $form->error($locale->text('Date missing!')) unless $form->{datepaid}; + my $selected_check = 1; + for my $i (1 .. $form->{rowcount}) { + if ($form->{"checked_$i"}) { + if ($form->parse_amount(\%myconfig, $form->{"paid_$i"}, 2) <= 0) { # negativen Betrag eingegeben + $form->error($locale->text('No zero or negative values, please! Correct row number:' . $i)); + } + undef($selected_check); + # last; # ich muss doch über alle buchungen laufen, da ich noch + # die freitext-eingabe der werte prüfen will + } + } + $form->error($locale->text('No transaction selected!')) if $selected_check; $closedto = $form->datetonum($form->{closedto}, \%myconfig); $datepaid = $form->datetonum($form->{datepaid}, \%myconfig); diff --git a/locale/de/all b/locale/de/all index 9d78ab9a6..dc38e49e7 100644 --- a/locale/de/all +++ b/locale/de/all @@ -526,6 +526,7 @@ $self->{texts} = { 'Delivery Order deleted!' => 'Lieferschein gelöscht!', 'Delivery Orders' => 'Lieferscheine', 'Department' => 'Abteilung', + 'Department Id' => 'Abteilungs Nummer', 'Department deleted!' => 'Abteilung gelöscht.', 'Department saved!' => 'Abteilung gespeichert.', 'Departments' => 'Abteilungen', @@ -1067,12 +1068,14 @@ $self->{texts} = { 'No part was found matching the search parameters.' => 'Es wurde kein Artikel gefunden, auf den die Suchparameter zutreffen.', 'No prices will be updated because no prices have been entered.' => 'Es werden keine Preise aktualisiert, weil keine gültigen Preisänderungen eingegeben wurden.', 'No problems were recognized.' => 'Es wurden keine Probleme gefunden.', + 'No transaction selected!' => 'Keine Transaktion ausgewählt', 'No transfers were executed in this export.' => 'In diesem SEPA-Export wurden keine Überweisungen ausgeführt.', 'No unknown units where found.' => 'Es wurden keine unbekannten Einheiten gefunden.', 'No user has been selected.' => 'Es wurde kein Benutzer ausgewählt.', 'No valid number entered for pricegroup "#1".' => 'Für Preisgruppe "#1" wurde keine gültige Nummer eingegeben.', 'No vendor has been selected yet.' => 'Es wurde noch kein Lieferant ausgewählt.', 'No warehouse has been created yet or the quantity of the bins is not configured yet.' => 'Es wurde noch kein Lager angelegt, bzw. die dazugehörigen Lagerplätze sind noch nicht konfiguriert.', + 'No zero or negative values, please! Correct row number:' => 'Leere Eingabe oder Werte kleiner, gleich null eingegeben. Fehler in Reihe Nummer: ', 'No.' => 'Position', 'Non-taxable Purchases' => 'Nicht zu versteuernde Einkäufe', 'Non-taxable Sales' => 'Nicht zu versteuernde Verkäufe',