Nachdem eine Dialogbuchung mit dem Steuerschlüssel "USt-frei 0%" gebucht und geschlossen wurde,
wird nach dem öffnen derselben Buchung der Steuerschlüssel auf "Keine Steuer 0%" gesetzt.
Zum Einen wird hier nach den Schlüsseln gesucht, sondern 0 als Schlüssel angenommen.
Wie 2013 in Commit
0f8092f8 begonnen, ist die tax_id nicht zwingend 0.
Ebenso mus die txa_id für "USt-frei 0%" berücksichtigt werden sowie auch die EU.
Also nur dort berechnen wo Rate != 0 , derzeit bei taxkey 0,1,10 und 11
Zudem war bei der Vorauswahl der Steuer, die steuerfreien Namen nur mit zwei statt 5 Stellen hinter dem Komma,
d.h. es wurde keine Steuer vorselektiert, also dann der erste Eintrag "Keine Steuer 0%"
use SL::IS;
use SL::PE;
use SL::ReportGenerator;
use SL::IS;
use SL::PE;
use SL::ReportGenerator;
-use SL::DBUtils qw(selectrow_query);
+use SL::DBUtils qw(selectrow_query selectall_hashref_query);
require "bin/mozilla/common.pl";
require "bin/mozilla/reportgenerator.pl";
require "bin/mozilla/common.pl";
require "bin/mozilla/reportgenerator.pl";
$form->{totalcredit} += $ref->{amount};
$form->{"credit_$i"} = $ref->{amount};
}
$form->{totalcredit} += $ref->{amount};
$form->{"credit_$i"} = $ref->{amount};
}
- $form->{"taxchart_$i"} = "0--0.00";
+ $form->{"taxchart_$i"} = $ref->{id}."--0.00000";
$form->{"project_id_$i"} = $ref->{project_id};
$i++;
}
$form->{"project_id_$i"} = $ref->{project_id};
$i++;
}
my $creditcount = 0;
my ($debitcredit, $amount);
my $creditcount = 0;
my ($debitcredit, $amount);
+ my $dbh = $form->dbconnect_noauto(\%myconfig);
+ my ($notax_id) = selectrow_query($form, $dbh, "SELECT id FROM tax WHERE taxkey = 0 LIMIT 1", );
+ my $zerotaxes = selectall_hashref_query($form, $dbh, "SELECT id FROM tax WHERE rate = 0", );
+ $dbh->disconnect;
+
my @flds =
qw(accno debit credit projectnumber fx_transaction source memo tax taxchart);
my @flds =
qw(accno debit credit projectnumber fx_transaction source memo tax taxchart);
$form->{debitlock} = 1;
}
if ($debitcredit && $credittax) {
$form->{debitlock} = 1;
}
if ($debitcredit && $credittax) {
- $form->{"taxchart_$i"} = "0--0.00";
+ $form->{"taxchart_$i"} = "$notax_id--0.00";
}
if (!$debitcredit && $debittax) {
}
if (!$debitcredit && $debittax) {
- $form->{"taxchart_$i"} = "0--0.00";
+ $form->{"taxchart_$i"} = "$notax_id--0.00";
}
$amount =
($form->{"debit_$i"} == 0)
}
$amount =
($form->{"debit_$i"} == 0)
: $form->{"debit_$i"};
my $j = $#a;
if (($debitcredit && $credittax) || (!$debitcredit && $debittax)) {
: $form->{"debit_$i"};
my $j = $#a;
if (($debitcredit && $credittax) || (!$debitcredit && $debittax)) {
- $form->{"taxchart_$i"} = "0--0.00";
+ $form->{"taxchart_$i"} = "$notax_id--0.00";
$form->{"tax_$i"} = 0;
}
my ($taxkey, $rate) = split(/--/, $form->{"taxchart_$i"});
$form->{"tax_$i"} = 0;
}
my ($taxkey, $rate) = split(/--/, $form->{"taxchart_$i"});
+ my $iswithouttax = grep { $_->{id} == $taxkey } @{ $zerotaxes };
+ if (!$iswithouttax) {
if ($debitcredit) {
$debittax = 1;
} else {
if ($debitcredit) {
$debittax = 1;
} else {
my $dbh = $form->dbconnect_noauto(\%myconfig);
my ($notax_id) = selectrow_query($form, $dbh, "SELECT id FROM tax WHERE taxkey = 0 LIMIT 1", );
my $dbh = $form->dbconnect_noauto(\%myconfig);
my ($notax_id) = selectrow_query($form, $dbh, "SELECT id FROM tax WHERE taxkey = 0 LIMIT 1", );
+ my $zerotaxes = selectall_hashref_query($form, $dbh, "SELECT id FROM tax WHERE rate = 0", );
$dbh->disconnect;
my @flds = qw(accno debit credit projectnumber fx_transaction source memo tax taxchart);
$dbh->disconnect;
my @flds = qw(accno debit credit projectnumber fx_transaction source memo tax taxchart);
$form->{"tax_$i"} = 0;
}
my ($taxkey, $rate) = split(/--/, $form->{"taxchart_$i"});
$form->{"tax_$i"} = 0;
}
my ($taxkey, $rate) = split(/--/, $form->{"taxchart_$i"});
+ my $iswithouttax = grep { $_->{id} == $taxkey } @{ $zerotaxes };
+ if (!$iswithouttax) {
if ($debitcredit) {
$debittax = 1;
} else {
if ($debitcredit) {
$debittax = 1;
} else {