X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FUSTVA.pm;h=6daa0130118c8b055a04d66e6c345c490a2f59e9;hb=3270e88361efc8ceff21314b489732229f0f98f7;hp=84cc17dc39efec49b70e7bb5f66f14026f49a0b6;hpb=76c486e3bf157e844b0cf11828d55dae2cb7e439;p=kivitendo-erp.git diff --git a/SL/USTVA.pm b/SL/USTVA.pm index 84cc17dc3..6daa01301 100644 --- a/SL/USTVA.pm +++ b/SL/USTVA.pm @@ -1,5 +1,5 @@ #===================================================================== -# Lx-Office ERP +# kivitendo ERP # Copyright (c) 2004 by Udo Spallek, Aachen # # Author: Udo Spallek @@ -29,25 +29,26 @@ use List::Util qw(first); use SL::DBUtils; +use utf8; use strict; my @tax_office_information = ( - { 'id' => 8, 'name' => 'Baden Württemberg', 'taxbird_nr' => '0', 'elster_format' => 'FF/BBB/UUUUP', }, + { 'id' => 8, 'name' => 'Baden-Württemberg', 'taxbird_nr' => '0', 'elster_format' => 'FF/BBB/UUUUP', }, { 'id' => 9, 'name' => 'Bayern', 'taxbird_nr' => '1', 'elster_format' => 'FFF/BBB/UUUUP', }, { 'id' => 11, 'name' => 'Berlin', 'taxbird_nr' => '2', 'elster_format' => 'FF/BBB/UUUUP', }, { 'id' => 12, 'name' => 'Brandenburg', 'taxbird_nr' => '3', 'elster_format' => 'FFF/BBB/UUUUP', }, { 'id' => 4, 'name' => 'Bremen', 'taxbird_nr' => '4', 'elster_format' => 'FF BBB UUUUP', }, { 'id' => 2, 'name' => 'Hamburg', 'taxbird_nr' => '5', 'elster_format' => 'FF/BBB/UUUUP', }, { 'id' => 6, 'name' => 'Hessen', 'taxbird_nr' => '6', 'elster_format' => '0FF BBB UUUUP', }, - { 'id' => 13, 'name' => 'Mecklenburg Vorpommern', 'taxbird_nr' => '7', 'elster_format' => 'FFF/BBB/UUUUP', }, + { 'id' => 13, 'name' => 'Mecklenburg-Vorpommern', 'taxbird_nr' => '7', 'elster_format' => 'FFF/BBB/UUUUP', }, { 'id' => 3, 'name' => 'Niedersachsen', 'taxbird_nr' => '8', 'elster_format' => 'FF/BBB/UUUUP', }, - { 'id' => 5, 'name' => 'Nordrhein Westfalen', 'taxbird_nr' => '9', 'elster_format' => 'FFF/BBBB/UUUP', }, - { 'id' => 7, 'name' => 'Rheinland Pfalz', 'taxbird_nr' => '10', 'elster_format' => 'FF/BBB/UUUU/P', }, + { 'id' => 5, 'name' => 'Nordrhein-Westfalen', 'taxbird_nr' => '9', 'elster_format' => 'FFF/BBBB/UUUP', }, + { 'id' => 7, 'name' => 'Rheinland-Pfalz', 'taxbird_nr' => '10', 'elster_format' => 'FF/BBB/UUUU/P', }, { 'id' => 10, 'name' => 'Saarland', 'taxbird_nr' => '11', 'elster_format' => 'FFF/BBB/UUUUP', }, { 'id' => 14, 'name' => 'Sachsen', 'taxbird_nr' => '12', 'elster_format' => 'FFF/BBB/UUUUP', }, - { 'id' => 15, 'name' => 'Sachsen Anhalt', 'taxbird_nr' => '13', 'elster_format' => 'FFF/BBB/UUUUP', }, - { 'id' => 1, 'name' => 'Schleswig Holstein', 'taxbird_nr' => '14', 'elster_format' => 'FF BBB UUUUP', }, - { 'id' => 16, 'name' => 'Thüringen', 'taxbird_nr' => '15', 'elster_format' => 'FFF/BBB/UUUUP', }, + { 'id' => 15, 'name' => 'Sachsen-Anhalt', 'taxbird_nr' => '13', 'elster_format' => 'FFF/BBB/UUUUP', }, + { 'id' => 1, 'name' => 'Schleswig-Holstein', 'taxbird_nr' => '14', 'elster_format' => 'FF BBB UUUUP', }, + { 'id' => 16, 'name' => 'Thüringen', 'taxbird_nr' => '15', 'elster_format' => 'FFF/BBB/UUUUP', }, ); sub new { @@ -69,7 +70,7 @@ sub _init { foreach (@tax_office_information) { my $entry = \%{ $_ }; - $entry->{name} = $main::locale->{iconv_iso8859}->convert($entry->{name}); + $entry->{name} = $::locale->{iconv_utf8}->convert($entry->{name}); push @{ $self->{tax_office_information} }, $entry; } } @@ -112,8 +113,8 @@ sub report_variables { my $attribute = $arg_ref->{attribute}; # my $dec_places = (defined $arg_ref->{dec_places}) ? $arg_ref->{dec_places}:undef; - my $where_type = "AND tax.report_headings.type = '$type'" if ( $type ); - my $where_dcp = "AND tax.report_variables.dec_places = '$dec_places'" if ( defined $dec_places ); + my $where_type = $type ? "AND tax.report_headings.type = '$type'" : ''; + my $where_dcp = defined $dec_places ? "AND tax.report_variables.dec_places = '$dec_places'" : ''; my $query = qq| SELECT $attribute @@ -282,9 +283,9 @@ sub fa_auswahl { # use SL::Form; - # Referenz wird übergeben, hash of hash wird nicht - # in neues Hash kopiert, sondern direkt über die Referenz verändert - # Prototyp für diese Konstruktion + # Referenz wird übergeben, hash of hash wird nicht + # in neues Hash kopiert, sondern direkt über die Referenz verändert + # Prototyp für diese Konstruktion my ($self, $land, $elsterFFFF, $elster_init) = @_; @@ -302,7 +303,7 @@ sub fa_auswahl { var elsterBLAuswahl = document.verzeichnis.elsterland_new; var elsterFAAuswahl = document.verzeichnis.elsterFFFF_new; - elsterFAAuswahl.options.length = 0; // dropdown aufräumen + elsterFAAuswahl.options.length = 0; // dropdown aufräumen |; foreach my $elster_land (sort keys %$elster_init) { @@ -412,7 +413,7 @@ sub info { |; - exit; + ::end_of_request(); } else { @@ -427,8 +428,8 @@ sub stichtag { $main::lxdebug->enter_sub(); # noch nicht fertig - # soll mal eine Erinnerungsfunktion für USTVA Abgaben werden, die automatisch - # den Termin der nächsten USTVA anzeigt. + # soll mal eine Erinnerungsfunktion für USTVA Abgaben werden, die automatisch + # den Termin der nächsten USTVA anzeigt. # # my ($today, $FA_dauerfrist, $FA_voranmeld) = @_; @@ -497,9 +498,9 @@ sub stichtag { #$stichtag =~ /([\d]\d)(\d\d)$/ #$stichtag = "$1.$2.$yy" #$stichtag=$1; - our $description; # most probably not existant. - our $tage_bis; # most probably not existant. - our $ical; # most probably not existant. + our $description; # most probably not existent. + our $tage_bis; # most probably not existent. + our $ical; # most probably not existent. $main::lxdebug->leave_sub(); return ($stichtag, $description, $tage_bis, $ical); @@ -517,18 +518,16 @@ sub query_finanzamt { my $filename = "sql/$table.sql"; my $tst = $dbh->prepare("SELECT * FROM $table"); - $tst->execute; - if ($DBI::err) { - + $tst->execute || do { #There is no table, read the table from sql/finanzamt.sql print qq|

Bitte warten, Tabelle $table wird einmalig in Datenbank: - $myconfig->{dbname} als Benutzer: $myconfig->{dbuser} hinzugefügt...

|; + $myconfig->{dbname} als Benutzer: $myconfig->{dbuser} hinzugefügt...

|; process_query($form, $dbh, $filename) || $self->error(DBI->errstr); #execute second last call my $dbh = $form->dbconnect($myconfig) or $self->error(DBI->errstr); $dbh->disconnect(); - } + }; $tst->finish(); #$dbh->disconnect(); @@ -536,7 +535,7 @@ sub query_finanzamt { my @vars = ( 'FA_Land_Nr', # 0 'FA_BUFA_Nr', # 1 - #'FA_Verteiler', # 2 + #'FA_Verteiler', # 2 'FA_Name', # 3 'FA_Strasse', # 4 'FA_PLZ', # 5 @@ -549,20 +548,20 @@ sub query_finanzamt { 'FA_BLZ_1', # 12 'FA_Kontonummer_1', # 13 'FA_Bankbezeichnung_1', # 14 - #'FA_BankIBAN_1', # 15 - #'FA_BankBIC_1', # 16 - #'FA_BankInhaber_BUFA_Nr_1', # 17 + #'FA_BankIBAN_1', # 15 + #'FA_BankBIC_1', # 16 + #'FA_BankInhaber_BUFA_Nr_1', # 17 'FA_BLZ_2', # 18 'FA_Kontonummer_2', # 19 'FA_Bankbezeichnung_2', # 20 - #'FA_BankIBAN_2', # 21 - #'FA_BankBIC_2', # 22 - #'FA_BankInhaber_BUFA_Nr_2', # 23 + #'FA_BankIBAN_2', # 21 + #'FA_BankBIC_2', # 22 + #'FA_BankInhaber_BUFA_Nr_2', # 23 'FA_Oeffnungszeiten', # 24 'FA_Email', # 25 'FA_Internet' # 26 - #'FA_zustaendige_Hauptstelle_BUFA_Nr', # 27 - #'FA_zustaendige_vorgesetzte_Finanzbehoerde' # 28 + #'FA_zustaendige_Hauptstelle_BUFA_Nr', # 27 + #'FA_zustaendige_vorgesetzte_Finanzbehoerde' # 28 ); my $field = join(', ', @vars); @@ -741,9 +740,9 @@ sub ustva { } - # Fixme: Wird auch noch für Oesterreich gebraucht, + # Fixme: Wird auch noch für Oesterreich gebraucht, # weil kein eigenes Ausgabeformular - # sotte aber aus der allgeméinen Steuerberechnung verschwinden + # sotte aber aus der allgeméinen Steuerberechnung verschwinden # # Berechnung der USTVA Formularfelder laut Bogen 207 # @@ -760,7 +759,7 @@ sub ustva { $form->{"Z45"} = $form->{"Z43"}; - $form->{"Z53"} = $form->{"Z45"} + $form->{"53"} + $form->{"74"} + $form->{"Z53"} = $form->{"Z45"} + $form->{"47"} + $form->{"53"} + $form->{"74"} + $form->{"85"} + $form->{"65"}; $form->{"Z62"} = $form->{"Z43"} - $form->{"66"} - $form->{"61"} @@ -807,7 +806,7 @@ sub get_accounts_ustva { my $arwhere = ""; my $item; - my $gltaxkey_where = "(tk.pos_ustva>=59 AND tk.pos_ustva<=66)"; + my $gltaxkey_where = "((tk.pos_ustva = 46) OR (tk.pos_ustva>=59 AND tk.pos_ustva<=66) or (tk.pos_ustva>=89 AND tk.pos_ustva<=93))"; if ($fromdate) { if ($form->{method} eq 'cash') { @@ -925,7 +924,7 @@ sub get_accounts_ustva { ######################################### # Ausgaben und Gl Buchungen sind gleich - # für Ist- und Soll-Versteuerung + # für Ist- und Soll-Versteuerung ######################################### $query .= qq| UNION -- alle Ausgaben AP erfassen