Merge von 699 aus unstable: Bugfix 222, 210, 212
[kivitendo-erp.git] / bin / mozilla / gl.pl
index f7c3ee5..ea47e2a 100644 (file)
@@ -305,12 +305,8 @@ sub search {
     . $locale->text('All') . qq|
                  <input name="category" class=radio type=radio value=A>&nbsp;|
     . $locale->text('Asset') . qq|
-                 <input name="category" class=radio type=radio value=C>&nbsp;|
-    . $locale->text('Contra') . qq|
                  <input name="category" class=radio type=radio value=L>&nbsp;|
     . $locale->text('Liability') . qq|
-                 <input name="category" class=radio type=radio value=Q>&nbsp;|
-    . $locale->text('Equity') . qq|
                  <input name="category" class=radio type=radio value=I>&nbsp;|
     . $locale->text('Revenue') . qq|
                  <input name="category" class=radio type=radio value=E>&nbsp;|
@@ -399,7 +395,7 @@ sub generate_report {
 
   $form->{title} = $locale->text('General Ledger');
 
-  $ml = ($form->{ml} =~ /(A|E)/) ? -1 : 1;
+  $ml = ($form->{ml} =~ /(A|E|Q)/) ? -1 : 1;
 
   unless ($form->{category} eq 'X') {
     $form->{title} .= " : " . $locale->text($acctype{ $form->{category} });
@@ -624,18 +620,18 @@ sub generate_report {
         </tr>
 |;
   }
-
+   $form->{balance} *= $ml;
   foreach $ref (@{ $form->{GL} }) {
-
+    $form->{balance} *= $ml;
     # if item ne sort print subtotal
     if ($form->{l_subtotal} eq 'Y') {
       if ($sameitem ne $ref->{ $form->{sort} }) {
         &gl_subtotal;
       }
     }
-    foreach $key (sort keys(%{ $ref->{amount} })) {
-      $form->{balance} += $ref->{amount}{$key};
-    }
+    #foreach $key (sort keys(%{ $ref->{amount} })) {
+    #  $form->{balance} += $ref->{amount}{$key};
+    #}
 
     $debit = "";
     foreach $key (sort keys(%{ $ref->{debit} })) {
@@ -647,6 +643,7 @@ sub generate_report {
         $debit .=
           "<br>" . $form->format_amount(\%myconfig, $ref->{debit}{$key}, 2, 0);
       }
+      $form->{balance} = abs($form->{balance}) - abs($ref->{debit}{$key});
     }
 
     $credit = "";
@@ -659,6 +656,7 @@ sub generate_report {
         $credit .= "<br>"
           . $form->format_amount(\%myconfig, $ref->{credit}{$key}, 2, 0);
       }
+      $form->{balance} = abs($form->{balance}) - abs( $ref->{credit}{$key});
     }
 
     $debittax = "";
@@ -672,6 +670,7 @@ sub generate_report {
         $debittax .= "<br>"
           . $form->format_amount(\%myconfig, $ref->{debit_tax}{$key}, 2, 0);
       }
+      $form->{balance} = abs($form->{balance}) - abs($ref->{debit_tax}{$key});
     }
 
     $credittax = "";
@@ -685,6 +684,7 @@ sub generate_report {
         $credittax .= "<br>"
           . $form->format_amount(\%myconfig, $ref->{credit_tax}{$key}, 2, 0);
       }
+      $form->{balance} = abs($form->{balance}) - abs($ref->{credit_tax}{$key});
     }
 
     $debitaccno  = "";
@@ -693,10 +693,10 @@ sub generate_report {
     foreach $key (sort keys(%{ $ref->{debit_accno} })) {
       if ($key == 0) {
         $debitaccno =
-          "<a href=$href&accno=$ref->{accno}&callback=$callback>$ref->{debit_accno}{$key}</a>";
+          "<a href=$href&accno=$ref->{debit_accno}{$key}&callback=$callback>$ref->{debit_accno}{$key}</a>";
       } else {
         $debitaccno .=
-          "<br><a href=$href&accno=$ref->{accno}&callback=$callback>$ref->{debit_accno}{$key}</a>";
+          "<br><a href=$href&accno=$ref->{debit_accno}{$key}&callback=$callback>$ref->{debit_accno}{$key}</a>";
       }
       if ($ref->{debit_taxkey}{$key} eq $debittaxkey) {
         $ref->{debit_tax_accno}{$key} = $taxaccno;
@@ -711,10 +711,10 @@ sub generate_report {
     foreach $key (sort keys(%{ $ref->{credit_accno} })) {
       if ($key == 0) {
         $creditaccno =
-          "<a href=$href&accno=$ref->{accno}&callback=$callback>$ref->{credit_accno}{$key}</a>";
+          "<a href=$href&accno=$ref->{credit_accno}{$key}&callback=$callback>$ref->{credit_accno}{$key}</a>";
       } else {
         $creditaccno .=
-          "<br><a href=$href&accno=$ref->{accno}&callback=$callback>$ref->{credit_accno}{$key}</a>";
+          "<br><a href=$href&accno=$ref->{credit_accno}{$key}&callback=$callback>$ref->{credit_accno}{$key}</a>";
       }
       if ($ref->{credit_taxkey}{$key} eq $credittaxkey) {
         $ref->{credit_tax_accno}{$key} = $taxaccno;
@@ -727,10 +727,10 @@ sub generate_report {
     foreach $key (sort keys(%{ $ref->{debit_tax_accno} })) {
       if ($key == 0) {
         $debittaxaccno =
-          "<a href=$href&accno=$ref->{accno}&callback=$callback>$ref->{debit_tax_accno}{$key}</a>";
+          "<a href=$href&accno=$ref->{debit_tax_accno}{$key}&callback=$callback>$ref->{debit_tax_accno}{$key}</a>";
       } else {
         $debittaxaccno .=
-          "<br><a href=$href&accno=$ref->{accno}&callback=$callback>$ref->{debit_tax_accno}{$key}</a>";
+          "<br><a href=$href&accno=$ref->{debit_tax_accno}{$key}&callback=$callback>$ref->{debit_tax_accno}{$key}</a>";
       }
     }
 
@@ -738,10 +738,10 @@ sub generate_report {
     foreach $key (sort keys(%{ $ref->{credit_tax_accno} })) {
       if ($key == 0) {
         $credittaxaccno =
-          "<a href=$href&accno=$ref->{accno}&callback=$callback>$ref->{credit_tax_accno}{$key}</a>";
+          "<a href=$href&accno=$ref->{credit_tax_accno}{$key}&callback=$callback>$ref->{credit_tax_accno}{$key}</a>";
       } else {
         $credittaxaccno .=
-          "<br><a href=$href&accno=$ref->{accno}&callback=$callback>$ref->{credit_tax_accno}{$key}</a>";
+          "<br><a href=$href&accno=$ref->{credit_tax_accno}{$key}&callback=$callback>$ref->{credit_tax_accno}{$key}</a>";
       }
     }
 
@@ -777,7 +777,7 @@ sub generate_report {
       "<td><a href=$href&gifi_accno=$ref->{gifi_accno}&callback=$callback>$ref->{gifi_accno}</a>&nbsp;</td>";
     $column_data{balance} =
         "<td align=right>"
-      . $form->format_amount(\%myconfig, $form->{balance} * $ml, 2, 0)
+      . $form->format_amount(\%myconfig, $form->{balance}, 2, 0)
       . "</td>";
 
     $i++;