X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=sql%2FPg-upgrade2%2Fremove_double_tax_entries_skr04.pl;fp=sql%2FPg-upgrade2%2Fremove_double_tax_entries_skr04.pl;h=37d35d6d04f77fe81a10cb5db2c33998feae126d;hb=53593baa211863fbf66540cf1bcc36c8fb37257f;hp=0000000000000000000000000000000000000000;hpb=deb4d2dbb676d7d6f69dfe7815d6e0cb09bd4a44;p=kivitendo-erp.git diff --git a/sql/Pg-upgrade2/remove_double_tax_entries_skr04.pl b/sql/Pg-upgrade2/remove_double_tax_entries_skr04.pl new file mode 100644 index 000000000..37d35d6d0 --- /dev/null +++ b/sql/Pg-upgrade2/remove_double_tax_entries_skr04.pl @@ -0,0 +1,59 @@ +# @tag: remove_double_tax_entries_skr04 +# @description: doppelte Steuer-Einträge und alte 16% Konten für SKR04 entfernen, wenn unbebucht +# @depends: release_3_5_5 +package SL::DBUpgrade2::remove_double_tax_entries_skr04; + +use strict; +use utf8; + +use parent qw(SL::DBUpgrade2::Base); + +use SL::DBUtils; + +sub run { + my ($self) = @_; + + if (!$self->check_coa('Germany-DATEV-SKR04EU')) { + return 1; + } + + my $query = < '3806', taxkey => 3, rate => 0.19}, + {accno => '1406', taxkey => 9, rate => 0.19}, + {accno => '3805', taxkey => 5, rate => 0.16}, + {accno => '1405', taxkey => 7, rate => 0.16}, + + ); + + foreach my $tax_to_test (@taxes_to_test) { + my @entries = selectall_hashref_query($::form, $self->dbh, $query, ($tax_to_test->{accno}, $tax_to_test->{taxkey}, $tax_to_test->{rate})); + + if (scalar @entries > 1) { + foreach my $tax (@entries) { + my ($num_acc_trans_entries) = $self->dbh->selectrow_array("SELECT COUNT(*) FROM acc_trans WHERE tax_id = ?", undef, $tax->{id}); + next if $num_acc_trans_entries > 0; + + $self->db_query($query2, bind => [ $tax->{id} ]); + $self->db_query($query3, bind => [ $tax->{id} ]); + + last; # delete only one tax + } + } + } + + return 1; +} + +1;