Auftrags-Controller: auch bei geladenen Positionen die ID übergeben.
[kivitendo-erp.git] / SL / WH.pm
index 22f4a41..8ff63f2 100644 (file)
--- a/SL/WH.pm
+++ b/SL/WH.pm
@@ -137,9 +137,7 @@ sub transfer {
         )->save;
         # Standardlagerplatz in Stammdaten gleich mitverschieben
         if (defined($transfer->{change_default_bin})){
-          my $part = SL::DB::Part->new(id        => conv_i($transfer->{parts_id}))->load;
-          $part->update_attributes(warehouse_id  => conv_i($transfer->{dst_warehouse_id}));
-          $part->update_attributes(bin_id        => conv_i($transfer->{dst_bin_id}));
+          $part->update_attributes(warehouse_id  => $dst_wh->id, bin_id => $dst_bin->id);
         }
       }
 
@@ -978,7 +976,7 @@ $main::lxdebug->enter_sub();
   while (my $ref = $sth_QTY->fetchrow_hashref()) {  # wir laufen über alle Haltbarkeiten und Chargen(s.a. SQL-Query oben)
     $max_qty_parts += $ref->{sum};
     $i++;
-    if ($ref->{chargenumber} || $ref->{bestbefore}){
+    if (($ref->{chargenumber} || $ref->{bestbefore}) && $ref->{sum} != 0){
       $error=1;
     }
   }