Zahlungsein- und ausgänge. Die Prüfung, ob negative oder leere Werte eingetragen...
authorJan Büren <jan@lx-office-hosting.de>
Fri, 8 Oct 2010 11:04:22 +0000 (13:04 +0200)
committerJan Büren <jan@lx-office-hosting.de>
Fri, 8 Oct 2010 11:04:22 +0000 (13:04 +0200)
SL/CP.pm
bin/mozilla/cp.pl
locale/de/all

index fbfd6fa..19b629f 100644 (file)
--- 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;
 
index a62a9eb..1c37e41 100644 (file)
@@ -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);
index 9d78ab9..dc38e49 100644 (file)
@@ -526,6 +526,7 @@ $self->{texts} = {
   'Delivery Order deleted!'     => 'Lieferschein gel&ouml;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&auml;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',