Verbesserung Standard-Auslagern
authorJan Büren <jan@kivitendo-premium.de>
Tue, 4 Nov 2014 16:50:11 +0000 (17:50 +0100)
committerJan Büren <jan@kivitendo-premium.de>
Tue, 4 Nov 2014 16:50:11 +0000 (17:50 +0100)
a) Überprüfung auf negative Eingabe des Benutzers (hier wird beim
    manuellen Auslagern keine Lager-Bewegung durchgeführt).

b) Löschen von bisher eingetragenene Mengen innerhalb der einzelnen
  Positionen (für den Fall Dienstleistung nicht ein- oder auslagern).
  Falls das ein Benutzer so eingibt

bin/mozilla/do.pl
locale/de/all

index 8f0ea4c..c608351 100644 (file)
@@ -1592,6 +1592,7 @@ sub transfer_in_out_default {
       my $base_unit_factor = $units->{ $part_info_map{$form->{"id_$i"}}->{unit} }->{factor} || 1;
       my $qty =   $form->parse_amount(\%myconfig, $form->{"qty_$i"}) * $units->{$form->{"unit_$i"}}->{factor} / $base_unit_factor;
 
+      $form->show_generic_error($locale->text("Cannot transfer negative entries." ), 'back_button' => 1) if ($qty < 0);
       # if we do not want to transfer services and this part is a service, set qty to zero
       # ... and do not create a hash entry in %qty_parts below (will skip check for bins for the transfer == out case)
       # ... and push only a empty (undef) element to @all_requests (will skip check for bin_id and warehouse_id and will not alter the row)
@@ -1599,7 +1600,7 @@ sub transfer_in_out_default {
       $qty = 0 if (!$::instance_conf->get_transfer_default_services && !defined($part_info_map{$form->{"id_$i"}}->{inventory_accno_id}) && !$part_info_map{$form->{"id_$i"}}->{assembly});
       $qty_parts{$form->{"id_$i"}} += $qty;
       if ($qty == 0) {
-        delete $qty_parts{$form->{"id_$i"}};
+        delete $qty_parts{$form->{"id_$i"}} unless $qty_parts{$form->{"id_$i"}};
         undef $form->{"stock_in_$i"};
       }
 
index 16ad7a3..195c189 100755 (executable)
@@ -456,6 +456,7 @@ $self->{texts} = {
   'Cannot stock without amount' => 'Kann nicht ohne Menge einlagern!',
   'Cannot storno invoice for a closed period!' => 'Das Rechnungsdatum der zu stornierenden Rechnung fällt in einen abgeschlossenen Zeitraum!',
   'Cannot storno storno invoice!' => 'Kann eine Stornorechnung nicht stornieren',
+  'Cannot transfer negative entries.' => 'Kann keine negativen Mengen auslagern.',
   'Cannot transfer. <br> Reason:<br>#1' => 'Kann nicht auslagern. <br>Grund:<br>#1',
   'Carry over shipping address' => 'Lieferadresse &uuml;bernehmen',
   'Cash'                        => 'Zahlungsverkehr',