-
+
$department
|;
@@ -802,6 +805,18 @@ $jsscript
| | . $locale->text($label) . qq| |
$vc |
+
+ | | . $locale->text('Review of Aging list') . qq| |
+
+ |
+
| | . $locale->text('From') . qq|
$button1
@@ -1049,7 +1064,8 @@ sub generate_income_statement {
last SWITCH;
};
}
- }
+ hotfix_reformat_date();
+ } # Ende Bericht für vorgewählten Zeitraum (warum auch immer die Prüfung (custom eq true) ist ...
RP->income_statement(\%myconfig, \%$form);
@@ -1279,6 +1295,7 @@ sub generate_trial_balance {
last SWITCH;
};
}
+ hotfix_reformat_date();
}
@@ -1353,6 +1370,7 @@ sub generate_trial_balance {
'pdf_template' => 'rp/html_report_susa',
);
$report->set_options_from_form();
+ $locale->set_numberformat_wo_thousands_separator(\%myconfig) if lc($report->{options}->{output_format}) eq 'csv';
# add sort and escape callback, this one we use for the add sub
$form->{callback} = $href .= "&sort=$form->{sort}";
@@ -1367,7 +1385,7 @@ sub generate_trial_balance {
my $edit_url = build_std_url('action=edit', 'type', 'vc');
my $idx;
- foreach my $accno (@{ $form->{TB} }) {
+ foreach my $accno (@{ $form->{TB} || [] }) {
$accno->{soll} = $accno->{debit};
$accno->{haben} = $accno->{credit};
@@ -1504,6 +1522,7 @@ sub list_accounts {
'std_column_visibility' => 1,
);
$report->set_options_from_form();
+ $locale->set_numberformat_wo_thousands_separator(\%myconfig) if lc($report->{options}->{output_format}) eq 'csv';
$report->set_columns(%column_defs);
$report->set_column_order(@columns);
@@ -1514,7 +1533,7 @@ sub list_accounts {
my %subtotals = map { $_ => 0 } @totals_columns;
my %totals = map { $_ => 0 } @totals_columns;
my $found_heading = 0;
- my @tb = sort { $a->{accno} cmp $b->{accno} } @{ $form->{TB} };
+ my @tb = sort { $a->{accno} cmp $b->{accno} } @{ $form->{TB} || [] };
# sort the whole thing by account numbers and display
foreach my $idx (0 .. scalar(@tb) - 1) {
@@ -1644,7 +1663,7 @@ sub aging {
my $form = $main::form;
my %myconfig = %main::myconfig;
my $locale = $main::locale;
- my $cgi = $main::cgi;
+ my $cgi = $::request->{cgi};
my $report = SL::ReportGenerator->new(\%myconfig, $form);
@@ -1704,6 +1723,8 @@ sub aging {
'title' => $form->{title},
'attachment_basename' => $attachment_basename . strftime('_%Y%m%d', localtime time),
);
+ $report->set_options_from_form();
+ $locale->set_numberformat_wo_thousands_separator(\%myconfig) if lc($report->{options}->{output_format}) eq 'csv';
my $previous_ctid = 0;
my $row_idx = 0;
@@ -1760,8 +1781,6 @@ sub aging {
'raw_bottom_info_text' => $raw_bottom_info_text);
}
- $report->set_options_from_form();
-
$report->generate_with_headers();
$main::lxdebug->leave_sub();
@@ -2013,7 +2032,7 @@ sub print_form {
$form->{ $form->{ct} } = $form->{name};
$form->{"$form->{ct}_id"} = $ref->{ctid};
- map { $form->{$_} = () } qw(invnumber invdate duedate);
+ map { $form->{$_} = () } qw(invnumber invdate duedate amount open);
$form->{total} = 0;
foreach my $item (qw(c0 c30 c60 c90)) {
$form->{$item} = ();
@@ -2052,7 +2071,7 @@ sub print_form {
$form->{attachment_filename} = $locale->quote_special_chars('filenames', $locale->text("Statement") . "_$form->{todate}.$attachment_suffix");
$form->{attachment_filename} =~ s/\s+/_/g;
- $form->parse_template(\%myconfig, $main::userspath);
+ $form->parse_template(\%myconfig);
}
}
@@ -2062,7 +2081,7 @@ sub print_form {
$form->{snumbers} = qq|ordnumber_| . $form->{ordnumber};
$form->{addition} = "PRINTED";
$form->{what_done} = $form->{type};
- $form->save_history($form->dbconnect(\%myconfig));
+ $form->save_history;
}
# /saving the history
$main::lxdebug->leave_sub();
@@ -2082,11 +2101,16 @@ sub statement_details {
push @{ $form->{invnumber} }, $ref->{invnumber};
push @{ $form->{invdate} }, $ref->{transdate};
push @{ $form->{duedate} }, $ref->{duedate};
+ push @{ $form->{amount} }, $form->format_amount(\%myconfig, $ref->{amount} / $ref->{exchangerate}, 2);
+ push @{ $form->{open} }, $form->format_amount(\%myconfig, $ref->{open} / $ref->{exchangerate}, 2);
foreach my $item (qw(c0 c30 c60 c90)) {
if ($ref->{exchangerate} * 1) {
- $ref->{$item} =
- $form->round_amount($ref->{$item} / $ref->{exchangerate}, 2);
+ # add only the open amount of the invoice to the aging, not the total amount
+ $ref->{"${item}"} = $form->round_amount($ref->{open} / $ref->{exchangerate}, 2) if $ref->{overduedays} < 30 and $item eq 'c0';
+ $ref->{"${item}"} = $form->round_amount($ref->{open} / $ref->{exchangerate}, 2) if $ref->{overduedays} >= 30 and $ref->{overduedays} < 60 and $item eq 'c30';
+ $ref->{"${item}"} = $form->round_amount($ref->{open} / $ref->{exchangerate}, 2) if $ref->{overduedays} >= 60 and $ref->{overduedays} < 90 and $item eq 'c60';
+ $ref->{"${item}"} = $form->round_amount($ref->{open} / $ref->{exchangerate}, 2) if $ref->{overduedays} >= 90 and $item eq 'c90';
}
$form->{"${item}total"} += $ref->{$item};
$form->{total} += $ref->{$item};
@@ -2418,6 +2442,8 @@ sub list_payments {
);
$report->set_options_from_form();
+ $locale->set_numberformat_wo_thousands_separator(\%myconfig) if lc($report->{options}->{output_format}) eq 'csv';
+
$report->set_columns(%column_defs);
$report->set_column_order(@columns);
@@ -2521,14 +2547,14 @@ sub print_options {
} else {
$media = qq|
| |