From: G. Richardson Date: Wed, 6 Aug 2014 10:32:23 +0000 (+0200) Subject: convert_taxzone - Fall keine Buchungsgruppen berücksichtigen X-Git-Tag: release-3.2.0beta~358^2~4 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=5cdcf572cfe983e66b14aefde3533614edefbb7e;p=kivitendo-erp.git convert_taxzone - Fall keine Buchungsgruppen berücksichtigen Für den Fall, daß in dem Mandanten gar keine Buchungsgruppen konfiguriert sind (z.B. bei einem frischen Schweizer Kontenrahmen), wird die Umwandlung der Buchungsgruppen übersprungen. --- diff --git a/sql/Pg-upgrade2/convert_taxzone.pl b/sql/Pg-upgrade2/convert_taxzone.pl index 413d772de..b1e1a0bb6 100644 --- a/sql/Pg-upgrade2/convert_taxzone.pl +++ b/sql/Pg-upgrade2/convert_taxzone.pl @@ -39,17 +39,21 @@ SQL } $sth->finish; - my $taxzone_charts_update_query; - foreach my $taxzone ( @{$::form->{taxzones}} ) { - foreach my $buchungsgruppe ( @{$::form->{buchungsgruppen}} ) { - my $id = $taxzone->{id}; - my $income_accno_id = $buchungsgruppe->{"income_accno_id_$id"}; - my $expense_accno_id = $buchungsgruppe->{"expense_accno_id_$id"}; - # TODO: check if the variables have a value - $taxzone_charts_update_query .= "INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('$taxzone->{id}', '$buchungsgruppe->{id}', $income_accno_id, $expense_accno_id);\n"; + # convert Buchungsgruppen to taxzone_charts if any exist + # the default swiss COA doesn't have any, for example + if ( scalar @{ $::form->{buchungsgruppen} } > 0 ) { + my $taxzone_charts_update_query; + foreach my $taxzone ( @{$::form->{taxzones}} ) { + foreach my $buchungsgruppe ( @{$::form->{buchungsgruppen}} ) { + my $id = $taxzone->{id}; + my $income_accno_id = $buchungsgruppe->{"income_accno_id_$id"}; + my $expense_accno_id = $buchungsgruppe->{"expense_accno_id_$id"}; + # TODO: check if the variables have a value + $taxzone_charts_update_query .= "INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('$taxzone->{id}', '$buchungsgruppe->{id}', $income_accno_id, $expense_accno_id);\n"; + }; }; + $self->db_query($taxzone_charts_update_query) if $taxzone_charts_update_query; }; - $self->db_query($taxzone_charts_update_query); my $clean_buchungsgruppen_query = <