X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fustva.pl;h=2e42f186f80f63e58b9fd9450c3ea17c0baff2e7;hb=46ca64fbb0bb7979abd074b0af612ac88c8a8fdf;hp=e6268a67cfb357a7b27d16607016ad9528856107;hpb=4dd73ccf0cbde1fe4e8ecf05839028c24312828a;p=kivitendo-erp.git diff --git a/bin/mozilla/ustva.pl b/bin/mozilla/ustva.pl index e6268a67c..2e42f186f 100644 --- a/bin/mozilla/ustva.pl +++ b/bin/mozilla/ustva.pl @@ -29,7 +29,7 @@ require "$form->{path}/arap.pl"; #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"; @@ -76,13 +76,7 @@ sub report { $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 = ''; @@ -163,10 +157,10 @@ sub report { {path}&action=config&level=Programm--Preferences&login=$form->{login}&password=$form->{password}> | . $locale->text('Keine Firmenadresse hinterlegt!') . qq|\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| @@ -233,7 +227,7 @@ sub report { # 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| + |; } print qq|\n @@ -714,10 +691,10 @@ sub ustva_vorauswahl { print qq||; } @@ -823,127 +798,130 @@ sub generate_ustva { #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}) { @@ -1012,8 +990,10 @@ sub generate_ustva { $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 @@ -1039,13 +1019,26 @@ sub generate_ustva { } 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.
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.
Not yet implemented!')); + } + $form->{IN} .= "-$form->{year}" if ( $form->{format} eq 'pdf' or $form->{format} eq 'postscript'); @@ -1271,17 +1264,13 @@ sub edit_form { # Auf Übergabefehler checken USTVA::info( - $locale->text( - 'Bitte das Bundesland UND die Stadt bzw. den Einzugsbereich Ihres zuständigen Finanzamts auswählen.' - )) + $locale->text('Missing Tax Authoritys Preferences') . "\n" . + $locale->text('USTVA-Hint: Tax Authoritys')) if ( $form->{elsterFFFF_new} eq 'Auswahl' || $form->{elsterland_new} eq 'Auswahl'); USTVA::info( - $locale->text( - 'Es fehlen Angaben zur Versteuerung. - Wenn Sie Ist Versteuert sind, wählen Sie die Einnahmen/Überschuß-Rechnung aus. - Sind Sie Soll-Versteuert und Bilanzverpflichtet, dann wählen Sie Bilanz aus.' - )) + $locale->text('Missing Method!') . "\n" . + $locale->text('USTVA-Hint: Method')) if ($form->{method} eq ''); # Klären, ob Variablen bereits befüllt sind UND ob veräderungen auf