Revision 6e603868
Von Kivitendo Admin vor mehr als 10 Jahren hinzugefügt
SL/Controller/Buchungsgruppen.pm | ||
---|---|---|
25 | 25 |
my ($self) = @_; |
26 | 26 |
|
27 | 27 |
my $buchungsgruppen = SL::DB::Manager::Buchungsgruppe->get_all_sorted(); |
28 |
my $taxzones = SL::DB::Manager::TaxZone->get_all_sorted(); |
|
28 |
my $taxzones = SL::DB::Manager::TaxZone->get_all_sorted(query => [ obsolete => 0 ]);
|
|
29 | 29 |
|
30 | 30 |
my %chartlist = (); |
31 | 31 |
foreach my $gruppe (@{ $buchungsgruppen }) { |
... | ... | |
59 | 59 |
sub action_edit { |
60 | 60 |
my ($self) = @_; |
61 | 61 |
|
62 |
# check whether buchungsgruppe is assigned to any parts |
|
63 |
my $number_of_parts_with_buchungsgruppe = SL::DB::Manager::Part->get_objects_count(where => [ buchungsgruppen_id => $self->config->id]); |
|
64 |
|
|
62 | 65 |
$self->show_form(title => t8('Edit Buchungsgruppe'), |
66 |
linked_parts => $number_of_parts_with_buchungsgruppe, |
|
63 | 67 |
CHARTLIST => SL::DB::TaxzoneChart->get_all_accounts_by_buchungsgruppen_id($self->config->id)); |
64 | 68 |
} |
65 | 69 |
|
... | ... | |
120 | 124 |
|
121 | 125 |
$self->config->save; |
122 | 126 |
|
123 |
#Save taxzone_charts: |
|
124 |
if ($is_new) { |
|
127 |
# check whether there are any assigned parts |
|
128 |
my $number_of_parts_with_buchungsgruppe = SL::DB::Manager::Part->get_objects_count(where => [ buchungsgruppen_id => $self->config->id]); |
|
129 |
|
|
130 |
# Save or update taxzone_charts: |
|
131 |
if ($is_new or $number_of_parts_with_buchungsgruppe == 0) { |
|
125 | 132 |
my $taxzones = SL::DB::Manager::TaxZone->get_all_sorted(); |
126 | 133 |
|
127 | 134 |
foreach my $tz (@{ $taxzones }) { |
Auch abrufbar als: Unified diff
Steuerzonen ungültig machen
jede Steuerzone kann man unter "System->Steuerzonen->auf Steuerzone klicken"
individuell auf ungültig (obsolete) setzen.
ungültig heißt:
Belegen (Angebot-Rechnung)
Bei alten Belegen, die erneut geöffnet werden, ist leider das Verhalten unterschiedlich:
disabled und es wird nur die ausgewählte Steuerzone angezeigt -> funktioniert
angezeigt werden, da man die Steuerzone auch im Nachhinein ändern kann, aber
auch alle alten Belege mit mittlerweile ungültigen Steuerzonen korrekt
angezeigt werden müssen. Man kann also nicht einfach nach id fragen und
entsprechend nach ungültig filtern.
Bucht man also einen Auftrag mit einer bestimmten Steuerzone, setzt die
Steuerzone auf ungültig, und generiert dann aus dem Auftrag z.B. eine Rechnung,
würde die Steuerzone aus dem Auftrag nicht übernommen werden, sondern die erste
Steuerzone aus der Liste standardmäßig ausgewählt sein.