Kontenübersicht zeigt jetzt nur noch bebuchte Konten an.
[kivitendo-erp.git] / bin / mozilla / rp.pl
index 6c4d6c5..bf1270e 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";
@@ -907,7 +908,7 @@ sub get_project {
     $form->{projectnumber_1} = $form->{projectnumber};
 
     delete $form->{sort};
-    &check_project;
+    check_project('generate_projects');
 
     # if there is one only, assign id
     $form->{project_id} = $form->{project_id_1};
@@ -1090,27 +1091,25 @@ sub generate_balance_sheet {
 
   $auth->assert('report');
 
+  $form->{decimalplaces} = $form->{decimalplaces} * 1 || 2;
   $form->{padding} = "  ";
   $form->{bold}    = "<b>";
   $form->{endbold} = "</b>";
   $form->{br}      = "<br>";
 
-  RP->balance_sheet(\%myconfig, \%$form);
+  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);
+  $form->{last_period} = $locale->date(\%myconfig, $form->{compareasofdate}, 0);
 
   $form->{IN} = "balance_sheet.html";
 
@@ -1119,7 +1118,9 @@ sub generate_balance_sheet {
 
   $form->{templates} = $myconfig{templates};
 
-  $form->parse_template;
+  $form->header();
+  print $form->parse_html_template('rp/balance_sheet', $data);
+#  $form->parse_template();
 
   $lxdebug->leave_sub();
 }
@@ -1255,7 +1256,7 @@ sub generate_trial_balance {
 
 
   # get for each account initial balance, debits and credits
-  RP->trial_balance(\%myconfig, \%$form);
+  RP->trial_balance(\%myconfig, \%$form, 'beginning_balances' => 1);
 
 
   $form->{rowcount} = scalar @{ $form->{TB} };
@@ -1265,33 +1266,31 @@ sub generate_trial_balance {
     "accno",               "description",
     "last_transaction",    "soll_eb",
     "haben_eb",
-    "soll",                 "haben",
-    "soll_kumuliert", "haben_kumuliert",
-    "soll_saldo", "haben_saldo"
+    "soll",                "haben",
+    "soll_kumuliert",      "haben_kumuliert",
+    "soll_saldo",          "haben_saldo"
   );
 
 
-  my $attachment_basename;
-  $attachment_basename = $locale->text('trial_balance');
-  my $report = SL::ReportGenerator->new(\%myconfig, $form);
+  my $attachment_basename = $locale->text('trial_balance');
+  my $report              = SL::ReportGenerator->new(\%myconfig, $form);
 
-  my @hidden_variables = ();
-  push @hidden_variables, qw(fromdate todate year cash );
+  my @hidden_variables    = qw(fromdate todate year cash);
 
-  my $href = build_std_url('action=generate_trial_balance', grep { $form->{$_} } @hidden_variables);
+  my $href                = build_std_url('action=generate_trial_balance', 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_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'), }
   );
 
 
@@ -1305,15 +1304,22 @@ sub generate_trial_balance {
 
   $report->set_export_options('generate_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->{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});
+
+
   $form->{template_to} = $locale->date(\%myconfig, $form->{todate}, 0);
 
   $report->set_options('output_format'        => 'HTML',
+                       'top_info_text'        => join("\n", @options),
                        'title'                => $form->{title},
                        'attachment_basename'  => $attachment_basename . strftime('_%Y%m%d', localtime time),
                        'html_template'        => 'rp/html_report_susa',
@@ -1354,6 +1360,7 @@ sub generate_trial_balance {
 
 
     $row->{$ordnumber}->{link} = $edit_url . "&id=" . E($oe->{id}) . "&callback=${callback}";
+    $row->{accno}->{link} = build_std_url('script=ca.pl', 'action=list_transactions', 'accno=' . E($accno->{accno}), 'description=' . E($accno->{description}), 'fromdate=' . E($form->{fromdate}), 'todate=' . E($form->{todate}), 'method=' . E($form->{method}));
 
     my $row_set = [ $row ];
 
@@ -1466,8 +1473,6 @@ sub list_accounts {
 
   $report->set_export_options($action, @hidden_variables);
 
-  $report->set_sort_indicator('accno', 1);
-
   my @totals_columns = qw(credit debit begbalance endbalance);
   my %subtotals      = map { $_ => 0 } @totals_columns;
   my %totals         = map { $_ => 0 } @totals_columns;
@@ -2313,7 +2318,7 @@ sub list_payments {
   $report->set_columns(%column_defs);
   $report->set_column_order(@columns);
 
-  $report->set_export_options('list_payments', @hidden_variables);
+  $report->set_export_options('list_payments', @hidden_variables, qw(sort sortdir));
 
   $report->set_sort_indicator($form->{sort}, $form->{sortdir});