]> wagnertech.de Git - mfinanz.git/blobdiff - SL/USTVA.pm
Solved Bug 365: Falsche UStVA bei negativem Vorsteuer-Betrag (Teil 2)
[mfinanz.git] / SL / USTVA.pm
index 84dc4f3122f246bb9687f730df6a1533e71e2e0f..3cb7ff816c0d3b5f245c0cb20d940f92f235ca71 100644 (file)
@@ -724,14 +724,17 @@ sub get_accounts_ustva {
 
         UNION
 
-                SELECT sum(ac.amount) AS amount,
+                SELECT sum(
+                  CASE WHEN c.link LIKE '%AR%' THEN ac.amount * -1
+                       WHEN c.link LIKE '%AP%' THEN ac.amount * 1
+                   END
+                ) AS amount,
                 c.$category
                 FROM acc_trans ac
                 JOIN chart c ON (c.id = ac.chart_id)
                 JOIN gl a ON (a.id = ac.trans_id)
                 $dpt_join
                 WHERE $where
-                $glwhere
                 $dpt_from
                 AND NOT (c.link = 'AR' OR c.link = 'AP')
                 $project
@@ -861,14 +864,18 @@ sub get_accounts_ustva {
   my $accno;
   my $ref;
 
-  #print $query;
+  # Show all $query in Debuglevel LXDebug::QUERY
+  $callingdetails = (caller (0))[3];
+  $main::lxdebug->message(LXDebug::QUERY, "$callingdetails \$query=\n $query");
+              
   my $sth = $dbh->prepare($query);
   $sth->execute || $form->dberror($query);
 
   while ($ref = $sth->fetchrow_hashref(NAME_lc)) {
-    if ($ref->{amount} < 0) {
+# Bug 365 solved?!
+#    if ($ref->{amount} < 0) {
       $ref->{amount} *= -1;
-    }
+#    }
     if ($category eq "pos_bwa") {
       if ($last_period) {
         $form->{ $ref->{$category} }{kumm} += $ref->{amount};