require SL::DB::Employee;
   require SL::DB::Inventory;
 
-  my $employee   = SL::DB::Manager::Employee->find_by(login => $::form->{login});
+  my $employee   = SL::DB::Manager::Employee->find_by(login => $::myconfig{login});
   my ($now)      = selectrow_query($::form, $::form->get_standard_dbh, qq|SELECT current_date|);
   my @directions = (undef, qw(out in 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);
         }
       }
 
   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}){
-      $error=1;
+    if (($ref->{chargenumber} || $ref->{bestbefore}) && $ref->{sum} != 0){
+      $error = 1;
     }
   }
-  #if ($i < 1){
-  #  $error = 2;
-  #}
-
   $main::lxdebug->leave_sub();
 
   return ($max_qty_parts, $error);
 
 =head1 DESCRIPTION
 
-Backend for lx-office warehousing functions.
+Backend for kivitendo warehousing functions.
 
 =head1 FUNCTIONS
 
     qty              => 12.45,
     transfer_type    => 'transfer',
     src_warehouse_id => 12,
-    stc_bin_id       => 23,
+    src_bin_id       => 23,
     dst_warehouse_id => 25,
     dst_bin_id       => 167,
   });