X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDO.pm;h=8f04ce7c53203495ef3306a886c5552d6ed24fff;hb=37d14c11afd10049be58467770499b25268c1364;hp=3b0b41be24a44750b87a3129cc3b6a0e18040b4f;hpb=927ec7273b39dffbd1cb91062fed46c60d9be47f;p=kivitendo-erp.git diff --git a/SL/DO.pm b/SL/DO.pm index 3b0b41be2..8f04ce7c5 100644 --- 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(); }