From 5310fca1a500d5a9692359258fae7345dbfcc268 Mon Sep 17 00:00:00 2001 From: "G. Richardson" Date: Mon, 23 Jan 2012 14:12:14 +0100 Subject: [PATCH] Falsches Buchungsdatum bei stornierten Dialogbuchungen MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Storniert man eine Dialogbuchung wurde für die Stornobuchung als Buchungsdatum nicht das aktuelle Tagesdatum sondern das Buchungsdatum der zu stornierenden Buchung übernommen. Vor dem Speichern des Stornos wird deswegen jetzt gldate geleert und dann automatisch mit dem korrekten Tagesdatum gefüllt. Kontrolle im Datenbestand wo das vorkommt: select reference,gldate,transdate,storno from gl where date_trunc('day',itime) != gldate; --- SL/GL.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SL/GL.pm b/SL/GL.pm index e1cb7bc5b..f538bc359 100644 --- a/SL/GL.pm +++ b/SL/GL.pm @@ -720,7 +720,7 @@ sub storno { $storno_row->{storno} = 't'; $storno_row->{reference} = 'Storno-' . $storno_row->{reference}; - delete @$storno_row{qw(itime mtime)}; + delete @$storno_row{qw(itime mtime gldate)}; $query = sprintf 'INSERT INTO gl (%s) VALUES (%s)', join(', ', keys %$storno_row), join(', ', map '?', values %$storno_row); do_query($form, $dbh, $query, (values %$storno_row)); @@ -733,7 +733,7 @@ sub storno { my $rowref = selectall_hashref_query($form, $dbh, $query, $id); for my $row (@$rowref) { - delete @$row{qw(itime mtime acc_trans_id)}; + delete @$row{qw(itime mtime acc_trans_id gldate)}; $query = sprintf 'INSERT INTO acc_trans (%s) VALUES (%s)', join(', ', keys %$row), join(', ', map '?', values %$row); $row->{trans_id} = $new_id; $row->{amount} *= -1; -- 2.20.1