From 3160b0888c50c43e594c2e7be995df826861056b Mon Sep 17 00:00:00 2001 From: "Martin Helmling martin.helmling@octosoft.eu" Date: Thu, 21 Jul 2016 08:53:20 +0200 Subject: [PATCH] Funktion "Erzeugnis fertigen" sucht Bestandteile im falschen Lager.(4) MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Falls das Bestandteil bei gesetztem "transfer_default_warehouse_for_assembly" kein Standardlager besitzt und es kein "Standard-Lager für Auslagern ohne Prüfung auf Bestand" in der Mandantenkonfig gesetzt ist, wird eine Fehlermeldung erzeugt. Dies ist nun die vollständige Implementierung dieser Sache von OD. --- SL/WH.pm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/SL/WH.pm b/SL/WH.pm index 2faa1b747..cd748d413 100644 --- a/SL/WH.pm +++ b/SL/WH.pm @@ -210,6 +210,20 @@ sub transfer_assembly { my $partsQTY = $hash_ref->{qty} * $params{qty}; # benötigte teile * anzahl erzeugnisse my $currentPart_ID = $hash_ref->{parts_id}; + + # 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) { + $hash_ref->{warehouse_id} = $::instance_conf->get_warehouse_id_ignore_onhand; + } else { + $kannNichtFertigen .= "Kein Standardlager: " . + " Die Ware " . $self->get_part_description(parts_id => $currentPart_ID) . + " hat kein Standardlager definiert " . + ", um das Erzeugnis herzustellen.
"; + next; + } + } my $currentPart_WH_ID = $use_default_warehouse ? $hash_ref->{warehouse_id} : $params{dst_warehouse_id}; my $warehouse_info = $self->get_basic_warehouse_info('id'=> $currentPart_WH_ID); my $warehouse_desc = $warehouse_info->{"warehouse_description"}; -- 2.20.1