CSS/JS: Git-Revision von HEAD als GET-Parameter verwenden
[kivitendo-erp.git] / SL / IS.pm
index c743f3b..e9e9144 100644 (file)
--- a/SL/IS.pm
+++ b/SL/IS.pm
@@ -1462,18 +1462,20 @@ sub transfer_out {
   foreach my $i (1 .. $form->{rowcount}) {
     next if !$form->{"id_$i"};
 
-    my ($err, $wh_id, $bin_id, $chargenumber);
+    my ($err, $qty, $wh_id, $bin_id, $chargenumber);
 
-    if ($::instance_conf->get_sales_serial_eq_charge) {
-      next unless $form->{"serialnumber_$i"};
+    if ($::instance_conf->get_sales_serial_eq_charge && $form->{"serialnumber_$i"}) {
       my @serials = split(" ", $form->{"serialnumber_$i"});
       if (scalar @serials != $form->{"qty_$i"}) {
         push @errors, $::locale->text("Cannot transfer #1 qty with #2 serial number(s)", $form->{"qty_$i"}, scalar @serials);
         last;
       }
       foreach my $serial (@serials) {
-        ($wh_id, $bin_id, $chargenumber) = WH->get_wh_and_bin_for_charge(chargenumber => $serial);
-
+        ($qty, $wh_id, $bin_id, $chargenumber) = WH->get_wh_and_bin_for_charge(chargenumber => $serial);
+        if (!$qty) {
+          push @errors, $::locale->text("Not enough in stock for the serial number #1", $serial);
+          last;
+        }
         push @transfers, {
             'parts_id'         => $form->{"id_$i"},
             'qty'              => 1,