From dd27c96958cef43ee999f9fdaa167cc03a6814ed Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20B=C3=BCren?= Date: Wed, 29 Dec 2010 16:51:10 +0100 Subject: [PATCH] =?utf8?q?Bugfix=20zu=201421:=20=20Loeschen=20von=20Storno?= =?utf8?q?s=20bereitet=20eine=20Reihe=20von=20Problemen=20Nach=20dem=20Loe?= =?utf8?q?schen=20der=20Stornorechnung=20verblieb=20aber=20die=20originale?= =?utf8?q?=20Rechnung=20als=20"R(S)"=20und=20galt=20auch=20weiterhin=20als?= =?utf8?q?=20bezahlt=20anscheinend.=20L=C3=B6sung:=20Entsprechend=20die=20?= =?utf8?q?Felder=20wieder=20zur=C3=BCckgesetzt.=20Zu=20=C3=9Cberlegen=20w?= =?utf8?q?=C3=A4re,=20ob=20man=20Stornos=20l=C3=B6schen=20nicht=20ganz=20v?= =?utf8?q?erbieten=20sollte.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- SL/IS.pm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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); -- 2.20.1