#use strict;
#no strict 'refs';
#use diagnostics;
-#use warnings FATAL=> 'all';
+#use warnings; # FATAL=> 'all';
#use vars qw($locale $form %myconfig);
#our ($myconfig);
#use CGI::Carp "fatalsToBrowser";
$form->{title} = $locale->text('UStVA');
$form->{kz10} = ''; #Berichtigte Anmeldung? Ja =1
- # $accrual = ($eur) ? "" : "checked";
- # $cash = ($eur) ? "checked" : "";
- my $year = '';
- my $null = '';
- ($null, $null, $null, $null, $null, $year, $null, $null, $null) =
- localtime();
- $year += 1900;
+ my $year = substr($form->datetonum($form->current_date(\%myconfig), \%myconfig),0,4);
my $department = '';
local $hide = '';
<a href=am.pl?path=$form->{path}&action=config&level=Programm--Preferences&login=$form->{login}&password=$form->{password}>
| . $locale->text('Keine Firmenadresse hinterlegt!') . qq|</a>\n|;
}
- $form->{co_email}=$form->{email} unless $form->{co_email}='';
- $form->{co_tel}=$form->{tel} unless $form->{co_tel}='';
- $form->{co_fax}=$form->{fax} unless $form->{co_fax}='';
- $form->{co_url}=$form->{urlx} unless $form->{co_url}='';
+ $form->{co_email}=$form->{email} unless $form->{co_email};
+ $form->{co_tel}=$form->{tel} unless $form->{co_tel};
+ $form->{co_fax}=$form->{fax} unless $form->{co_fax};
+ $form->{co_url}=$form->{urlx} unless $form->{co_url};
print qq|
# accounting years if SQL-Ledger Version < 2.4.1
# $year = $form->{year} * 1;
- @years = sort { $b <=> $a } (2000 .. ($year+1));
+ @years = sort { $b <=> $a } (2003 .. ($year+1));
$form->{all_years} = \@years;
}
map { $form->{selectaccountingyear} .= qq|<option>$_\n| }
sub ustva_vorauswahl {
$lxdebug->enter_sub();
#Aktuelles Datum zerlegen:
- $locale->date(\%myconfig, $form->current_date(\%myconfig, '0', '0'), 0) =~
- /(\d\d).(\d\d).(\d\d\d\d)/;
+ my $date = $form->datetonum($form->current_date(\%myconfig), \%myconfig);
#$locale->date($myconfig, $form->current_date($myconfig), 0)=~ /(\d\d).(\d\d).(\d\d\d\d)/;
- $form->{day} = $1;
- $form->{month} = $2;
- $form->{year} = $3;
+ $form->{day} = substr($date, 6, 2);
+ $form->{month} = substr($date, 4, 2);
+ $form->{year} = substr($date, 0, 4);
+ $lxdebug->message(LXDebug::DEBUG1, qq|
+ Actual date from Database: $date\n
+ Actual year from Database: $form->{year}\n
+ Actual day from Database: $form->{day}\n
+ Actual month from Database: $form->{month}\n|);
+
my $sel = '';
my $yymmdd = '';
'09' => 'September',
'10' => 'October',
'11' => 'November',
- '12' => 'December');
-
+ '12' => 'December',
+ '13' => 'Yearly',
+ );
+
my $yy = $form->{year} * 10000;
$yymmdd = "$form->{year}$form->{month}$form->{day}" * 1;
+ $yymmdd = 20060121;
$sel = '';
- my $dfv = '0'; # Offset für Dauerfristverlängerung
- #$dfv = '100' if ($form->{FA_dauerfrist} eq '1');
+ my $dfv = '0';
+
+ # Offset für Dauerfristverlängerung
+ $dfv = '100' if ($form->{FA_dauerfrist} eq '1');
SWITCH: {
$yymmdd <= ($yy + 110 + $dfv) && do {
} elsif ($form->{FA_voranmeld} eq 'quarter') {
# Vorauswahl bei quartalsweisem Voranmeldungszeitraum
- my %liste = ('A' => '1.',
- 'B' => '2.',
- 'C' => '3.',
- 'D' => '4.',);
+ my %liste = ( 'A' => $locale->text('1. Quarter'),
+ 'B' => $locale->text('2. Quarter'),
+ 'C' => $locale->text('3. Quarter'),
+ 'D' => $locale->text('4. Quarter'),
+ '13' => $locale->text('Yearly'),
+ );
my $yy = $form->{year} * 10000;
$yymmdd = "$form->{year}$form->{month}$form->{day}" * 1;
my $selected = '';
$selected = 'selected' if ($sel eq $key);
print qq|
- <option value="$key" $selected>$liste{$key} |
- . $locale->text('Quarter')
- . qq|</option>
+ <option value="$key" $selected>$liste{$key}</option>
|;
}
print qq|\n</select>
print qq|<select id="zeitraum" name="duetyp" title="|
. $locale->text('Select a period') . qq|" >|;
- my %listea = ('A' => '1.',
- 'B' => '2.',
- 'C' => '3.',
- 'D' => '4.',);
+ my %listea = ('A' => '1. Quarter',
+ 'B' => '2. Quarter',
+ 'C' => '3. Quarter',
+ 'D' => '4. Quarter',);
my %listeb = ('01' => 'January',
'02' => 'February',
'09' => 'September',
'10' => 'October',
'11' => 'November',
- '12' => 'December',);
+ '12' => 'December',
+ '13' => 'Yearly',
+ );
my $key = '';
foreach $key (sort keys %listea) {
print qq|
- <option value="$key">$listea{$key} |
- . $locale->text('Quarter')
- . qq|</option>
-
- |;
+ <option value="$key">$listea{$key}</option>
+ |;
}
foreach $key (sort keys %listeb) {
#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;
+ $form->{year} = substr($form->datetonum($form->current_date(\%myconfig), \%myconfig),0,4);
+ $lxdebug->message(LXDebug::DEBUG1, qq|Actual year from Database: $form->{year}\n|);
}
#yearly report
if ($form->{duetyp} eq "13") {
- $form->{fromdate} = "1.1.$form->{year}";
- $form->{todate} = "31.12.$form->{year}";
+ $form->{fromdate} = "$form->{year}0101";
+ $form->{todate} = "$form->{year}1231";
}
#Quater reports
if ($form->{duetyp} eq "A") {
- $form->{fromdate} = "1.1.$form->{year}";
- $form->{todate} = "31.3.$form->{year}";
+ $form->{fromdate} = "$form->{year}0101";
+ $form->{todate} = "$form->{year}0331";
$form->{'0441'} = "X";
}
if ($form->{duetyp} eq "B") {
- $form->{fromdate} = "1.4.$form->{year}";
- $form->{todate} = "30.6.$form->{year}";
+ $form->{fromdate} = "$form->{year}0401";
+ $form->{todate} = "$form->{year}0630";
$form->{'0442'} = "X";
}
if ($form->{duetyp} eq "C") {
- $form->{fromdate} = "1.7.$form->{year}";
- $form->{todate} = "30.9.$form->{year}";
+ $form->{fromdate} = "$form->{year}0701";
+ $form->{todate} = "$form->{year}0930";
$form->{'0443'} = "X";
}
if ($form->{duetyp} eq "D") {
- $form->{fromdate} = "1.10.$form->{year}";
- $form->{todate} = "31.12.$form->{year}";
+ $form->{fromdate} = "$form->{year}1001";
+ $form->{todate} = "$form->{year}1231";
$form->{'0444'} = "X";
}
#Monthly reports
SWITCH: {
$form->{duetyp} eq "01" && do {
- $form->{fromdate} = "1.1.$form->{year}";
- $form->{todate} = "31.1.$form->{year}";
+ $form->{fromdate} = "$form->{year}0101";
+ $form->{todate} = "$form->{year}0131";
$form->{'0401'} = "X";
last SWITCH;
};
$form->{duetyp} eq "02" && do {
- $form->{fromdate} = "1.2.$form->{year}";
+ $form->{fromdate} = "$form->{year}0201";
#this works from 1901 to 2099, 1900 and 2100 fail.
my $leap = ($form->{year} % 4 == 0) ? "29" : "28";
- $form->{todate} = "$leap.2.$form->{year}";
+ $form->{todate} = "$form->{year}02$leap";
$form->{"0402"} = "X";
last SWITCH;
};
$form->{duetyp} eq "03" && do {
- $form->{fromdate} = "1.3.$form->{year}";
- $form->{todate} = "31.3.$form->{year}";
+ $form->{fromdate} = "$form->{year}0301";
+ $form->{todate} = "$form->{year}0331";
$form->{"0403"} = "X";
last SWITCH;
};
$form->{duetyp} eq "04" && do {
- $form->{fromdate} = "1.4.$form->{year}";
- $form->{todate} = "30.4.$form->{year}";
+ $form->{fromdate} = "$form->{year}0401";
+ $form->{todate} = "$form->{year}0430";
$form->{"0404"} = "X";
last SWITCH;
};
$form->{duetyp} eq "05" && do {
- $form->{fromdate} = "1.5.$form->{year}";
- $form->{todate} = "31.5.$form->{year}";
+ $form->{fromdate} = "$form->{year}0501";
+ $form->{todate} = "$form->{year}0531";
$form->{"0405"} = "X";
last SWITCH;
};
$form->{duetyp} eq "06" && do {
- $form->{fromdate} = "1.6.$form->{year}";
- $form->{todate} = "30.6.$form->{year}";
+ $form->{fromdate} = "$form->{year}0601";
+ $form->{todate} = "$form->{year}0630";
$form->{"0406"} = "X";
last SWITCH;
};
$form->{duetyp} eq "07" && do {
- $form->{fromdate} = "1.7.$form->{year}";
- $form->{todate} = "31.7.$form->{year}";
+ $form->{fromdate} = "$form->{year}0701";
+ $form->{todate} = "$form->{year}0731";
$form->{"0407"} = "X";
last SWITCH;
};
$form->{duetyp} eq "08" && do {
- $form->{fromdate} = "1.8.$form->{year}";
- $form->{todate} = "31.8.$form->{year}";
+ $form->{fromdate} = "$form->{year}0801";
+ $form->{todate} = "$form->{year}0831";
$form->{"0408"} = "X";
last SWITCH;
};
$form->{duetyp} eq "09" && do {
- $form->{fromdate} = "1.9.$form->{year}";
- $form->{todate} = "30.9.$form->{year}";
+ $form->{fromdate} = "$form->{year}0901";
+ $form->{todate} = "$form->{year}0930";
$form->{"0409"} = "X";
last SWITCH;
};
$form->{duetyp} eq "10" && do {
- $form->{fromdate} = "1.10.$form->{year}";
- $form->{todate} = "31.10.$form->{year}";
+ $form->{fromdate} = "$form->{year}1001";
+ $form->{todate} = "$form->{year}1031";
$form->{"0410"} = "X";
last SWITCH;
};
$form->{duetyp} eq "11" && do {
- $form->{fromdate} = "1.11.$form->{year}";
- $form->{todate} = "30.11.$form->{year}";
+ $form->{fromdate} = "$form->{year}1101";
+ $form->{todate} = "$form->{year}1130";
$form->{"0411"} = "X";
last SWITCH;
};
$form->{duetyp} eq "12" && do {
- $form->{fromdate} = "1.12.$form->{year}";
- $form->{todate} = "31.12.$form->{year}";
+ $form->{fromdate} = "$form->{year}1201";
+ $form->{todate} = "$form->{year}1231";
$form->{"0412"} = "X";
last SWITCH;
};
}
}
- #$myconfig = \%myconfig;
- RP->ustva(\%myconfig, \%$form);
-
- #??($form->{department}) = split /--/, $form->{department};
+ # using dates in ISO-8601 format: yyyymmmdd for Postgres...
+ USTVA->ustva(\%myconfig, \%$form);
+
+ # reformat Dates to dateformat
+ $form->{fromdate}= $locale->date(\%myconfig, $form->{fromdate}, 0, 0, 0);
+
+ $form->{todate} = $form->current_date($myconfig) unless $form->{todate};
+ $form->{todate}= $locale->date(\%myconfig, $form->{todate}, 0, 0, 0);
$form->{period} =
$locale->date(\%myconfig, $form->current_date(\%myconfig), 1, 0, 0);
- $form->{todate} = $form->current_date($myconfig) unless $form->{todate};
+
# if there are any dates construct a where
if ($form->{fromdate} || $form->{todate}) {
$form->{br} = '\\\\';
- my @numbers = qw(51r 86r 97r 93r 96 43 45
- 66 62 67);
+ my @numbers = qw(511 861 36 80 971 931 98 96 53 74
+ 85 65 66 61 62 Z67 63 64 59 69 39 83
+ Z43 Z45 Z53 Z62 Z65);
+
my $number = '';
# Zahlenformatierung für Latex USTVA Formulare
if ($myconfig{numberformat} eq '1.000,00' or
}
if ($form->{format} eq 'elster') {
- &create_winston();
+ if ($form->{duetyp} eq '13'){
+ $form->header;
+ USTVA::info($locale->text('Impossible to create yearly Tax Report via Winston.<br \> Not yet implemented!'));
+ } else {
+ &create_winston();
+ }
} else {
$form->{templates} = $myconfig{templates};
$form->{templates} = "doc" if ($form->{type} eq 'help');
$form->{IN} = "$form->{type}";
$form->{IN} = "$form->{help}" if ($form->{type} eq 'help');
+ $form->{IN} = 'USTE' if ($form->{duetyp} eq '13' &&
+ $form->{format} ne 'html');
+
+ if ($form->{IN} eq 'USTE'){
+ $form->header;
+ USTVA::info($locale->text('Impossible to create yearly Tax Report as PDF or PS.<br \> Not yet implemented!'));
+ }
+
$form->{IN} .= "-$form->{year}"
if ( $form->{format} eq 'pdf'
or $form->{format} eq 'postscript');