Jeden DATEV-Export in ein eigenes, eindeutig benanntes Verzeichnis schreiben, damit...
[kivitendo-erp.git] / bin / mozilla / rp.pl
index 2b92785..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";
@@ -1090,118 +1091,36 @@ sub generate_balance_sheet {
 
   $auth->assert('report');
 
-  RP->balance_sheet(\%myconfig, \%$form);
+  $form->{decimalplaces} = $form->{decimalplaces} * 1 || 2;
+  $form->{padding} = "  ";
+  $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'), }
-  );
+  $form->{last_period} = $locale->date(\%myconfig, $form->{compareasofdate}, 0);
 
-  my %column_alignment = map { $_ => 'right' } qw(soll_eb haben_eb soll haben soll_kumuliert haben_kumuliert soll_saldo haben_saldo);
+  $form->{IN} = "balance_sheet.html";
 
-  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;
+  # setup company variables for the form
+  map { $form->{$_} = $myconfig{$_}; } (qw(company address businessnumber nativecurr));
 
+  $form->{templates} = $myconfig{templates};
 
-  $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);
-
-  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'));
-
-  $report->generate_with_headers();
-
+  $form->header();
+  print $form->parse_html_template('rp/balance_sheet', $data);
+#  $form->parse_template();
 
   $lxdebug->leave_sub();
 }