From: Jan Büren Date: Wed, 29 Dec 2010 15:51:10 +0000 (+0100) Subject: Bugfix zu 1421: Loeschen von Stornos bereitet eine Reihe von Problemen X-Git-Tag: release-2.6.2beta1~42^2 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=dd27c96958cef43ee999f9fdaa167cc03a6814ed;p=kivitendo-erp.git Bugfix zu 1421: Loeschen von Stornos bereitet eine Reihe von Problemen Nach dem Loeschen der Stornorechnung verblieb aber die originale Rechnung als "R(S)" und galt auch weiterhin als bezahlt anscheinend. Lösung: Entsprechend die Felder wieder zurückgesetzt. Zu Überlegen wäre, ob man Stornos löschen nicht ganz verbieten sollte. --- diff --git a/SL/IS.pm b/SL/IS.pm index 3896277c9..3b031bd96 100644 --- a/SL/IS.pm +++ b/SL/IS.pm @@ -1377,6 +1377,20 @@ sub delete_invoice { my @values = (conv_i($form->{id})); + # Falls wir ein Storno haben, müssen zwei Felder in der stornierten Rechnung wieder + # zurückgesetzt werden. Vgl: + # id | storno | storno_id | paid | amount + #----+--------+-----------+---------+----------- + # 18 | f | | 0.00000 | 119.00000 + # ZU: + # 18 | t | | 119.00000 | 119.00000 + # + if($form->{storno}){ + # storno_id auslesen und korrigieren + my ($invoice_id) = selectfirst_array_query($form, $dbh, qq|SELECT storno_id FROM ar WHERE id = ?|,@values); + do_query($form, $dbh, qq|UPDATE ar SET storno = 'f', paid = 0 WHERE id = ?|, $invoice_id); + } + # delete AR record do_query($form, $dbh, qq|DELETE FROM ar WHERE id = ?|, @values);