From: G. Richardson Date: Mon, 23 Jan 2012 13:12:14 +0000 (+0100) Subject: Falsches Buchungsdatum bei stornierten Dialogbuchungen X-Git-Tag: release-2.7.0beta1~17^2~2 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=5310fca1a500d5a9692359258fae7345dbfcc268;p=kivitendo-erp.git Falsches Buchungsdatum bei stornierten Dialogbuchungen 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; --- 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;