Revision 809d6481
Von Niclas Zimmermann vor mehr als 11 Jahren hinzugefügt
locale/de/all | ||
---|---|---|
931 | 931 |
'Fristsetzung' => 'Fristsetzung', |
932 | 932 |
'From' => 'Von', |
933 | 933 |
'From Date' => 'Von', |
934 |
'From this version on a new feature is available.' => 'Ab dieser Version ist ein neues Feature verfügbar.', |
|
934 | 935 |
'From this version on the partnumber of services, articles and assemblies have to be unique.' => 'Ab dieser Version müssen Artikelnummern eindeutig vergeben werden.', |
935 | 936 |
'From this version on the taxkey 0 must have a tax rate of 0 (for DATEV compatibility).' => 'Ab dieser Version muss der Steuerschlüssel 0 einen Steuersatz von 0% haben (auf Grund der DATEV-Kompatibilität).', |
936 | 937 |
'Full Access' => 'Vollzugriff', |
... | ... | |
996 | 997 |
'If the database user listed above does not have the right to create a database then enter the name and password of the superuser below:' => 'Falls der oben genannte Datenbankbenutzer nicht die Berechtigung zum Anlegen neuer Datenbanken hat, so können Sie hier den Namen und das Passwort des Datenbankadministratoraccounts angeben:', |
997 | 998 |
'If you chose to let kivitendo do the migration then kivitendo will also remove the old member file after creating a backup copy of it in the directory "#1".' => 'Falls Sie sich entscheiden, kivitendo die Migration durchführen zu lassen, so wird kivitendo ein Backup der alten Dateien im Verzeichnis "#1" erstellen und die Dateien anschließend löschen.', |
998 | 999 |
'If you enter values for the part number and / or part description then only those bins containing parts whose part number or part description match your input will be shown.' => 'Wenn Sie für die Artikelnummer und / oder die Beschreibung etwas eingeben, so werden nur die Lagerplätze angezeigt, in denen Waren eingelagert sind, die Ihre Suchbegriffe enthalten.', |
1000 |
'If you have not chosen for example the category revenue for a tax and you choose an revenue account to create a transfer in the general ledger, this tax will not be displayed in the tax dropdown.' => 'Wenn Sie z.B. die Kategory Erlös für eine Steuer nicht gewählt haben und ein Erlöskonto beim Erstellen einer Dialogbuchung wählen, wird diese Steuer auch nicht im Dropdown-Menü für die Steuern angezeigt.', |
|
999 | 1001 |
'If you see this message, you most likely just setup your LX-Office and haven\'t added any entry types. If this is the case, the option is accessible for administrators in the System menu.' => 'Wenn Sie diese Meldung sehen haben Sie wahrscheinlich ein frisches LX-Office Setup und noch keine Buchungsgruppen eingerichtet. Ein Administrator kann dies im Systemmenü erledigen.', |
1000 | 1002 |
'If you select a base unit then you also have to enter a factor.' => 'Wenn Sie eine Basiseinheit auswählen, dann müssen Sie auch einen Faktor eingeben.', |
1001 | 1003 |
'If you want to change any of these parameters then press the "Back" button, edit the file "config/kivitendo.conf" and login into the admin module again.' => 'Wenn Sie einen der Parameter ändern wollen, so drücken Sie auf den "Zurück"-Button, bearbeiten Sie die Datei "config/kivitendo.conf", und melden Sie sich erneut im Administrationsbereich an.', |
... | ... | |
1253 | 1255 |
'New bank account' => 'Neues Bankkonto', |
1254 | 1256 |
'New contact' => 'Neue Ansprechperson', |
1255 | 1257 |
'New customer' => 'Neuer Kunde', |
1258 |
'New filter for tax accounts' => 'Neue Filter für Steuerkonten', |
|
1256 | 1259 |
'New invoice' => 'Neue Rechnung', |
1257 | 1260 |
'New part' => 'Neue Ware', |
1258 | 1261 |
'New sales order' => 'Neuer Auftrag', |
... | ... | |
1446 | 1449 |
'Please Check the bank information for each vendor:' => 'Bitte überprüfen Sie die Kontoinformationen der Lieferanten:', |
1447 | 1450 |
'Please ask your administrator to create warehouses and bins.' => 'Bitten Sie Ihren Administrator, dass er Lager und Lagerplätze anlegt.', |
1448 | 1451 |
'Please change the partnumber of the following parts and run the update again:' => 'Bitte ändern Sie daher die Artikelnumer folgender Artikel:', |
1452 |
'Please choose for which categories the taxes should be displayed:' => 'Bitte wählen Sie für welche Kontoarten die Steuer angezeigt werden soll:', |
|
1449 | 1453 |
'Please contact your administrator or a service provider.' => 'Bitte kontaktieren Sie Ihren Administrator oder einen Dienstleister.', |
1450 | 1454 |
'Please contact your administrator.' => 'Bitte wenden Sie sich an Ihren Administrator.', |
1451 | 1455 |
'Please define a taxkey for the following taxes and run the update again:' => 'Bitte definieren Sie einen Steuerschlüssel für die folgenden Steuern und starten Sie dann das Update erneut:', |
... | ... | |
1886 | 1890 |
'Tax deleted!' => 'Steuer gelöscht!', |
1887 | 1891 |
'Tax number' => 'Steuernummer', |
1888 | 1892 |
'Tax paid' => 'Vorsteuer', |
1893 |
'Tax rate' => 'Steuersatz', |
|
1889 | 1894 |
'Tax saved!' => 'Steuer gespeichert!', |
1890 | 1895 |
'Tax-O-Matic' => 'Steuer', |
1891 | 1896 |
'Tax-o-matic Account' => 'Automatikbuchung auf Konto', |
... | ... | |
2123 | 2128 |
'This corresponds to kivitendo\'s behavior prior to version 2.4.4.' => 'Dies entspricht kivitendos Verhalten vor Version 2.4.4.', |
2124 | 2129 |
'This could have happened for two reasons:' => 'Dies kann aus zwei Gründen geschehen sein:', |
2125 | 2130 |
'This customer number is already in use.' => 'Diese Kundennummer wird bereits verwendet.', |
2131 |
'This feature especially prevents mistakes by mixing up prior tax and sales tax.' => 'Dieses Feature vermeidet insbesondere Verwechslungen von Umsatz- und Vorsteuer.', |
|
2126 | 2132 |
'This group will be called "Full Access".' => 'Diese Gruppe wird "Vollzugriff" genannt.', |
2127 | 2133 |
'This installation uses an unknown chart of accounts ("#1"). This database upgrade cannot create standard buchungsgruppen automatically.' => 'Diese Installation benutzt einen unbekannten Kontenrahmen ("#1"). Dieses Datenbankupgrade kann die Standardbuchungsgruppen nicht automatisch anlegen.', |
2128 | 2134 |
'This is a preliminary check for existing sources. Nothing will be created or deleted at this stage!' => 'In diesem Schritt werden bestehende Datenbanken gesucht. Es werden noch keine Änderungen vorgenommen!', |
... | ... | |
2320 | 2326 |
'You are logged out!' => 'Auf Wiedersehen!', |
2321 | 2327 |
'You can also create new units now.' => 'Sie können jetzt auch neue Einheiten anlegen.', |
2322 | 2328 |
'You can also delete this transaction and re-enter it manually.' => 'Alternativ können Sie die Buchung auch mit löschen lassen und sie anschließend neu eingeben.', |
2329 |
'You can choose account categories for taxes. Depending on these categories taxes will be displayed for transfers in the general ledger or not.' => 'Sie können Kontoarten für Steuern auswählen. Abhängig von diesen Kontoarten werden dann Steuern bei Dialogbuchungen angezeigt oder nicht.', |
|
2323 | 2330 |
'You can correct this transaction by chosing the correct taxkeys from the drop down boxes and hitting the button "Fix transaction" afterwards.' => 'Sie haben die Möglichkeit, die Buchung zu korrigieren, indem Sie in den Drop-Down-Boxen die richtigen Steuerschlüssel auswählen und anschließend auf den Button "Buchung korrigieren" drücken.', |
2324 | 2331 |
'You can create a missing dataset by going back and chosing "Create Dataset".' => 'Sie können eine fehlende Datenbank erstellen, indem Sie jetzt zuück gehen und den Punkt "Neue Datenbank anlegen" wählen.', |
2325 | 2332 |
'You can create warehouses and bins via the menu "System -> Warehouses".' => 'Sie können Lager und Lagerplätze über das Menü "System -> Lager" anlegen.', |
sql/Pg-upgrade2/steuerfilterung.pl | ||
---|---|---|
1 |
# @tag: steuerfilterung |
|
2 |
# @description: Steuern in Dialogbuchungen filtern. |
|
3 |
# @depends: release_3_0_0 |
|
4 |
package SL::DBUpgrade2::steuerfilterung; |
|
5 |
|
|
6 |
use strict; |
|
7 |
use utf8; |
|
8 |
|
|
9 |
use parent qw(SL::DBUpgrade2::Base); |
|
10 |
|
|
11 |
sub run { |
|
12 |
my ($self) = @_; |
|
13 |
|
|
14 |
if ( $::form->{'continued'} ) { |
|
15 |
my $update_query = qq|ALTER TABLE tax ADD chart_categories TEXT|; |
|
16 |
$self->db_query($update_query); |
|
17 |
my $categories; |
|
18 |
my $tax_id; |
|
19 |
foreach my $i (1 .. $::form->{rowcount}) { |
|
20 |
$tax_id = $::form->{"tax_id_$i"}; |
|
21 |
$categories = ''; |
|
22 |
$categories .= 'A' if $::form->{"asset_$i"}; |
|
23 |
$categories .= 'L' if $::form->{"liability_$i"}; |
|
24 |
$categories .= 'Q' if $::form->{"equity_$i"}; |
|
25 |
$categories .= 'C' if $::form->{"costs_$i"}; |
|
26 |
$categories .= 'I' if $::form->{"revenue_$i"}; |
|
27 |
$categories .= 'E' if $::form->{"expense_$i"}; |
|
28 |
$update_query = qq|UPDATE tax SET chart_categories = '$categories' WHERE id=$tax_id|; |
|
29 |
$self->db_query($update_query); |
|
30 |
} |
|
31 |
$update_query = qq|ALTER TABLE tax ALTER COLUMN chart_categories SET NOT NULL|; |
|
32 |
$self->db_query($update_query); |
|
33 |
$self->dbh->commit(); |
|
34 |
return 1; |
|
35 |
} |
|
36 |
|
|
37 |
my $query = qq|SELECT taxkey, taxdescription, rate, id AS tax_id FROM tax order by taxkey, rate|; |
|
38 |
|
|
39 |
my $sth = $self->dbh->prepare($query); |
|
40 |
$sth->execute || $::form->dberror($query); |
|
41 |
|
|
42 |
$::form->{PARTS} = []; |
|
43 |
while (my $ref = $sth->fetchrow_hashref("NAME_lc")) { |
|
44 |
$ref->{rate} = $::form->format_amount(\%::myconfig, $::form->round_amount($ref->{rate} * 100)); |
|
45 |
push @{ $::form->{PARTS} }, $ref; |
|
46 |
} |
|
47 |
|
|
48 |
&print_message; |
|
49 |
return 2; |
|
50 |
} # end run |
|
51 |
|
|
52 |
sub print_message { |
|
53 |
print $::form->parse_html_template("dbupgrade/steuerfilterung"); |
|
54 |
} |
|
55 |
|
|
56 |
1; |
templates/webpages/dbupgrade/steuerfilterung.html | ||
---|---|---|
1 |
|
|
2 |
[% USE T8 %] |
|
3 |
[% USE HTML %] |
|
4 |
[% USE L %] |
|
5 |
<div class="listtop">[% 'New filter for tax accounts' | $T8 %]</div> |
|
6 |
|
|
7 |
<form name="Form" method="post" action="login.pl"> |
|
8 |
<input type="hidden" name="action" value="login"> |
|
9 |
<input type="hidden" name="continued" value="1"> |
|
10 |
|
|
11 |
<p>[% 'From this version on a new feature is available.' | $T8 %]</p> |
|
12 |
<p>[% 'You can choose account categories for taxes. Depending on these categories taxes will be displayed for transfers in the general ledger or not.' | $T8 %]</p> |
|
13 |
<p>[% 'If you have not chosen for example the category revenue for a tax and you choose an revenue account to create a transfer in the general ledger, this tax will not be displayed in the tax dropdown.' | $T8 %]</p> |
|
14 |
<p>[% 'This feature especially prevents mistakes by mixing up prior tax and sales tax.' | $T8 %]</p> |
|
15 |
<p>[% 'Please choose for which categories the taxes should be displayed:' | $T8 %]</p> |
|
16 |
<table> |
|
17 |
<tr> |
|
18 |
<th class="listheading">[% 'Taxkey' | $T8 %]</th> |
|
19 |
<th class="listheading">[% 'Description' | $T8 %]</th> |
|
20 |
<th class="listheading">[% 'Tax rate' | $T8 %]</th> |
|
21 |
<th class="listheading">[% 'Asset' | $T8 %] (A)</th> |
|
22 |
<th class="listheading">[% 'Liability' | $T8 %] (L)</th> |
|
23 |
<th class="listheading">[% 'Equity' | $T8 %] (Q)</th> |
|
24 |
<th class="listheading">[% 'Costs' | $T8 %] (C)</th> |
|
25 |
<th class="listheading">[% 'Revenue' | $T8 %] (I)</th> |
|
26 |
<th class="listheading">[% 'Expense' | $T8 %] (E)</th> |
|
27 |
</tr> |
|
28 |
|
|
29 |
[% SET row_odd = '1' %][% FOREACH row = PARTS %] |
|
30 |
<tr class="listrow[% IF row_odd %]1[% SET row_odd = '0' %][% ELSE %]0[% SET row_odd = '1' %][% END %]"> |
|
31 |
<td align="right">[% HTML.escape(row.taxkey) %]</td> |
|
32 |
<td align="left"> [% HTML.escape(row.taxdescription) %]</a></td> |
|
33 |
<td align="right">[% HTML.escape(row.rate) %] %</td> |
|
34 |
<td align="center">[% IF row.taxkey == 0 or row.taxkey == 1 %] |
|
35 |
[% L.checkbox_tag('asset_' _ loop.count, value => 1, checked => 1, class => 'checkbox') %] |
|
36 |
[% ELSE %] |
|
37 |
[% L.checkbox_tag('asset_' _ loop.count, value => 1, checked => 0, class => 'checkbox') %] |
|
38 |
[% END %]</td> |
|
39 |
|
|
40 |
<td align="center">[% IF row.taxkey == 0 or row.taxkey == 1 %] |
|
41 |
[% L.checkbox_tag('liability_' _ loop.count, value => 1, checked => 1, class => 'checkbox') %] |
|
42 |
[% ELSE %] |
|
43 |
[% L.checkbox_tag('liability_' _ loop.count, value => 1, checked => 0, class => 'checkbox') %] |
|
44 |
[% END %]</td> |
|
45 |
|
|
46 |
<td align="center">[% IF row.taxkey == 0 or row.taxkey == 1 %] |
|
47 |
[% L.checkbox_tag('equity_' _ loop.count, value => 1, checked => 1, class => 'checkbox') %] |
|
48 |
[% ELSE %] |
|
49 |
[% L.checkbox_tag('equity_' _ loop.count, value => 1, checked => 0, class => 'checkbox') %] |
|
50 |
[% END %]</td> |
|
51 |
|
|
52 |
<td align="center">[% IF row.taxkey == 0 or row.taxkey == 1 %] |
|
53 |
[% L.checkbox_tag('costs_' _ loop.count, value => 1, checked => 1, class => 'checkbox') %] |
|
54 |
[% ELSE %] |
|
55 |
[% L.checkbox_tag('costs_' _ loop.count, value => 1, checked => 0, class => 'checkbox') %] |
|
56 |
[% END %]</td> |
|
57 |
|
|
58 |
<td align="center">[% IF row.taxkey == 8 or row.taxkey == 9 or row.taxkey == 18 or row.taxkey == 19%] |
|
59 |
[% L.checkbox_tag('revenue_' _ loop.count, value => 1, checked => 0, class => 'checkbox') %] |
|
60 |
[% ELSE %] |
|
61 |
[% L.checkbox_tag('revenue_' _ loop.count, value => 1, checked => 1, class => 'checkbox') %] |
|
62 |
[% END %]</td> |
|
63 |
|
|
64 |
<td align="center">[% IF row.taxkey == 2 or row.taxkey == 3 or row.taxkey == 10 or row.taxkey == 11 or row.taxkey == 12 or row.taxkey == 13 %] |
|
65 |
[% L.checkbox_tag('expense_' _ loop.count, value => 1, checked => 0, class => 'checkbox') %] |
|
66 |
[% ELSE %] |
|
67 |
[% L.checkbox_tag('expense_' _ loop.count, value => 1, checked => 1, class => 'checkbox') %] |
|
68 |
[% END %]</td> |
|
69 |
</tr> |
|
70 |
<input type="hidden" name="tax_id_[% loop.count %]" value="[% row.tax_id %]"> |
|
71 |
[% SET rowcount = loop.count %] |
|
72 |
[% END %] |
|
73 |
<input type="hidden" name="rowcount" value="[% rowcount %]"> |
|
74 |
</table> |
|
75 |
|
|
76 |
<input type="submit" value="[% 'Continue' | $T8 %]"> |
|
77 |
|
|
78 |
</form> |
Auch abrufbar als: Unified diff
Upgrade-Script für Steuerfilterung
Bei Dialogbuchungen kam es in der Vergangenheit oft zu Verwechslungen
mit Vor-/Umsatzsteuer. Daher werden für jede Steuer nun auch alle
Kontoarten gespeichert, bei denen die Steuer angezeigt werden soll.
Dieser Commit enthält das DB-Update, um die Speicherung möglich zu
machen.
Siehe auch #2249.