From: Jan Büren Date: Mon, 26 Apr 2010 09:01:56 +0000 (+0200) Subject: Fehlerbehebung für Bug 1409 - Bei 'Erzeugnis fertigen' wird nur der Bestand der... X-Git-Tag: release-2.6.2beta1~342^2~8 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=4236c15112d260d2be1695ce00d125597eed13f1;p=kivitendo-erp.git Fehlerbehebung für Bug 1409 - Bei 'Erzeugnis fertigen' wird nur der Bestand der letzten Komponente geprüft. Fehlerhafte Überprüfung, ob überhaupt Waren/Dienstleistungen definiert worden sind. Entsprechend geändert --- diff --git a/SL/WH.pm b/SL/WH.pm index 44feb83a2..b164a3064 100644 --- a/SL/WH.pm +++ b/SL/WH.pm @@ -170,11 +170,11 @@ sub transfer_assembly { my $sthTransferPartSQL = prepare_query($form, $dbh, $transferPartSQL); # der return-string für die fehlermeldung inkl. welche waren zum fertigen noch fehlen - my $kannNichtFertigen ="Für dieses Erzeugnis sind keine Einzelteile definiert. - Dementsprechend kann auch nichts hergestellt werden"; + my $kannNichtFertigen =""; # Falls leer dann erfolgreich + my $schleife_durchlaufen=0; # Falls die Schleife nicht ausgeführt wird -> Keine Einzelteile definiert. Bessere Idee? jan while (my $hash_ref = $sth_part_qty_assembly->fetchrow_hashref()) { #Schleife für select parts_id,(...) from assembly - $kannNichtFertigen =""; # Wieder auf erfolgreich setzen LEER == keine Fehlermeldung + $schleife_durchlaufen=1; # Erzeugnis definiert my $partsQTY = $hash_ref->{qty} * $params{qty}; # benötigte teile * anzahl erzeugnisse my $currentPart_ID = $hash_ref->{parts_id}; @@ -236,6 +236,14 @@ sub transfer_assembly { } } # ende while SELECT SUM(qty), bin_id, chargenumber, bestbefore FROM inventory WHERE warehouse_id } #ende while select parts_id,qty from assembly where id = ? + + if ($schleife_durchlaufen==0){ # falls die schleife nicht durchlaufen wurde, wurden auch + # keine einzelteile definiert + $kannNichtFertigen ="Für dieses Erzeugnis sind keine Einzelteile definiert. + Dementsprechend kann auch nichts hergestellt werden"; + } + # gibt die Fehlermeldung zurück. A.) Keine Teile definiert + # B.) Artikel und Anzahl der fehlenden Teile/Dienstleistungen if ($kannNichtFertigen) { return $kannNichtFertigen; }