Fix für Bug 1081. Bei Buchung einer Einkaufsrechnung geht das Rabatt verloren. 1...
[kivitendo-erp.git] / bin / mozilla / ca.pl
index 1d43191..0558ae6 100644 (file)
@@ -78,6 +78,10 @@ sub chart_of_accounts {
 
   $form->{title} = $locale->text('Chart of Accounts');
 
+  if ($eur) {
+    $form->{method} = "cash";
+  }
+
   CA->all_accounts(\%myconfig, \%$form);
 
   my @columns     = qw(accno description debit credit);
@@ -107,6 +111,7 @@ sub chart_of_accounts {
   my %totals = ('debit' => 0, 'credit' => 0);
 
   foreach my $ca (@{ $form->{CA} }) {
+    next unless defined $ca->{amount};
     my $row = { };
 
     foreach (qw(debit credit)) {
@@ -163,7 +168,7 @@ sub list {
 | if $form->{selectdepartment};
   $accrual = ($eur) ? ""        : "checked";
   $cash    = ($eur) ? "checked" : "";
+
   $name_1    = "fromdate";
   $id_1      = "fromdate";
   $value_1   = "$form->{fromdate}";
@@ -352,7 +357,7 @@ $checked></td>
          <tr>
             <td><input name="subtotal" class=checkbox type=checkbox value=1> | . $locale->text('Subtotal') . qq|</td>
          </tr>
-                                    
+
 $jsscript
   <tr><td colspan=5 ><hr size=3 noshade></td></tr>
 </table>
@@ -492,9 +497,11 @@ sub list_transactions {
 
   CA->all_transactions(\%myconfig, \%$form);
 
-
+  $form->{saldo_old} += $form->{beginning_balance};
+  $form->{saldo_new} += $form->{beginning_balance};
   my $saldo_old = format_debit_credit($form->{saldo_old});
   my $eb_string = format_debit_credit($form->{beginning_balance});
+  $form->{balance} = $form->{saldo_old};
 
   my @options;
   if ($form->{department}) {
@@ -524,7 +531,13 @@ sub list_transactions {
 
   push @options, $period;
 
-  my @columns     = qw(transdate reference description gegenkonto debit credit ustkonto ustrate);
+  $form->{print_date} = $locale->text('Create Date') . " " . $locale->date(\%myconfig, $form->current_date(\%myconfig), 0);
+  push (@options, $form->{print_date});
+
+  $form->{company} = $locale->text('Company') . " " . $myconfig{company};
+  push (@options, $form->{company});
+
+  my @columns     = qw(transdate reference description gegenkonto debit credit ustkonto ustrate balance);
   my %column_defs = (
     'transdate'   => { 'text' => $locale->text('Date'), },
     'reference'   => { 'text' => $locale->text('Reference'), },
@@ -533,7 +546,8 @@ sub list_transactions {
     'credit'      => { 'text' => $locale->text('Credit'), },
     'gegenkonto'     => { 'text' => $locale->text('Gegenkonto'), },
     'ustkonto'     => { 'text' => $locale->text('USt-Konto'), },
-     'ustrate'     => { 'text' => $locale->text('Satz %'), },
+    'balance'          => { 'text' => $locale->text('Balance'), },
+    'ustrate'     => { 'text' => $locale->text('Satz %'), },
  );
 
   my @hidden_variables = qw(accno fromdate todate description accounttype l_heading subtotal department projectnumber project_id sort);
@@ -571,6 +585,7 @@ sub list_transactions {
    { 'text' => $locale->text('Credit'), },
    { 'text' => $locale->text('USt-Konto'), },
    { 'text' => $locale->text('Satz %'), },
+   { 'text' => $locale->text('Balance'), },
  ];
 
 
@@ -595,7 +610,7 @@ sub list_transactions {
 
   $report->set_sort_indicator($form->{sort}, 1);
 
-  $column_defs->{balance}->{visible} = $form->{accno} ? 1 : 0;
+  $column_defs->{balance}->{visible} = 1;
 
   my $ml = ($form->{category} =~ /(A|E)/) ? -1 : 1;
 
@@ -610,6 +625,12 @@ sub list_transactions {
     foreach (qw(debit credit)) {
       $subtotals{$_} += $ca->{$_};
       $totals{$_}    += $ca->{$_};
+      if ($_ =~ /debit.*/) {
+        $ml = -1;
+      } else {
+        $ml = 1;
+      }
+      $form->{balance}= $form->{balance} + $ca->{$_} * $ml;
       $ca->{$_}       = $form->format_amount(\%myconfig, $ca->{$_}, 2) if ($ca->{$_} != 0);
     }
 
@@ -628,7 +649,7 @@ sub list_transactions {
       $ca->{description} .= " \n " . $ca->{memo};
     }
 
-    
+
 
     foreach my $gegenkonto (@{ $ca->{GEGENKONTO} }) {
       if ($ca->{gegenkonto} eq "") {
@@ -645,6 +666,8 @@ sub list_transactions {
       };
     }
 
+    $row->{balance}->{data}        = $form->format_amount(\%myconfig, $form->{balance}, 2, 'DRCR');
+
     if ($ca->{index} ne $previous_index) {
 #       $report->add_data($row_set) if ($row_set);
 
@@ -675,7 +698,10 @@ sub list_transactions {
   $report->add_separator();
 
   my $row = create_subtotal_row(\%totals, \@columns, \%column_alignment, 'listtotal');
-  $row->{balance}->{data} = $form->format_amount(\%myconfig, $form->{balance} * $ml, 2);
+
+
+  $row->{balance}->{data}        = $form->format_amount(\%myconfig, $form->{balance}, 2, 'DRCR');
+
   $report->add_data($row);