Jeden DATEV-Export in ein eigenes, eindeutig benanntes Verzeichnis schreiben, damit...
[kivitendo-erp.git] / bin / mozilla / rp.pl
index 4734d20..7075c4d 100644 (file)
@@ -41,6 +41,7 @@ use SL::PE;
 use SL::RP;
 use SL::Iconv;
 use SL::ReportGenerator;
+use Data::Dumper;
 
 require "bin/mozilla/arap.pl";
 require "bin/mozilla/common.pl";
@@ -464,7 +465,7 @@ $checked></td>
          <th align=right colspan=4>| . $locale->text('Decimalplaces') . qq|</th>
              <td><input name=decimalplaces size=3 value="2"></td>
          </tr>
-                                    
+
 $jsscript
 |;
   }
@@ -601,7 +602,7 @@ $jsscript
          <th align=right colspan=4>| . $locale->text('Decimalplaces') . qq|</th>
              <td><input name=decimalplaces size=3 value="2"></td>
          </tr>
-                                    
+
 $jsscript
 |;
   }
@@ -1090,118 +1091,36 @@ sub generate_balance_sheet {
 
   $auth->assert('report');
 
-  RP->balance_sheet(\%myconfig, \%$form);
+  $form->{decimalplaces} = $form->{decimalplaces} * 1 || 2;
+  $form->{padding} = "&nbsp;&nbsp;";
+  $form->{bold}    = "<b>";
+  $form->{endbold} = "</b>";
+  $form->{br}      = "<br>";
+
+  my $data = RP->balance_sheet(\%myconfig, \%$form);
 
   $form->{asofdate} = $form->current_date(\%myconfig) unless $form->{asofdate};
-  $form->{period} =
-    $locale->date(\%myconfig, $form->current_date(\%myconfig), 1);
+  $form->{period} = $locale->date(\%myconfig, $form->current_date(\%myconfig), 1);
 
   ($form->{department}) = split /--/, $form->{department};
 
   # define Current Earnings account
   $padding = ($form->{l_heading}) ? $form->{padding} : "";
-  push(@{ $form->{equity_account} },
-       $padding . $locale->text('Current Earnings'));
+  push(@{ $form->{equity_account} }, $padding . $locale->text('Current Earnings'));
 
   $form->{this_period} = $locale->date(\%myconfig, $form->{asofdate}, 0);
-  $form->{last_period} =
-    $locale->date(\%myconfig, $form->{compareasofdate}, 0);
-
-  my $attachment_basename;
-
-  my $report = SL::ReportGenerator->new(\%myconfig, $form);
-
-  my @hidden_variables = ();
-  push @hidden_variables, qw(fromdate todate year cash );
-
-  my $href = build_std_url('action=orders', grep { $form->{$_} } @hidden_variables);
-
-  my %column_defs = (
-    'accno'                   => { 'text' => $locale->text('Account Number'), },
-    'description'             => { 'text' => $locale->text('Description'), },
-    'last_transaction'        => { 'text' => $locale->text('Last Transaction'), },
-    'soll_eb'                 => { 'text' => $locale->text('Debit Starting Balance'), },
-    'haben_eb'                => { 'text' => $locale->text('Credit Starting Balance'), },
-    'soll'                    => { 'text' => $locale->text('Debit'), },
-    'haben'                   => { 'text' => $locale->text('Credit'), },
-    'soll_kumuliert'          => { 'text' => $locale->text('Sum Debit'), },
-    'haben_kumuliert'         => { 'text' => $locale->text('Sum Credit'), },
-    'soll_saldo'              => { 'text' => $locale->text('Saldo Debit'), },
-    'haben_saldo'             => { 'text' => $locale->text('Saldo Credit'), }
-  );
-
-  my %column_alignment = map { $_ => 'right' } qw(soll_eb haben_eb soll haben soll_kumuliert haben_kumuliert soll_saldo haben_saldo);
+  $form->{last_period} = $locale->date(\%myconfig, $form->{compareasofdate}, 0);
 
-  map { $column_defs{$_}->{visible} =  1 } @columns;
-
-  $report->set_columns(%column_defs);
-  $report->set_column_order(@columns);
-
-  $report->set_export_options('trial_balance', @hidden_variables);
-
-  $report->set_sort_indicator($form->{sort}, 1);
-
-  my @options;
-
-
-  $form->{template_fromto} = $locale->date(\%myconfig, $form->{fromdate}, 0) . "&nbsp; - &nbsp;" . $locale->date(\%myconfig, $form->{todate}, 0);
-  $form->{template_to} = $locale->date(\%myconfig, $form->{todate}, 0);
-
-  $report->set_options('output_format'        => 'HTML',
-                       'title'                => $form->{title},
-                       'attachment_basename'  => $attachment_basename . strftime('_%Y%m%d', localtime time),
-    );
-  $report->set_options_from_form();
-  # $form->parse_html_template('report_generator/html_report_bilanz', $variables));
-  $form->{report_template} = 'report_generator/html_report_bilanz';
-  # add sort and escape callback, this one we use for the add sub
-  $form->{callback} = $href .= "&sort=$form->{sort}";
-
-  # escape callback for href
-  $callback = $form->escape($href);
+  $form->{IN} = "balance_sheet.html";
 
-  my @subtotal_columns = qw(soll_eb haben_eb soll haben soll_kumuliert haben_kumuliert soll_saldo haben_saldo);
-
-  my %totals    = map { $_ => 0 } @subtotal_columns;
-
-  my $edit_url = build_std_url('action=edit', 'type', 'vc');
-
-#   foreach $accno (@{ $form->{TB} }) {
-# 
-#     $accno->{soll} = $accno->{debit};
-#     $accno->{haben} = $accno->{credit};
-#     map { $totals{$_}    += $accno->{$_} } @subtotal_columns;
-# 
-#     map { $accno->{$_} = $form->format_amount(\%myconfig, $accno->{$_}, 2) } qw(soll_eb haben_eb soll haben soll_kumuliert haben_kumuliert soll_saldo haben_saldo);
-# 
-#     map { $accno->{$_} = ($accno->{$_} == 0) ? '' : $accno->{$_} } qw(soll_eb haben_eb soll haben soll_kumuliert haben_kumuliert soll_saldo haben_saldo);
-# 
-#     my $row = { };
-# 
-#     foreach my $column (@columns) {
-#       $row->{$column} = {
-#         'data'  => $accno->{$column},
-#         'align' => $column_alignment{$column},
-#       };
-#     }
-# 
-# 
-#     $row->{$ordnumber}->{link} = $edit_url . "&id=" . E($oe->{id}) . "&callback=${callback}";
-# 
-#     my $row_set = [ $row ];
-# 
-# 
-#     $report->add_data($row_set);
-# 
-#     $idx++;
-#   }
-# 
-#   $report->add_separator();
-# 
-#   $report->add_data(create_subtotal_row(\%totals, \@columns, \%column_alignment, \@subtotal_columns, 'listtotal'));
+  # setup company variables for the form
+  map { $form->{$_} = $myconfig{$_}; } (qw(company address businessnumber nativecurr));
 
-  $report->generate_with_headers();
+  $form->{templates} = $myconfig{templates};
 
+  $form->header();
+  print $form->parse_html_template('rp/balance_sheet', $data);
+#  $form->parse_template();
 
   $lxdebug->leave_sub();
 }
@@ -1759,8 +1678,8 @@ sub aging {
 
     if ($previous_ctid != $ref->{ctid}) {
       $row->{statement}->{raw_data} =
-          $cgi->hidden('-name' => "customer_id_${row_idx}", '-value' => $ref->{ctid})
-        . $cgi->checkbox('-name' => "statement_${row_idx}", '-value' => 1, '-label' => '', 'checked' => $ref->{checked});
+          $cgi->hidden('-name' => "customer_id_" . ($row_idx + 1), '-value' => $ref->{ctid})
+        . $cgi->checkbox('-name' => "statement_" . ($row_idx + 1), '-value' => 1, '-label' => '', 'checked' => $ref->{checked});
       $row->{ct}->{data} = $ref->{name};
 
       $row_idx++;
@@ -2063,7 +1982,7 @@ sub print_form {
        $form->{what_done} = $form->{type};
        $form->save_history($form->dbconnect(\%myconfig));
   }
-  # /saving the history 
+  # /saving the history
   $lxdebug->leave_sub();
 }
 
@@ -2374,10 +2293,10 @@ sub list_payments {
 
   my @options;
   if ($form->{fromdate}) {
-    push @options, $locale->text('From') . "&nbsp;" . $locale->date(\%myconfig, $form->{fromdate}, 1);
+    push @options, $locale->text('From') . " " . $locale->date(\%myconfig, $form->{fromdate}, 1);
   }
   if ($form->{todate}) {
-    push @options, $locale->text('bis') . "&nbsp;" . $locale->date(\%myconfig, $form->{todate}, 1);
+    push @options, $locale->text('bis') . " " . $locale->date(\%myconfig, $form->{todate}, 1);
   }
 
   my $report = SL::ReportGenerator->new(\%myconfig, $form);