$form->{title} = $locale->text($title{ $form->{report} });
- my $accrual = ($main::eur) ? "" : "checked";
- my $cash = ($main::eur) ? "checked" : "";
+ my $accrual = $::instance_conf->get_accounting_method eq 'cash' ? "" : "checked";
+ my $cash = $::instance_conf->get_accounting_method eq 'cash' ? "checked" : "";
my $year = (localtime)[5] + 1900;
}
my $projectnumber =
- NTI($main::cgi->popup_menu('-name' => "project_id",
+ NTI($::request->{cgi}->popup_menu('-name' => "project_id",
'-values' => \@project_values,
'-labels' => \%project_labels));
}
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);
($form->{department}) = split /--/, $form->{department};
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};
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) {
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);
$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} = ();
$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);
}
}
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};
} else {
$media = qq|
<option value=screen $form->{OP}{screen}>| . $locale->text('Screen');
- if ($myconfig{printer} && $main::latex_templates) {
+ if ($myconfig{printer} && $::lx_office_conf{print_templates}->{latex}) {
$media .= qq|
<option value=printer $form->{OP}{printer}>| . $locale->text('Printer');
}
}
my $format;
- if ($main::latex_templates) {
+ if ($::lx_office_conf{print_templates}->{latex}) {
$format .= qq|
<option value=html $form->{DF}{html}>| . $locale->text('HTML')
. qq| <option value=pdf $form->{DF}{pdf}>| . $locale->text('PDF')
<td><select name=media>$media</select></td>
|;
- if ($myconfig{printer} && $main::latex_templates && $form->{media} ne 'email') {
+ if ($myconfig{printer} && $::lx_office_conf{print_templates}->{latex} && $form->{media} ne 'email') {
$output .= qq|
<td>| . $locale->text('Copies') . qq|
<input name=copies size=2 value=$form->{copies}></td>
# Hotfix, um das Datumsformat, die unten hart auf deutsches Datumsformat eingestellt
# sind, entsprechend mit anderem Formaten (z.B. iso-kodiert) zum Laufen zu bringen (S.a.: Bug 1388)
sub hotfix_reformat_date {
-
+
$main::lxdebug->enter_sub();
-
+
my $form = $main::form;
my %myconfig = %main::myconfig;
my $locale = $main::locale;
-
+
if ($myconfig{dateformat} ne 'dd.mm.yyyy'){
my $current_dateformat = $myconfig{dateformat};
$myconfig{dateformat} = 'dd.mm.yyyy';