X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fustva.pl;h=435117ed355ebb23a2ae931dcfe8819dd34e26cb;hb=d139dd31791627953f82749d02702bcb8308ebea;hp=f7c179778969e09b1a3653599ed1a961ab1ed73d;hpb=4eb1e2ea2595a75a6f94e5bfa5d3e37e2f8a7f1a;p=kivitendo-erp.git diff --git a/bin/mozilla/ustva.pl b/bin/mozilla/ustva.pl index f7c179778..435117ed3 100644 --- a/bin/mozilla/ustva.pl +++ b/bin/mozilla/ustva.pl @@ -1,5 +1,5 @@ #===================================================================== -# Lx-Office ERP +# kivitendo ERP # Copyright (c) 2004 by Udo Spallek, Aachen # # Author: Udo Spallek @@ -21,8 +21,10 @@ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #====================================================================== # German Tax authority Module and later ELSTER Interface +# 08.01.14 ELSTER Interface software (taxbird/winston) removed #====================================================================== +use strict; use utf8; require "bin/mozilla/common.pl"; @@ -37,6 +39,7 @@ require "bin/mozilla/common.pl"; use List::Util qw(first); +use SL::DB::Default; use SL::PE; use SL::RP; use SL::USTVA; @@ -74,12 +77,15 @@ use SL::User; ############################# sub report { - $lxdebug->enter_sub(); + $::lxdebug->enter_sub(); - $auth->assert('advance_turnover_tax_return'); + my $form = $::form; + my $locale = $::locale; + my %myconfig = %::myconfig; - my $myconfig = \%myconfig; + $::auth->assert('advance_turnover_tax_return'); + my $defaults = SL::DB::Default->get; $form->{title} = $locale->text('UStVA'); $form->{kz10} = ''; #Berichtigte Anmeldung? Ja =1 Nein=0 @@ -87,37 +93,37 @@ sub report { 0, 4); my $department = ''; - local $hide = ''; + my $hide = ''; $form->header; # Einlesen der Finanzamtdaten my $ustva = USTVA->new(); - $ustva->get_config($userspath, 'finanzamt.ini'); + $ustva->get_config($::lx_office_conf{paths}{userspath}, 'finanzamt.ini'); # Hier Einlesen der user-config # steuernummer entfernt für prerelease my @a = qw( - signature name company address businessnumber + signature name tel fax email co_chief co_department co_custom1 co_custom2 co_custom3 co_custom4 co_custom5 co_name1 co_name2 co_street co_street1 co_zip co_city co_city1 co_country co_tel co_tel1 co_tel2 co_fax co_fax1 co_email co_email1 - co_url co_url1 ustid duns co_bankname + co_url co_url1 co_bankname co_bankname1 co_bankname2 co_bankname3 co_blz co_blz1 co_blz2 co_blz3 co_accountnr co_accountnr1 co_accountnr2 co_accountnr3 ); - map { $form->{$_} = $myconfig->{$_} } @a; + $form->{$_} = $myconfig{$_} for @a; + $form->{$_} = $defaults->$_ for qw(company address co_ustid duns); my $openings = $form->{FA_Oeffnungszeiten}; $openings =~ s/\\\\n/
/g; my $company_given = ($form->{company} ne '') ? qq|

$form->{company}

\n| - : qq|| + : qq|| . $locale->text('No Company Name given') . qq|!
|; @@ -190,14 +196,14 @@ sub report { # Which COA is in use? - $ustva->get_coa($form, $myconfig); + $ustva->get_coa($form, \%myconfig); my $template_ref = { openings => $openings, company_given => $company_given, address_given => $address_given, taxnumber_given => $taxnumber_given, - taxnumber => $myconfig->{taxnumber}, + taxnumber => $defaults->taxnumber, select_year => $select_year, period_local => $period_local, method_local => $method_local, @@ -212,44 +218,44 @@ sub report { - $lxdebug->leave_sub(); + $::lxdebug->leave_sub(); } sub help { - $lxdebug->enter_sub(); + $::lxdebug->enter_sub(); - $auth->assert('advance_turnover_tax_return'); + $::auth->assert('advance_turnover_tax_return'); # parse help documents under doc - my $tmp = $form->{templates}; - $form->{templates} = 'doc'; - $form->{help} = 'ustva'; - $form->{type} = 'help'; - $form->{format} = 'html'; - &generate_ustva(); - - #$form->{templates} = $tmp; - $lxdebug->leave_sub(); + $::form->{templates} = 'doc'; + $::form->{help} = 'ustva'; + $::form->{type} = 'help'; + $::form->{format} = 'html'; + generate_ustva(); + + $::lxdebug->leave_sub(); } sub show { - $lxdebug->enter_sub(); + $::lxdebug->enter_sub(); - $auth->assert('advance_turnover_tax_return'); + $::auth->assert('advance_turnover_tax_return'); #&generate_ustva(); - no strict 'refs'; - $lxdebug->leave_sub(); - call_sub($form->{"nextsub"}); - use strict 'refs'; + $::lxdebug->leave_sub(); + call_sub($::form->{"nextsub"}); } sub ustva_vorauswahl { - $lxdebug->enter_sub(); + $::lxdebug->enter_sub(); + + my $form = $::form; + my $locale = $::locale; + my %myconfig = %::myconfig; - $auth->assert('advance_turnover_tax_return'); + $::auth->assert('advance_turnover_tax_return'); my $select_vorauswahl; @@ -260,7 +266,7 @@ sub ustva_vorauswahl { $form->{day} = substr($date, 6, 2); $form->{month} = substr($date, 4, 2); $form->{year} = substr($date, 0, 4); - $lxdebug->message(LXDebug::DEBUG1, qq| + $::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 @@ -467,27 +473,27 @@ sub ustva_vorauswahl { } $select_vorauswahl .= qq||; } - $lxdebug->leave_sub(); + $::lxdebug->leave_sub(); return $select_vorauswahl; } #sub config { -# $lxdebug->enter_sub(); +# $::lxdebug->enter_sub(); # config_step1(); -# $lxdebug->leave_sub(); +# $::lxdebug->leave_sub(); #} sub debug { - $lxdebug->enter_sub(); - $form->debug(); - $lxdebug->leave_sub(); + $::lxdebug->enter_sub(); + $::form->debug(); + $::lxdebug->leave_sub(); } sub show_options { - $lxdebug->enter_sub(); + $::lxdebug->enter_sub(); - $auth->assert('advance_turnover_tax_return'); + $::auth->assert('advance_turnover_tax_return'); # $form->{PD}{$form->{type}} = "selected"; # $form->{DF}{$form->{format}} = "selected"; @@ -497,48 +503,37 @@ sub show_options { my $media = qq| |; my $format = qq| |; - if ($latex_templates) { - $format .= - qq| |; - } - - #my $disabled= qq|disabled="disabled"|; - #$disabled='' if ($form->{elster} eq '1' ); - if ($form->{elster} eq '1') { - $format .= - qq|| - . qq||; - } - #$format .= qq||; my $show_options = qq| $type $media + . $::locale->text('Choose Outputformat') . qq|">$format |; - $lxdebug->leave_sub(); + $::lxdebug->leave_sub(); return $show_options; } sub generate_ustva { - $lxdebug->enter_sub(); + $::lxdebug->enter_sub(); + + my $form = $::form; + my $locale = $::locale; + my %myconfig = %::myconfig; - $auth->assert('advance_turnover_tax_return'); + $::auth->assert('advance_turnover_tax_return'); + + my $defaults = SL::DB::Default->get; + $form->error($::locale->text('No print templates have been created for this client yet. Please do so in the client configuration.')) if !$defaults->templates; + $form->{templates} = $defaults->templates; # Aufruf von get_config zum Einlesen der Finanzamtdaten aus finanzamt.ini my $ustva = USTVA->new(); - $ustva->get_config($userspath, 'finanzamt.ini'); + $ustva->get_config($::lx_office_conf{paths}{userspath}, 'finanzamt.ini'); # init some form vars my @anmeldungszeitraum = @@ -559,7 +554,7 @@ sub generate_ustva { $form->current_date(\%myconfig), \%myconfig ), 0, 4); - $lxdebug->message(LXDebug::DEBUG1, + $::lxdebug->message(LXDebug->DEBUG1, qq|Actual year from Database: $form->{year}\n|); } @@ -692,13 +687,13 @@ sub generate_ustva { # if there are any dates construct a where if ($form->{fromdate} || $form->{todate}) { - $form->{todate} = $form->current_date($myconfig) unless ($form->{todate}); + $form->{todate} = $form->current_date(\%myconfig) unless ($form->{todate}); - my $longtodate = $locale->date($myconfig, $form->{todate}, 1, 0, 0); - my $shorttodate = $locale->date($myconfig, $form->{todate}, 0, 0, 0); + my $longtodate = $locale->date(\%myconfig, $form->{todate}, 1, 0, 0); + my $shorttodate = $locale->date(\%myconfig, $form->{todate}, 0, 0, 0); - my $longfromdate = $locale->date($myconfig, $form->{fromdate}, 1, 0, 0); - my $shortfromdate = $locale->date($myconfig, $form->{fromdate}, 0, 0, 0); + my $longfromdate = $locale->date(\%myconfig, $form->{fromdate}, 1, 0, 0); + my $shortfromdate = $locale->date(\%myconfig, $form->{fromdate}, 0, 0, 0); $form->{this_period} = "$shortfromdate
\n$shorttodate"; $form->{longperiod} = @@ -730,14 +725,15 @@ sub generate_ustva { $locale->date(\%myconfig, $form->current_date(\%myconfig), 0, 0, 0); # setup variables for the form - my @a = qw(company businessnumber tel fax email + my @a = qw(tel fax email co_chief co_department co_custom1 co_custom2 co_custom3 co_custom4 co_custom5 co_name1 co_name2 co_street co_street1 co_zip co_city co_city1 co_country co_tel co_tel1 co_tel2 - co_fax co_fax1 co_email co_email1 co_url co_url1 ustid duns + co_fax co_fax1 co_email co_email1 co_url co_url1 co_bankname co_bankname1 co_bankname2 co_bankname3 co_blz co_blz1 co_blz2 co_blz3 co_accountnr co_accountnr1 co_accountnr2 co_accountnr3); - map { $form->{$_} = $myconfig{$_} } @a; + $form->{$_} = $myconfig{$_} for @a; + $form->{$_} = $defaults->$_ for qw(company address co_ustid duns); if ($form->{address} ne '') { my $temp = $form->{address}; @@ -768,7 +764,7 @@ sub generate_ustva { dec_places => '2', }); - push @category_cent, qw(83 Z43 Z45 Z53 Z62 Z65 Z67); + push @category_cent, qw(Z43 Z45 Z53 Z62 Z65 Z67); my @category_euro = $ustva->report_variables({ myconfig => \%myconfig, @@ -812,191 +808,13 @@ sub generate_ustva { $form->{br} = "
"; $form->{address} =~ s/\\n/\n/g; - foreach $number (@category_cent) { - $form->{$number} = $form->format_amount(\%myconfig, $form->{$number}, '2', '0'); - } - - foreach $number (@category_euro) { - $form->{$number} = $form->format_amount(\%myconfig, $form->{$number}, '0', '0'); - } - - } elsif ( $form->{format} eq 'elsterwinston' ) { - - $form->{IN} = 'winston.xml'; - - # - # Build Winston filename - # - - my $file = 'U'; # 1. char 'U' = USTVA - $file .= $form->{period}; - #4. and 5. char = year modulo 100 - $file .= sprintf("%02d", $form->{year} % 100); - #6. to 18. char = Elstersteuernummer - #Beispiel: Steuernummer in Bayern - #111/222/33334 ergibt für UStVA Jan 2004: U01049111022233334 - $file .= $form->{elsterFFFF}; - $file .= $form->{elstersteuernummer}; - #file suffix - $file .= '.xml'; - $file =~ s|.*/||; - $form->{tmpfile} = "$userspath/$file"; - - $form->{attachment_filename} = $file; - - # Zahlenformatierung für Winston - - my $temp_numberformat = $myconfig{numberformat}; - - # Numberformat must be '1000.00' for Winston - - $myconfig{numberformat} = '1000.00'; - - foreach my $number (@category_cent) { - $form->{$number} = ( $form->{$number} !=0 ) ? $form->format_amount(\%myconfig, $form->{$number}, '2', '') : ''; - } - - foreach my $number (@category_euro) { - $form->{$number} = ( $form->{$number} !=0 ) ? $form->format_amount(\%myconfig, $form->{$number}, '0', '') : ''; - } - # Re-set Numberformat - $myconfig{numberformat} = $temp_numberformat; - - # push Kennziffern to <%foreach Array fo easyer - # output in xml format. Thx to Moritz. - my %winston_id_for = ( - # No Winston remap?! - ); - - foreach my $kennziffer (@category_cent, @category_euro) { - - next if ( $kennziffer =~ m/Z\d\d/); - next if ( $form->{$kennziffer} == 0 ); - - if (defined $winston_id_for{$kennziffer} ) { - push(@{ $form->{id}}, $winston_id_for{$kennziffer}); - } else { - push(@{ $form->{id}}, "Kz$kennziffer"); - } - push(@{ $form->{amount}}, $form->{$kennziffer}); - } - - } elsif ( $form->{format} eq 'elstertaxbird' ) { - - # Define serveral filenames - $form->{IN} = 'taxbird.txb'; - - $form->{attachment_filename} = "USTVA-" . $form->{period} - . sprintf("%02d", $form->{year} % 100) . ".txb"; - - $form->{attachment_filename} =~ s|.*/||; - $form->{tmpfile} = "$userspath/" . $form->{attachment_filename}; - - # TODO: set Output to UTF-8 or system Preference - #$form->{"iconv"} = Text::Iconv->new($myconfig{dbcharset}, "UTF-8"); - #my $iconv = $self->{"iconv"}; - #$iconv->convert($variable); - if ($form->{period} =~ /^[4]\d$/ ){ - my %periods = ( # Lx => taxbird - '41' => '12', - '42' => '13', - '43' => '14', - '44' => '15', - ); - - foreach my $quarter ( keys %periods ) { - $form->{taxbird_period} = $periods{$quarter} if ( $form->{period} eq $quarter); - } - } elsif ($form->{period} =~ /^\d+$/ ) { - $form->{period} =~ s/^0//g; - my $period = $form->{period}; - $period * 1; - $period--; - $form->{taxbird_period} = $period; - } else { - $form->header; - USTVA::error( $locale->text('Wrong Period' )); - ::end_of_request(); - } - - # heuristics for address splitting - # lx-office holds the entire address in a single field. - # taxbird expects it to be splitted into street, zipcode and city - if ($form->{co_street} =~ /\n/) { - my $new_co_street; - for (split /\n/, $form->{co_street}) { - if (/(\d{3,5})\s+(\w+)/) { - $form->{co_zip} = $1; - $form->{co_city} = $2; - } else { - $new_co_street .= $_; - } - } - $form->{co_street} = $new_co_street; - } else { - $form->{co_zip} = $form->{co_city}; - $form->{co_zip} =~ s/\D//g; - $form->{co_city} =~ s/\d//g; - $form->{co_city} =~ s/^\s//g; - } - - my $tax_office = first { $_->{name} eq $form->{elsterland} } @{ $ustva->{tax_office_information} }; - $form->{taxbird_land_nr} = $tax_office->{taxbird_nr} if $tax_office; - - ($form->{co_phone_prefix}, $form->{co_phone}) = split("-", $form->{tel}); - $form->{co_phone_prefix} =~ s/\s//g; - $form->{co_phone} =~ s/\s//g; - - $form->{taxbird_steuernummer} = $form->{steuernummer}; - # $form->{taxbird_steuernummer} =~ s/\D//g; - $form->{taxbird_steuernummer} =~ s/\///; # ersten Querstrich ersetzen - - # Numberformatting for Taxbird - my $temp_numberformat = $myconfig{numberformat}; - # Numberformat must be '1000,00' for Taxbird ?! - $myconfig{numberformat} = '1000,00'; foreach my $number (@category_cent) { - $form->{$number} = ( $form->{$number} !=0 ) ? $form->format_amount(\%myconfig, $form->{$number}, '2', '') : ''; + $form->{$number} = $form->format_amount(\%myconfig, $form->{$number}, '2', '0'); } foreach my $number (@category_euro) { - $form->{$number} = ( $form->{$number} !=0 ) ? $form->format_amount(\%myconfig, $form->{$number}, '0', '') : ''; - } - # Re-set Numberformat - $myconfig{numberformat} = $temp_numberformat; - - # push Kennziffern to <%foreach Array fo easyer - # output in xml format. Thx to Moritz. - my %taxbird_id_for = ( - - '511' => 'Kz51-calc', - '861' => 'Kz86-calc', - '971' => 'Kz97-calc', - '931' => 'Kz93-calc', - '811' => 'Kz81-calc', - '891' => 'Kz89-calc', - 'Z45' => 'uebertrag', - 'Z53' => 'ust-sum', - 'Z62' => 'ust-minus-vost', - 'Z65' => 'ust-sum+69', - 'Z67' => 'ust-vz', - ); - - - for my $kennziffer (@category_cent, @category_euro) { - - next if ($kennziffer eq 'Z43'); - - if ($form->{$kennziffer} != 0){ - if (defined $taxbird_id_for{$kennziffer}) { - push(@{ $form->{id}}, $taxbird_id_for{$kennziffer}); - } else { - push(@{ $form->{id}}, "Kz$kennziffer"); - } - push(@{ $form->{amount}}, $form->{$kennziffer}); - } + $form->{$number} = $form->format_amount(\%myconfig, $form->{$number}, '0', '0'); } - } elsif ( $form->{format} eq '' ){ # No format error. $form->header; USTVA::error( $locale->text('Application Error. No Format given' ) . "!"); @@ -1038,8 +856,8 @@ sub generate_ustva { $rec_ref->{id} = $kennziffer; $rec_ref->{amount} = $form->format_amount(\%myconfig, $form->{$kennziffer}, 2, '0'); - $lxdebug->message($LXDebug::DEBUG, "Kennziffer $kennziffer: '$form->{$kennziffer}'" ); - $lxdebug->dump($LXDebug::DEBUG, $rec_ref ); + $::lxdebug->message($LXDebug::DEBUG, "Kennziffer $kennziffer: '$form->{$kennziffer}'" ); + $::lxdebug->dump($LXDebug::DEBUG, $rec_ref ); push @ { $form->{USTVA} }, $rec_ref; } @@ -1055,62 +873,66 @@ sub generate_ustva { . '!'); } - $form->{templates} = $myconfig{templates}; $form->{templates} = "doc" if ( $form->{type} eq 'help' ); if ($form->{format} eq 'generic'){ $form->header(); - $template_ref = { - taxnumber => $myconfig{taxnumber}, + my $template_ref = { + taxnumber => $defaults->taxnumber, }; print($form->parse_html_template('ustva/generic_taxreport', $template_ref)); } else { + # add a prefix for ustva pos numbers, i.e.: 81 -> post_ustva_81 + $form->{"pos_ustva_$_"} = $form->{$_} for grep { m{^\d+} } keys %{ $form }; + $form->{title} = $locale->text('Advance turnover tax return'); + + $form->header; + print $form->parse_html_template('ustva/ustva'); - $form->parse_template(\%myconfig, $userspath); } - $lxdebug->leave_sub(); + $::lxdebug->leave_sub(); } sub config_step1 { - $lxdebug->enter_sub(); + $::lxdebug->enter_sub(); - $auth->assert('advance_turnover_tax_return'); + $::auth->assert('advance_turnover_tax_return'); -$form->{title} = $locale->text('Tax Office Preferences'); +$::form->{title} = $::locale->text('Tax Office Preferences'); # edit all taxauthority prefs - $form->header; + $::form->header; my $ustva = USTVA->new(); - $ustva->get_config($userspath, 'finanzamt.ini'); + $ustva->get_config($::lx_office_conf{paths}{userspath}, 'finanzamt.ini'); - my $land = $form->{elsterland}; - my $amt = $form->{elsterFFFF}; + my $land = $::form->{elsterland}; + my $amt = $::form->{elsterFFFF}; - $form->{title} = $locale->text('Tax Office Preferences'); + $::form->{title} = $::locale->text('Tax Office Preferences'); - my $select_tax_office = $ustva->fa_auswahl($land, $amt, $ustva->query_finanzamt(\%myconfig, $form)); - my $checked_accrual = q|checked="checked"| if ($form->{method} eq 'accrual'); - my $checked_cash = q|checked="checked"| if ($form->{method} eq 'cash'); - my $checked_monthly = "checked" if ($form->{FA_voranmeld} eq 'month'); - my $checked_quarterly = "checked" if ($form->{FA_voranmeld} eq 'quarter'); - my $checked_dauerfristverlaengerung = "checked" if ($form->{FA_dauerfrist} eq '1'); - my $checked_kz_71 = "checked" if ($form->{FA_71} eq 'X'); + my $select_tax_office = $ustva->fa_auswahl($land, $amt, $ustva->query_finanzamt(\%::myconfig, $::form)); + my $checked_accrual = $::form->{method} eq 'accrual' ? q|checked="checked"| : ''; + my $checked_cash = $::form->{method} eq 'cash' ? q|checked="checked"| : ''; + my $checked_monthly = $::form->{FA_voranmeld} eq 'month' ? "checked" : ''; + my $checked_quarterly = $::form->{FA_voranmeld} eq 'quarter' ? "checked" : ''; + my $checked_dauerfristverlaengerung = $::form->{FA_dauerfrist} eq '1' ? "checked" : ''; + my $checked_kz_71 = $::form->{FA_71} eq 'X' ? "checked" : ''; my $_hidden_variables_ref; my %_hidden_local_variables = ( - 'saved' => $locale->text('Check Details'), + 'saved' => $::locale->text('Check Details'), 'nextsub' => 'config_step2', 'warnung' => '0', ); @@ -1133,12 +955,12 @@ $form->{title} = $locale->text('Tax Office Preferences'); foreach my $variable (@_hidden_form_variables) { push @{ $_hidden_variables_ref}, - { 'variable' => $variable, 'value' => $form->{$variable} }; + { 'variable' => $variable, 'value' => $::form->{$variable} }; } # Which COA is in use? - $ustva->get_coa($form, \%myconfig); + $ustva->get_coa($::form, \%::myconfig); # hä? kann die weg? my $steuernummer_new = ''; @@ -1156,21 +978,21 @@ $form->{title} = $locale->text('Tax Office Preferences'); }; # Ausgabe des Templates - print($form->parse_html_template('ustva/config_step1', $template_ref)); + print($::form->parse_html_template('ustva/config_step1', $template_ref)); - $lxdebug->leave_sub(); + $::lxdebug->leave_sub(); } sub config_step2 { - $lxdebug->enter_sub(); + $::lxdebug->enter_sub(); - $auth->assert('advance_turnover_tax_return'); + my $form = $::form; + my $locale = $::locale; + my %myconfig = %::myconfig; - $form->header(); + $::auth->assert('advance_turnover_tax_return'); -# print qq| -# -# |; + $form->header(); my $elsterland = ''; my $elster_amt = ''; @@ -1178,7 +1000,7 @@ sub config_step2 { my $elstersteuernummer = ''; my $ustva = USTVA->new(); - $ustva->get_config($userspath, 'finanzamt.ini') + $ustva->get_config($::lx_office_conf{paths}{userspath}, 'finanzamt.ini') if ($form->{saved} eq $locale->text('saved')); # Auf Übergabefehler checken @@ -1213,11 +1035,7 @@ sub config_step2 { create_steuernummer(); # rebuild elster_amt - my $amt = ''; - foreach $amt (keys %{ $elster_init{ $form->{elsterland} } }) { - $elster_amt = $amt - if ($elster_init{ $form->{elsterland}{$amt} eq $form->{elsterFFFF} }); - } + my $amt = $elster_init{$elsterFFFF}; # load the predefined hash data into the FA_* Vars my @variables = qw(FA_Name FA_Strasse FA_PLZ FA_Ort @@ -1243,7 +1061,7 @@ sub config_step2 { my $patterncount = $form->{patterncount}; my $elster_pattern = $form->{elster_pattern}; my $delimiter = $form->{delimiter}; - my $steuernummer = $form->{steuernummer} if ($steuernummer eq ''); + my $steuernummer = $stnr eq '' ? $form->{steuernummer} : ''; $form->{FA_Oeffnungszeiten} =~ s/\\\\n/\n/g; @@ -1256,7 +1074,7 @@ sub config_step2 { $form->{steuernummer} ); - $lxdebug->message(LXDebug::DEBUG1, qq|$input_steuernummer|); + $::lxdebug->message(LXDebug->DEBUG1, qq|$input_steuernummer|); my $_hidden_variables_ref; @@ -1264,7 +1082,7 @@ sub config_step2 { my %_hidden_local_variables = ( 'elsterland' => $elsterland, 'elsterFFFF' => $elsterFFFF, - 'warnung' => $warnung, + 'warnung' => 0, 'elstersteuernummer' => $elstersteuernummer, 'steuernummer' => $stnr, 'lastsub' => 'config_step1', @@ -1293,10 +1111,9 @@ sub config_step2 { } my $template_ref = { - tax_office_data => $tax_office_data, input_steuernummer => $input_steuernummer, readonly => '', #q|disabled="disabled"|, - callback => $callback, + callback => $form->{callback}, hidden_variables => $_hidden_variables_ref, }; @@ -1304,18 +1121,18 @@ sub config_step2 { print($form->parse_html_template('ustva/config_step2', $template_ref)); - $lxdebug->leave_sub(); + $::lxdebug->leave_sub(); } sub create_steuernummer { - $lxdebug->enter_sub(); + $::lxdebug->enter_sub(); - $auth->assert('advance_turnover_tax_return'); + $::auth->assert('advance_turnover_tax_return'); - my $part = $form->{part}; - my $patterncount = $form->{patterncount}; - my $delimiter = $form->{delimiter}; - my $elster_pattern = $form->{elster_pattern}; + my $part = $::form->{part}; + my $patterncount = $::form->{patterncount}; + my $delimiter = $::form->{delimiter}; + my $elster_pattern = $::form->{elster_pattern}; # rebuild steuernummer and elstersteuernummer # es gibt eine gespeicherte steuernummer $form->{steuernummer} @@ -1325,33 +1142,33 @@ sub create_steuernummer { my $i = 0; my $steuernummer_new = $part; - my $elstersteuernummer_new = $form->{elster_FFFF}; + my $elstersteuernummer_new = $::form->{elster_FFFF}; $elstersteuernummer_new .= '0'; for ($h = 1; $h < $patterncount; $h++) { $steuernummer_new .= qq|$delimiter|; for (my $i = 1; $i <= length($elster_pattern); $i++) { - $steuernummer_new .= $form->{"part_$h\_$i"}; - $elstersteuernummer_new .= $form->{"part_$h\_$i"}; + $steuernummer_new .= $::form->{"part_$h\_$i"}; + $elstersteuernummer_new .= $::form->{"part_$h\_$i"}; } } - if ($form->{steuernummer} ne $steuernummer_new) { - $form->{steuernummer} = $steuernummer_new; - $form->{elstersteuernummer} = $elstersteuernummer_new; - $form->{steuernummer_new} = $steuernummer_new; + if ($::form->{steuernummer} ne $steuernummer_new) { + $::form->{steuernummer} = $steuernummer_new; + $::form->{elstersteuernummer} = $elstersteuernummer_new; + $::form->{steuernummer_new} = $steuernummer_new; } else { - $form->{steuernummer_new} = ''; - $form->{elstersteuernummer_new} = ''; + $::form->{steuernummer_new} = ''; + $::form->{elstersteuernummer_new} = ''; } - $lxdebug->leave_sub(); + $::lxdebug->leave_sub(); } sub save { - $lxdebug->enter_sub(); + $::lxdebug->enter_sub(); - $auth->assert('advance_turnover_tax_return'); + $::auth->assert('advance_turnover_tax_return'); - my $filename = "$form->{login}_$form->{filename}"; + my $filename = "$::form->{login}_$::form->{filename}"; $filename =~ s|.*/||; #zuerst die steuernummer aus den part, parts_X_Y und delimiter herstellen @@ -1359,11 +1176,11 @@ sub save { # Textboxen formatieren: Linebreaks entfernen # - $form->{FA_Oeffnungszeiten} =~ s/\r\n/\\n/g; + $::form->{FA_Oeffnungszeiten} =~ s/\r\n/\\n/g; #URL mit http:// davor? - $form->{FA_Internet} =~ s/^http:\/\///; - $form->{FA_Internet} = 'http://' . $form->{FA_Internet}; + $::form->{FA_Internet} =~ s/^http:\/\///; + $::form->{FA_Internet} = 'http://' . $::form->{FA_Internet}; my @config = qw( elster elsterland elstersteuernummer steuernummer @@ -1377,55 +1194,52 @@ sub save { FA_71 FA_dauerfrist); # Hier kommt dann die Plausibilitätsprüfung der ELSTERSteuernummer - if ($form->{elstersteuernummer} ne '000000000') { + if ($::form->{elstersteuernummer} ne '000000000') { - $form->{elster} = '1'; + $::form->{elster} = '1'; - open my $ustvaconfig, ">", "$userspath/$filename" or $form->error("$filename : $!"); + open my $ustvaconfig, ">", "$::lx_office_conf{paths}{userspath}/$filename" or $::form->error("$filename : $!"); # create the config file print {$ustvaconfig} qq|# Configuration file for USTVA\n\n|; my $key = ''; foreach $key (sort @config) { - $form->{$key} =~ s/\\/\\\\/g; + $::form->{$key} =~ s/\\/\\\\/g; # strip M - $form->{$key} =~ s/\r\n/\n/g; + $::form->{$key} =~ s/\r\n/\n/g; print {$ustvaconfig} qq|$key=|; - if ($form->{$key} ne 'Y') { - print {$ustvaconfig} qq|$form->{$key}\n|; + if ($::form->{$key} ne 'Y') { + print {$ustvaconfig} qq|$::form->{$key}\n|; } - if ($form->{$key} eq 'Y') { + if ($::form->{$key} eq 'Y') { print {$ustvaconfig} qq|checked \n|; } } print {$ustvaconfig} qq|\n\n|; close $ustvaconfig; - $form->{saved} = $locale->text('saved'); + $::form->{saved} = $::locale->text('saved'); } else { - $form->{saved} = $locale->text('Choose a Tax Number'); + $::form->{saved} = $::locale->text('Choose a Tax Number'); } config_step2(); - $lxdebug->leave_sub(); + $::lxdebug->leave_sub(); } sub continue { - $lxdebug->enter_sub(); + $::lxdebug->enter_sub(); # allow Symbolic references just here: - no strict 'refs'; - call_sub($form->{"nextsub"}); - use strict 'refs'; - $lxdebug->leave_sub(); + call_sub($::form->{"nextsub"}); + $::lxdebug->leave_sub(); } sub back { - $lxdebug->enter_sub(); - call_sub($form->{"lastsub"}); - $lxdebug->leave_sub(); + $::lxdebug->enter_sub(); + call_sub($::form->{"lastsub"}); + $::lxdebug->leave_sub(); } -