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);
last SWITCH;
};
}
+ hotfix_reformat_date();
}
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) {
last SWITCH;
};
}
+ hotfix_reformat_date();
} else {
# die konvertierungen nur dann durchführen, wenn auch daten gesetzt sind.
# ansonsten ist die prüfung in RP.pm
# immer wahr
if ($form->{fromdate}){
my ($yy, $mm, $dd) = $locale->parse_date(\%myconfig, $form->{fromdate});
- $form->{fromdate} = "${dd}.${mm}.${yy}";
- $form->{comparefromdate} = "01.01.$yy";
+ my $datetime = $locale->parse_date_to_object(\%myconfig, $form->{fromdate});
+ $datetime->set( month => 1,
+ day => 1);
+ $form->{comparefromdate} = $locale->format_date(\%::myconfig, $datetime);
}
if ($form->{todate}){
- my ($yy, $mm, $dd) = $locale->parse_date(\%myconfig, $form->{todate});
- $form->{todate} = "${dd}.${mm}.${yy}";
$form->{comparetodate} = $form->{todate};
}
}
$main::lxdebug->leave_sub();
}
+###
+# 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';
+ $form->{fromdate} = $main::locale->reformat_date(\%myconfig, $form->{fromdate}, $current_dateformat);
+ $form->{todate} = $main::locale->reformat_date(\%myconfig, $form->{todate}, $current_dateformat);
+ $form->{comparefromdate} = $main::locale->reformat_date(\%myconfig, $form->{comparefromdate}, $current_dateformat)
+ unless (!defined ($form->{comparefromdate}));
+ $form->{comparetodate} = $main::locale->reformat_date(\%myconfig, $form->{comparetodate}, $current_dateformat)
+ unless (!defined ($form->{comparetodate}));
+
+ # Und wieder zurücksetzen
+ $myconfig{dateformat} = $current_dateformat; #'dd.mm.yyyy';
+ } # Ende Hotifx Bug 1388
+ $main::lxdebug->leave_sub();
+
+}
1;