From: Jan Büren Date: Mon, 30 Nov 2015 13:15:04 +0000 (+0100) Subject: Setzt dois_id für inventory beim Standard-Auslagern X-Git-Tag: release-3.4.1~565 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=ae71699d053c724351aea9bb5ad2039079da6624;p=kivitendo-erp.git Setzt dois_id für inventory beim Standard-Auslagern behebt Fehler #109 --- diff --git a/bin/mozilla/do.pl b/bin/mozilla/do.pl index ac71eca9a..55c37adef 100644 --- a/bin/mozilla/do.pl +++ b/bin/mozilla/do.pl @@ -1720,6 +1720,9 @@ sub transfer_in_out_default { # dieser array_ref ist für DO->save da: # einmal die all_requests in YAML verwandeln, damit delivery_order_items_stock # gefüllt werden kann. + # could be dumped to the form in the first loop, + # but maybe bin_id and warehouse_id has changed to the "korrekturlager" with + # allowed negative qty ($::instance_conf->get_warehouse_id_ignore_onhand) ... my $i = 0; foreach (@all_requests){ $i++; @@ -1729,6 +1732,15 @@ sub transfer_in_out_default { save(no_redirect => 1); # Wir können auslagern, deshalb beleg speichern # und in delivery_order_items_stock speichern + + # ... and fill back the persistent dois_id for inventory fk + undef (@all_requests); + foreach my $i (1 .. $form->{rowcount}) { + next unless ($form->{"id_$i"} && $form->{"stock_${prefix}_$i"}); + foreach my $request (@{ DO->unpack_stock_information('packed' => $form->{"stock_${prefix}_$i"}) }) { + push @all_requests, $request; + } + } DO->transfer_in_out('direction' => $prefix, 'requests' => \@all_requests);