Revision 2fdcbcbd
Von Martin Helmling martin.helmling@octosoft.eu vor mehr als 8 Jahren hinzugefügt
bin/mozilla/gl.pl | ||
---|---|---|
42 | 42 |
use SL::IS; |
43 | 43 |
use SL::PE; |
44 | 44 |
use SL::ReportGenerator; |
45 |
use SL::DBUtils qw(selectrow_query); |
|
45 |
use SL::DBUtils qw(selectrow_query selectall_hashref_query);
|
|
46 | 46 |
|
47 | 47 |
require "bin/mozilla/common.pl"; |
48 | 48 |
require "bin/mozilla/reportgenerator.pl"; |
... | ... | |
165 | 165 |
$form->{totalcredit} += $ref->{amount}; |
166 | 166 |
$form->{"credit_$i"} = $ref->{amount}; |
167 | 167 |
} |
168 |
$form->{"taxchart_$i"} = "0--0.00";
|
|
168 |
$form->{"taxchart_$i"} = $ref->{id}."--0.00000";
|
|
169 | 169 |
$form->{"project_id_$i"} = $ref->{project_id}; |
170 | 170 |
$i++; |
171 | 171 |
} |
... | ... | |
528 | 528 |
my $creditcount = 0; |
529 | 529 |
my ($debitcredit, $amount); |
530 | 530 |
|
531 |
my $dbh = $form->dbconnect_noauto(\%myconfig); |
|
532 |
my ($notax_id) = selectrow_query($form, $dbh, "SELECT id FROM tax WHERE taxkey = 0 LIMIT 1", ); |
|
533 |
my $zerotaxes = selectall_hashref_query($form, $dbh, "SELECT id FROM tax WHERE rate = 0", ); |
|
534 |
$dbh->disconnect; |
|
535 |
|
|
531 | 536 |
my @flds = |
532 | 537 |
qw(accno debit credit projectnumber fx_transaction source memo tax taxchart); |
533 | 538 |
|
... | ... | |
566 | 571 |
$form->{debitlock} = 1; |
567 | 572 |
} |
568 | 573 |
if ($debitcredit && $credittax) { |
569 |
$form->{"taxchart_$i"} = "0--0.00";
|
|
574 |
$form->{"taxchart_$i"} = "$notax_id--0.00";
|
|
570 | 575 |
} |
571 | 576 |
if (!$debitcredit && $debittax) { |
572 |
$form->{"taxchart_$i"} = "0--0.00";
|
|
577 |
$form->{"taxchart_$i"} = "$notax_id--0.00";
|
|
573 | 578 |
} |
574 | 579 |
$amount = |
575 | 580 |
($form->{"debit_$i"} == 0) |
... | ... | |
577 | 582 |
: $form->{"debit_$i"}; |
578 | 583 |
my $j = $#a; |
579 | 584 |
if (($debitcredit && $credittax) || (!$debitcredit && $debittax)) { |
580 |
$form->{"taxchart_$i"} = "0--0.00";
|
|
585 |
$form->{"taxchart_$i"} = "$notax_id--0.00";
|
|
581 | 586 |
$form->{"tax_$i"} = 0; |
582 | 587 |
} |
583 | 588 |
my ($taxkey, $rate) = split(/--/, $form->{"taxchart_$i"}); |
584 |
if ($taxkey > 1) { |
|
589 |
my $iswithouttax = grep { $_->{id} == $taxkey } @{ $zerotaxes }; |
|
590 |
if (!$iswithouttax) { |
|
585 | 591 |
if ($debitcredit) { |
586 | 592 |
$debittax = 1; |
587 | 593 |
} else { |
... | ... | |
994 | 1000 |
|
995 | 1001 |
my $dbh = $form->dbconnect_noauto(\%myconfig); |
996 | 1002 |
my ($notax_id) = selectrow_query($form, $dbh, "SELECT id FROM tax WHERE taxkey = 0 LIMIT 1", ); |
1003 |
my $zerotaxes = selectall_hashref_query($form, $dbh, "SELECT id FROM tax WHERE rate = 0", ); |
|
997 | 1004 |
$dbh->disconnect; |
998 | 1005 |
|
999 | 1006 |
my @flds = qw(accno debit credit projectnumber fx_transaction source memo tax taxchart); |
... | ... | |
1050 | 1057 |
$form->{"tax_$i"} = 0; |
1051 | 1058 |
} |
1052 | 1059 |
my ($taxkey, $rate) = split(/--/, $form->{"taxchart_$i"}); |
1053 |
if ($taxkey > 1) { |
|
1060 |
my $iswithouttax = grep { $_->{id} == $taxkey } @{ $zerotaxes }; |
|
1061 |
if (!$iswithouttax) { |
|
1054 | 1062 |
if ($debitcredit) { |
1055 | 1063 |
$debittax = 1; |
1056 | 1064 |
} else { |
Auch abrufbar als: Unified diff
BUG-Fix: FiBu/Dialogbuchungen: Steuerschlüssel nach Öffnen falsch
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%"