-sub generate_ustva {
- $lxdebug->enter_sub();
-
- # Hier Aufruf von get_config aus bin/mozilla/fa.pl zum
- # Einlesen der Finanzamtdaten
- print(STDERR "Winston4\n");
- get_config($userspath, 'finanzamt.ini');
-
- # &get_project(generate_bwa);
- @anmeldungszeitraum =
- qw(0401, 0402, 0403, 0404, 0405, 0405, 0406, 0407, 0408, 0409, 0410, 0411, 0412, 0441, 0442, 0443, 0444);
-
- foreach $item (@anmeldungszeitraum) {
- $form->{$item} = "";
- }
- print(STDERR "Winston2\n");
- if ($form->{reporttype} eq "custom") {
-
- #forgotten the year --> thisyear
- if ($form->{year} !~ m/^\d\d\d\d$/) {
- $locale->date(\%myconfig, $form->current_date(\%myconfig), 0) =~
- /(\d\d\d\d)/;
- $form->{year} = $1;
- }
-
- #yearly report
- if ($form->{duetyp} eq "13") {
- $form->{fromdate} = "1.1.$form->{year}";
- $form->{todate} = "31.12.$form->{year}";
- }
-
- #Quater reports
- if ($form->{duetyp} eq "A") {
- $form->{fromdate} = "1.1.$form->{year}";
- $form->{todate} = "31.3.$form->{year}";
- $form->{"0441"} = "X";
- }
- if ($form->{duetyp} eq "B") {
- $form->{fromdate} = "1.4.$form->{year}";
- $form->{todate} = "30.6.$form->{year}";
- $form->{"0442"} = "X";
- }
- if ($form->{duetyp} eq "C") {
- $form->{fromdate} = "1.7.$form->{year}";
- $form->{todate} = "30.9.$form->{year}";
- $form->{"0443"} = "X";
- }
- if ($form->{duetyp} eq "D") {
- $form->{fromdate} = "1.10.$form->{year}";
- $form->{todate} = "31.12.$form->{year}";
- $form->{"0444"} = "X";
- }
-
- #Monthly reports
- SWITCH: {
- $form->{duetyp} eq "1" && do {
- $form->{fromdate} = "1.1.$form->{year}";
- $form->{todate} = "31.1.$form->{year}";
- $form->{"0401"} = "X";
- last SWITCH;
- };
- $form->{duetyp} eq "2" && do {
- $form->{fromdate} = "1.2.$form->{year}";
-
- #this works from 1901 to 2099, 1900 and 2100 fail.
- $leap = ($form->{year} % 4 == 0) ? "29" : "28";
- $form->{todate} = "$leap.2.$form->{year}";
- $form->{"0402"} = "X";
- last SWITCH;
- };
- $form->{duetyp} eq "3" && do {
- $form->{fromdate} = "1.3.$form->{year}";
- $form->{todate} = "31.3.$form->{year}";
- $form->{"0403"} = "X";
- last SWITCH;
- };
- $form->{duetyp} eq "4" && do {
- $form->{fromdate} = "1.4.$form->{year}";
- $form->{todate} = "30.4.$form->{year}";
- $form->{"0404"} = "X";
- last SWITCH;
- };
- $form->{duetyp} eq "5" && do {
- $form->{fromdate} = "1.5.$form->{year}";
- $form->{todate} = "31.5.$form->{year}";
- $form->{"0405"} = "X";
- last SWITCH;
- };
- $form->{duetyp} eq "6" && do {
- $form->{fromdate} = "1.6.$form->{year}";
- $form->{todate} = "30.6.$form->{year}";
- $form->{"0406"} = "X";
- last SWITCH;
- };
- $form->{duetyp} eq "7" && do {
- $form->{fromdate} = "1.7.$form->{year}";
- $form->{todate} = "31.7.$form->{year}";
- $form->{"0407"} = "X";
- last SWITCH;
- };
- $form->{duetyp} eq "8" && do {
- $form->{fromdate} = "1.8.$form->{year}";
- $form->{todate} = "31.8.$form->{year}";
- $form->{"0408"} = "X";
- last SWITCH;
- };
- $form->{duetyp} eq "9" && do {
- $form->{fromdate} = "1.9.$form->{year}";
- $form->{todate} = "30.9.$form->{year}";
- $form->{"0409"} = "X";
- last SWITCH;
- };
- $form->{duetyp} eq "10" && do {
- $form->{fromdate} = "1.10.$form->{year}";
- $form->{todate} = "31.10.$form->{year}";
- $form->{"0410"} = "X";
- last SWITCH;
- };
- $form->{duetyp} eq "11" && do {
- $form->{fromdate} = "1.11.$form->{year}";
- $form->{todate} = "30.11.$form->{year}";
- $form->{"0411"} = "X";
- last SWITCH;
- };
- $form->{duetyp} eq "12" && do {
- $form->{fromdate} = "1.12.$form->{year}";
- $form->{todate} = "31.12.$form->{year}";
- $form->{"0412"} = "X";
- last SWITCH;
- };
- }
- }
-
- # $locale->date(\%myconfig, $form->current_date(\%myconfig), 0)=~ /(\d\d\d\d)/;
- # $form->{year}= $1;
- # $form->{fromdate}="1.1.$form->{year}";
- # $form->{todate}="31.3.$form->{year}";
- # $form->{period} = $locale->date(\%myconfig, $form->current_date(\%myconfig), 1);
- # }
-
- RP->ustva(\%myconfig, \%$form);
-
- ($form->{department}) = split /--/, $form->{department};
-
- $form->{period} =
- $locale->date(\%myconfig, $form->current_date(\%myconfig), 1);
- $form->{todate} = $form->current_date(\%myconfig) unless $form->{todate};
-
- # if there are any dates construct a where
- if ($form->{fromdate} || $form->{todate}) {
-
- unless ($form->{todate}) {
- $form->{todate} = $form->current_date(\%myconfig);
- }
-
- $longtodate = $locale->date(\%myconfig, $form->{todate}, 1);
- $shorttodate = $locale->date(\%myconfig, $form->{todate}, 0);
-
- $longfromdate = $locale->date(\%myconfig, $form->{fromdate}, 1);
- $shortfromdate = $locale->date(\%myconfig, $form->{fromdate}, 0);
-
- $form->{this_period} = "$shortfromdate<br>\n$shorttodate";
- $form->{period} =
- $locale->text('for Period')
- . qq|<br>\n$longfromdate |
- . $locale->text('bis')
- . qq| $longtodate|;
- }
-
- if ($form->{comparefromdate} || $form->{comparetodate}) {
- $longcomparefromdate =
- $locale->date(\%myconfig, $form->{comparefromdate}, 1);
- $shortcomparefromdate =
- $locale->date(\%myconfig, $form->{comparefromdate}, 0);
-
- $longcomparetodate = $locale->date(\%myconfig, $form->{comparetodate}, 1);
- $shortcomparetodate = $locale->date(\%myconfig, $form->{comparetodate}, 0);
-
- $form->{last_period} = "$shortcomparefromdate<br>\n$shortcomparetodate";
- $form->{period} .=
- "<br>\n$longcomparefromdate "
- . $locale->text('bis')
- . qq| $longcomparetodate|;
- }
-
- $form->{Datum_heute} =
- $locale->date(\%myconfig, $form->current_date(\%myconfig), 0);
-
- if ( $form->{format} eq 'pdf'
- or $form->{format} eq 'postscript') {
- $form->{padding} = "~~";
- $form->{bold} = "\textbf{";
- $form->{endbold} = "}";
- $form->{br} = '\\\\';
-
- @numbers = qw(51r 86r 97r 93r 96 43 45
- 66 62 67);
- foreach $number (@numbers) {
- $form->{$number} =~ s/,/~~/g;
- }
-
- } elsif ($form->{format} eq 'html') {
- $form->{padding} = " ";
- $form->{bold} = "<b>";
- $form->{endbold} = "</b>";
- $form->{br} = "<br>"