X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/8814ec731f7dd33ec3b6d5c3fe9017331b587d1b..762f348476e09df5619fa11d7ec070209cb843f4:/SL/WH.pm diff --git a/SL/WH.pm b/SL/WH.pm index 2faa1b747..f363ae50e 100644 --- a/SL/WH.pm +++ b/SL/WH.pm @@ -210,10 +210,39 @@ sub transfer_assembly { my $partsQTY = $hash_ref->{qty} * $params{qty}; # benötigte teile * anzahl erzeugnisse my $currentPart_ID = $hash_ref->{parts_id}; - my $currentPart_WH_ID = $use_default_warehouse ? $hash_ref->{warehouse_id} : $params{dst_warehouse_id}; + + my $currentPart_WH_ID = $use_default_warehouse && $hash_ref->{warehouse_id} ? $hash_ref->{warehouse_id} : $params{dst_warehouse_id}; + my $no_check = 0; + + # Prüfen ob Erzeugnis-Teile Standardlager haben. + if ($use_default_warehouse && ! $hash_ref->{warehouse_id}) { + # Prüfen ob in Mandantenkonfiguration ein Standardlager aktiviert isti. + if ($::instance_conf->get_transfer_default_ignore_onhand) { + $currentPart_WH_ID = $::instance_conf->get_warehouse_id_ignore_onhand; + $no_check = 1; + } else { + $kannNichtFertigen .= "Kein Standardlager: " . + " Die Ware " . $self->get_part_description(parts_id => $currentPart_ID) . + " hat kein Standardlager definiert " . + ", um das Erzeugnis herzustellen.
"; + next; + } + } my $warehouse_info = $self->get_basic_warehouse_info('id'=> $currentPart_WH_ID); my $warehouse_desc = $warehouse_info->{"warehouse_description"}; + # Fertigen ohne Prüfung nach Bestand + if ($no_check) { + my $temppart_bin_id = $::instance_conf->get_bin_id_ignore_onhand; + my $temppart_chargenumber = ""; + my $temppart_bestbefore = localtime(); + my $temppart_qty = $partsQTY * -1; + + do_statement($form, $sthTransferPartSQL, $transferPartSQL, $currentPart_ID, $currentPart_WH_ID, + $temppart_bin_id, $temppart_chargenumber, $temppart_bestbefore, 'Verbraucht für ' . + $self->get_part_description(parts_id => $params{assembly_id}), $params{login}, $temppart_qty); + next; + } # Überprüfen, ob diese Anzahl gefertigt werden kann my $max_parts = $self->get_max_qty_parts(parts_id => $currentPart_ID, # $self->method() == this.method() warehouse_id => $currentPart_WH_ID);