]> wagnertech.de Git - mfinanz.git/blobdiff - SL/WH.pm
Auslagern in VK-Rechnung: Beim Buchen einer VK-Rechnung wird ausgelagert.
[mfinanz.git] / SL / WH.pm
index 7e4d5194bb6e1d376705211203e545cdd0623417..a8c1ae3bf91e385536d1e7b107bbdbdd2550bdc9 100644 (file)
--- a/SL/WH.pm
+++ b/SL/WH.pm
@@ -79,7 +79,7 @@ sub transfer {
   my @trans_ids;
 
   my $db = SL::DB::Inventory->new->db;
-  $db->do_transaction(sub{
+  $db->with_transaction(sub{
     while (my $transfer = shift @args) {
       my ($trans_id) = selectrow_query($::form, $::form->get_standard_dbh, qq|SELECT nextval('id')|);
 
@@ -110,7 +110,7 @@ sub transfer {
           trans_id         => $trans_id,
           shippingdate     => !$transfer->{shippingdate} || $transfer->{shippingdate} eq 'current_date'
                               ? $now : $transfer->{shippingdate},
-          map { $_ => $transfer->{$_} } qw( chargenumber bestbefore oe_id orderitems_id comment),
+          map { $_ => $transfer->{$_} } qw(chargenumber bestbefore oe_id delivery_order_items_stock_id invoice_id comment),
       );
 
       if ($unit) {
@@ -141,10 +141,12 @@ sub transfer {
           $part->update_attributes(warehouse_id  => conv_i($transfer->{dst_warehouse_id}));
           $part->update_attributes(bin_id        => conv_i($transfer->{dst_bin_id}));
         }
-     }
+      }
 
       push @trans_ids, $trans_id;
     }
+
+    1;
   }) or do {
     $::form->error("Warehouse transfer error: " . join("\n", (split(/\n/, $db->error))[0..2]));
   };
@@ -162,7 +164,7 @@ sub transfer_assembly {
   Common::check_params(\%params, qw(assembly_id dst_warehouse_id login qty unit dst_bin_id chargenumber bestbefore comment));
 
 
-  my $unit = SL::DB::Manager::Unit->find_by(name => $params{unit});        
+  my $unit = SL::DB::Manager::Unit->find_by(name => $params{unit});
   if ($unit) {
     my $assembly = SL::DB::Manager::Assembly->get_all(
       query => [ id => $params{assembly_id} ],