]> wagnertech.de Git - mfinanz.git/blobdiff - SL/Controller/FinancialOverview.pm
Finanzcontrolling: Auftragswertperiodizität berücksichtigen
[mfinanz.git] / SL / Controller / FinancialOverview.pm
index e8ed1401a7eece88acedbed4f1e4ba4564588f42..6b288993221388a2760b52b4a4ed99ece0a41a7e 100644 (file)
@@ -61,7 +61,7 @@ sub prepare_report {
     std_column_visibility => 1,
     controller_class      => 'FinancialOverview',
     output_format         => 'HTML',
-    raw_top_info_text     => $self->render('financial_overview/report_top', { output => 0 }, YEARS_TO_LIST => [ reverse(2000..$self->current_year) ]),
+    raw_top_info_text     => $self->render('financial_overview/report_top', { output => 0 }, YEARS_TO_LIST => [ reverse(($self->current_year - 10)..($self->current_year + 5)) ]),
     title                 => t8('Financial overview for #1', $self->year),
     allow_pdf_export      => 1,
     allow_csv_export      => 1,
@@ -145,13 +145,11 @@ sub calculate_periodic_invoices {
 sub calculate_one_periodic_invoice {
   my ($self, %params) = @_;
 
-  my @dates           = $params{config}->calculate_invoice_dates(start_date => $params{start_date}, end_date => $params{end_date}, past_dates => 1);
-  my $first_date      = $dates[0];
+  return if $params{config}->start_date > $params{end_date};
 
-  return if !$first_date;
-
-  my $net  = $params{config}->order->netamount * scalar(@dates);
-  my $sord = $self->data->{sales_orders};
+  my $first_date = $params{config}->start_date->clone->set_year($self->year);
+  my $net        = $params{config}->order->netamount * (12 / $params{config}->get_billing_period_length);
+  my $sord       = $self->data->{sales_orders};
 
   $sord->{months  }->[ $first_date->month   - 1 ] += $net;
   $sord->{quarters}->[ $first_date->quarter - 1 ] += $net;