X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FHelper%2FInventory.pm;h=da28bacfa0c6eaa0d810fec305409a1dbc6ab8b8;hb=00a6bdd7580be1c0cd0bc72eafc9af911ae63ff9;hp=e249bf58d0e0b59a6a5839a2afa8ad33a958ea47;hpb=3e1190f98d050e5a1fe189791d7d553f49eae91b;p=kivitendo-erp.git diff --git a/SL/Helper/Inventory.pm b/SL/Helper/Inventory.pm index e249bf58d..da28bacfa 100644 --- a/SL/Helper/Inventory.pm +++ b/SL/Helper/Inventory.pm @@ -214,7 +214,8 @@ sub allocate_for_assembly { my $part = $params{part} or Carp::croak('allocate needs a part'); my $qty = $params{qty} or Carp::croak('allocate needs a qty'); my $wh = $params{warehouse}; - my $wh_strict = $::instance_conf->get_produce_assembly_same_warehouse; + my $wh_strict = $::instance_conf->get_produce_assembly_same_warehouse; + my $consume_service = $::instance_conf->get_produce_assembly_transfer_service; Carp::croak('not an assembly') unless $part->is_assembly; Carp::croak('No warehouse selected') if $wh_strict && !$wh; @@ -222,6 +223,7 @@ sub allocate_for_assembly { my %parts_to_allocate; for my $assembly ($part->assemblies) { + next if $assembly->part->type eq 'service' && !$consume_service; $parts_to_allocate{ $assembly->part->id } //= 0; $parts_to_allocate{ $assembly->part->id } += $assembly->qty * $qty; }