From 6683b7fbb9c7e1ea2e39e1553afd8e415af42cff Mon Sep 17 00:00:00 2001
From: Moritz Bunkus <m.bunkus@linet-services.de>
Date: Mon, 8 Sep 2008 11:01:24 +0000
Subject: [PATCH] =?utf8?q?DATEV-Export=20nicht=20beim=20ersten=20Fehler=20?=
 =?utf8?q?abbrechen,=20sondern=20eine=20Liste=20aller=20Fehler=20f=C3=BCr?=
 =?utf8?q?=20den=20ausgew=C3=A4hlten=20Zeitraum=20ausgeben=20und=20dann=20?=
 =?utf8?q?erst=20abbrechen.=20Das=20Datenbankhandle=20nicht=20schlie=C3=9F?=
 =?utf8?q?en,=20das=20geschieht=20automatisch=20beim=20Programmende.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

---
 SL/DATEV.pm | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/SL/DATEV.pm b/SL/DATEV.pm
index da82d0336..384ee3f98 100644
--- a/SL/DATEV.pm
+++ b/SL/DATEV.pm
@@ -226,6 +226,8 @@ sub _get_transactions {
 
   my $dbh      =  $form->get_standard_dbh($myconfig);
 
+  my @errors   = ();
+
   $fromto      =~ s/transdate/ac\.transdate/g;
 
   my %taxes    =  selectall_as_map($form, $dbh, qq|SELECT id, rate FROM tax|, 'id', 'rate');
@@ -352,11 +354,13 @@ sub _get_transactions {
     }
 
     if (abs($absumsatz) > 0.01) {
-      $form->error("Datev-Export fehlgeschlagen! Bei Transaktion $trans->[0]->{trans_id} $absumsatz\n");
+      push @errors, "Datev-Export fehlgeschlagen! Bei Transaktion $trans->[0]->{trans_id} ($absumsatz)\n";
     }
   }
-  $sth->finish;
-  $dbh->disconnect;
+
+  $sth->finish();
+
+  $form->error(join("<br>\n", @errors)) if (@errors);
 
   $main::lxdebug->leave_sub();
 }
-- 
2.20.1