SL::ShopConnector::WooCommerce Kategorien per page
[kivitendo-erp.git] / SL / DO.pm
index 3b0b41b..8f04ce7 100644 (file)
--- a/SL/DO.pm
+++ b/SL/DO.pm
@@ -557,10 +557,10 @@ SQL
                             'to_id'      => $form->{id},
     );
   delete $form->{convert_from_oe_ids};
-
-  $self->mark_orders_if_delivered('do_id' => $form->{id},
-                                  'type'  => $form->{type} eq 'sales_delivery_order' ? 'sales' : 'purchase',
-                                  'dbh'   => $dbh,);
+  unless ($::instance_conf->get_shipped_qty_require_stock_out) {
+    $self->mark_orders_if_delivered('do_id' => $form->{id},
+                                    'type'  => $form->{type} eq 'sales_delivery_order' ? 'sales' : 'purchase');
+  }
 
   $form->{saved_donumber} = $form->{donumber};
   $form->{saved_ordnumber} = $form->{ordnumber};
@@ -663,7 +663,7 @@ sub delete_transfers {
     die "No valid delivery order found" unless ref $do eq 'SL::DB::DeliveryOrder';
 
     my $dt = DateTime->today->subtract(days => $::instance_conf->get_undo_transfer_interval);
-    croak "Wrong call. Please check undoing interval" unless DateTime->compare($do->itime, $dt) == 1;
+    croak "Wrong call. Please check undoing interval" unless $do->itime > $dt;
 
     foreach my $doi (@{ $do->orderitems }) {
       foreach my $dois (@{ $doi->delivery_order_stock_entries}) {
@@ -1263,6 +1263,11 @@ sub transfer_in_out {
 
   WH->transfer(@transfers);
 
+  if ($::instance_conf->get_shipped_qty_require_stock_out) {
+    $self->mark_orders_if_delivered('do_id' => $form->{id},
+                                    'type'  => $form->{type} eq 'sales_delivery_order' ? 'sales' : 'purchase');
+  }
+
   $main::lxdebug->leave_sub();
 }