Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision a56a4d79

Von Moritz Bunkus vor etwa 18 Jahren hinzugefügt

  • ID a56a4d79bc4045223b864ce75ab5ab611ab6c70b
  • Vorgänger 12136988
  • Nachfolger a6b1f97a

Datenbankupgrade Buchungsgruppen: Erzeugnisse in einem eigenen Schritt behandeln.

Unterschiede anzeigen:

locale/de/Pg-upgrade-2.2.0.33-2.2.0.34
};
$self->{subs} = {
'assign_buchungsgruppen_for_assemblies' => 'assign_buchungsgruppen_for_assemblies',
'create_buchungsgruppen' => 'create_buchungsgruppen',
'display_create_bgs_dialog' => 'display_create_bgs_dialog',
'do_update' => 'do_update',
......
'set_ic_links' => 'set_ic_links',
'set_taxzone_ids' => 'set_taxzone_ids',
'update_known_buchungsgruppen' => 'update_known_buchungsgruppen',
'buchungsgruppe_erfassen' => 'create_buchungsgruppen',
};
1;
locale/de/all
'Could not transfer Inventory!' => 'Konnte Waren nicht umlagern!',
'Could not update prices!' => 'Preise konnten nicht aktualisiert werden!',
'Country' => 'Land',
'Create Buchungsgruppen' => 'Buchungsgruppe erfassen',
'Create Chart of Accounts' => 'Kontenplan anlegen',
'Create Dataset' => 'Datenbank anlegen',
'Credit' => 'Haben',
......
'E-mailed' => 'eMail gesendet.',
'ELSTER Export nach Winston' => 'ELSTER Export nach Winston',
'ELSTER-Steuernummer: ' => 'ELSTER-Steuernummer: ',
'EU with VAT ID' => 'EU mit UstId-Nummer',
'EU without VAT ID' => 'EU ohne UstId-Nummer',
'EUER' => 'Einnahmen-/?berschussrechnung',
'EUR' => 'E/?-Rechnung',
'Edit' => 'Bearbeiten',
......
'Exchangerate Difference' => 'Wechselkursunterschied',
'Exchangerate for payment missing!' => 'Es fehlt der Wechselkurs f?r die Bezahlung!',
'Exchangerate missing!' => 'Es fehlt der Wechselkurs!',
'Existing Buchungsgruppen' => 'Existierende Buchungsgruppen',
'Existing Datasets' => 'existierende Datenbanken',
'Expense' => 'Aufwandskonto',
'Expense Account' => 'Aufwandskonto',
'Expense accno' => 'Aufwandskonto',
'Expense/Asset' => 'Aufwand/Anlagen',
'Expired licenses' => 'Abgelaufene Lizenzen',
'Expiring in x month(s)' => 'Die in x Monat(en) ablaufen',
......
'Include in Report' => 'In Bericht aufnehmen',
'Include in drop-down menus' => 'In Aufklappmen? aufnehmen',
'Income Statement' => 'GuV',
'Income accno' => 'Erlöskonto',
'Incoming Payments' => 'Zahlungseing?nge',
'Incorrect Password!' => 'Ung?ltiges Passwort!',
'Incorrect username or password!' => 'Ung?ltiger Benutzername oder falsches Passwort!',
......
'Input Number Format' => 'Zahlenformat (Eingabe)',
'Interest Rate' => 'Zinssatz',
'Internal Notes' => 'interne Bemerkungen',
'International' => 'Ausland',
'Internet' => 'Internet',
'Introduction of Buchungsgruppen' => 'Einführung von Buchungsgruppen',
'Introduction of units' => 'Einführung von Einheiten',
......
'Inventory quantity must be zero before you can set this part obsolete!' => 'Bevor diese Ware als ung?ltig markiert werden kann, muß das Inventar Null sein!',
'Inventory saved!' => 'Inventar gespeichert.',
'Inventory transferred!' => 'Inventar umgelagert.',
'Invetory' => 'Inventar',
'Invno.' => '',
'Invnumber' => 'Rechnungsnummer',
'Invoice' => 'Rechnung',
......
'N/A' => 'N.Z.',
'Name' => 'Name',
'Name missing!' => 'Name fehlt!',
'National' => 'Inand',
'Netto Terms' => 'Zahlungsziel netto',
'New Buchungsgruppe <TMPL_VAR __counter__>' => 'Neue Buchungsgruppe <TMPL_VAR __counter__>',
'New Templates' => 'neue Vorlagen',
'New unit' => 'Neue Einheit',
'Next Dunning Level' => 'N?chste Mahnstufe',
......
'Statements sent to printer!' => 'Sammelrechnungen an Drucker geschickt!',
'Step 1 of 3: Parts' => 'Schritt 1 von 3: Waren',
'Step 2 of 3: Services' => 'Schritt 2 von 3: Dienstleistungen',
'Step 3 of 3: Assemblies' => 'Schritt 3 von 3: Erzeugnisse',
'Step 3 of 3: Default units' => 'Schritt 3 von 3: Standardeinheiten',
'Steuerberater/-in' => 'Steuerberater/-in',
'Steuernummer' => 'Steuernummer',
......
'The database upgrade for the introduction of units is now complete.' => 'Das Datenbankupgrade zwecks Einf&uuml;hrung von Einheiten ist nun beendet.',
'The factor is missing in row %d.' => 'Der Faktor fehlt in Zeile %d.',
'The factor is missing.' => 'Der Faktor fehlt.',
'The following Buchungsgruppen have already been created:' => 'Die folgenden Buchungsgruppen wurden bereits angelegt:',
'The following Datasets are not in use and can be deleted' => 'Die folgenden Datenbanken sind nicht in Verwendung und k?nnen gel?scht werden',
'The following Datasets need to be updated' => 'Folgende Datenbanken m?ssen aktualisiert werden',
'The following units are unknown.' => 'Die folgenden Einheiten sind unbekannt.',
......
'The units have been saved.' => 'Die Einheiten wurden gespeichert.',
'There are four tax zones.' => 'Es gibt vier Steuerzonen.',
'There are still entries in the database for which no unit has been assigned.' => 'Es gibt noch Eintr&auml;ge in der Datenbank, f&uuml;r die keine Einheit zugeordnet ist.',
'There is nothing to do in this step.' => 'In diesem Schritt gibt es nichts mehr zu tun.',
'Therefore there\'s no need to create the same article more than once if it is sold or bought in/from another tax zone.' => 'Deswegen muss man den gleichen Artikel nicht mehr mehrmals anlegen, wenn er in verschiedenen Steuerzonen gehandelt werden soll.',
'These units can be based on other units so that Lx-Office can convert prices when the user switches from one unit to another.' => 'Diese Einheiten k&ouml;nnen auf anderen Einheiten basieren, sodass Lx-Office Preise umrechnen kann, wenn der Benutzer von einer Einheit zu einer anderen Wechselt.',
'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!',
sql/Pg-upgrade/Pg-upgrade-2.2.0.33-2.2.0.34.pl
#!/usr/bin/perl
# Datenbankupgrade: Einfuehrung von Buchungsgruppen
die("This script cannot be run from the command line.") unless ($main::form);
sub mydberror {
......
sub force_inventory_accno_id_for_parts {
my $query =
"UPDATE parts SET inventory_accno_id = " .
"(SELECT bg.inventory_accno_id " .
" FROM buchungsgruppen bg " .
" WHERE bg.description = 'Standard 16%') " .
"WHERE (NOT inventory_accno_id ISNULL) AND (inventory_accno_id > 0)";
"SELECT inventory_accno_id " .
"FROM buchungsgruppen " .
"WHERE description = 'Standard 16%'";
my ($bg_id) = $dbh->selectrow_array($query);
$dbh->do($query) || mydberror($query);
if ($bg_id) {
$query =
"UPDATE parts SET inventory_accno_id = $bg_id " .
"WHERE (NOT inventory_accno_id ISNULL) AND (inventory_accno_id > 0)";
$dbh->do($query) || mydberror($query);
}
}
sub retrieve_accounts {
......
my $query =
"SELECT id, inventory_accno_id, income_accno_id, expense_accno_id " .
"FROM parts " .
"WHERE NOT inventory_accno_id ISNULL AND (inventory_accno_id > 0)";
"WHERE NOT inventory_accno_id ISNULL AND (inventory_accno_id > 0) ";
my $sth = $dbh->prepare($query);
$sth->execute() || mydberror($query);
......
my $query =
"SELECT id, inventory_accno_id, income_accno_id, expense_accno_id " .
"FROM parts " .
"WHERE inventory_accno_id ISNULL OR (inventory_accno_id = 0)";
"WHERE (inventory_accno_id ISNULL OR (inventory_accno_id = 0)) AND " .
" NOT assembly";
my $sth = $dbh->prepare($query);
$sth->execute() || mydberror($query);
......
sub retrieve_unknown_accno_combinations {
my ($buchungsgruppen) = @_;
my (@parts, @services, $sth, $query, $ref);
my (@parts, @services, @assemblies, $sth, $query, $ref);
$query =
"SELECT DISTINCT " .
......
"c2.accno AS income_accno, c2.description AS income_description, " .
"c3.accno AS expense_accno, c3.description AS expense_description " .
"FROM parts p " .
"LEFT JOIN chart c1 ON p.inventory_accno_id = c1.id " .
"LEFT JOIN chart c2 ON p.income_accno_id = c2.id " .
"LEFT JOIN chart c3 ON p.expense_accno_id = c3.id " .
"WHERE inventory_accno_id ISNULL OR (inventory_accno_id = 0)";
"WHERE (inventory_accno_id ISNULL OR (inventory_accno_id = 0)) AND " .
" NOT assembly";
$sth = $dbh->prepare($query);
$sth->execute() || mydberror($query);
......
}
$sth->finish();
return (\@parts, \@services);
$query =
"SELECT DISTINCT " .
"p.income_accno_id, " .
"c.accno AS income_accno, c.description AS income_description " .
"FROM parts p " .
"LEFT JOIN chart c ON p.income_accno_id = c.id " .
"WHERE p.assembly AND " .
" (p.buchungsgruppen_id ISNULL OR (p.buchungsgruppen_id = 0))";
$sth = $dbh->prepare($query);
$sth->execute() || mydberror($query);
while ($ref = $sth->fetchrow_hashref()) {
push(@assemblies, $ref);
}
return (\@parts, \@services, \@assemblies);
}
sub display_create_bgs_dialog {
......
$entry->{"eur"} = $main::eur;
}
# $form->parse_html_template("dbupgrade/buchungsgruppen_parts")
# $form->parse_html_template("dbupgrade/buchungsgruppen_services")
# $form->parse_html_template("dbupgrade/buchungsgruppen_assemblies")
print($form->parse_html_template("dbupgrade/buchungsgruppen_${type}",
{ "LIST" => $list,
"BUCHUNGSGRUPPEN" => $buchungsgruppen,
......
$form->{"income_accno_id_3_$i"} &&
$form->{"expense_accno_id_3_$i"});
my $query =
my $query = "SELECT nextval('id')";
my ($id) = $dbh->selectrow_array($query);
$query =
"INSERT INTO buchungsgruppen (" .
"description, inventory_accno_id, " .
"id, description, inventory_accno_id, " .
"income_accno_id_0, expense_accno_id_0, " .
"income_accno_id_1, expense_accno_id_1, " .
"income_accno_id_2, expense_accno_id_2, " .
"income_accno_id_3, expense_accno_id_3) " .
"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
my @values = ($form->{"description_$i"});
"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
my @values = ($id, $form->{"description_$i"});
foreach my $acc (qw(inventory_accno_id
income_accno_id_0 expense_accno_id_0
......
}
mydoquery($query, @values);
$form->{"new_buchungsgruppen_id_$i"} = $id;
}
$dbh->commit();
$dbh->begin_work();
}
sub assign_buchungsgruppen_for_assemblies {
my ($query, $sth, $i);
$query =
"UPDATE parts " .
"SET buchungsgruppen_id = ? " .
"WHERE assembly AND " .
"(buchungsgruppen_id ISNULL OR (buchungsgruppen_id = 0)) AND " .
"(income_accno_id = ?)";
$sth = $dbh->prepare($query);
for ($i = 1; $i <= $form->{"rowcount"}; $i++) {
next unless ($form->{"new_buchungsgruppen_id_$i"});
my @values = ($form->{"new_buchungsgruppen_id_$i"},
$form->{"income_accno_id_0_$i"});
$sth->execute(@values) ||
mydberror($query . " (" . join(", ", @values) . ")");
}
$sth->finish();
$dbh->commit();
$dbh->begin_work();
}
......
$sth->finish();
}
$inventory_accno_id = 1 unless ($inventory_accno_id);
$form->{"std_inventory_accno_id"} = $inventory_accno_id;
}
......
create_buchungsgruppen();
}
if ($main::form->{"action2"} eq "create_buchungsgruppen_assemblies") {
create_buchungsgruppen();
assign_buchungsgruppen_for_assemblies();
}
retrieve_std_inventory_accno_id();
# Set all taxzone_id columns = 0.
......
# Retrieve all distinct combinations of inventory_accno_id,
# income_accno_id and expense_accno_id for which there's no
# Buchungsgruppe. Then let the user create new ones.
($parts, $services) = retrieve_unknown_accno_combinations($buchungsgruppen);
($parts, $services, $assemblies) =
retrieve_unknown_accno_combinations($buchungsgruppen);
my ($acc_inventory, $acc_income, $acc_expense) = retrieve_accounts();
......
$acc_inventory, $acc_income, $acc_expense,
$buchungsgruppen);
return 2;
} else {
print($form->parse_html_template("dbupgrade/buchungsgruppen_parts_done"));
}
if (scalar(@{$services})) {
......
$acc_inventory, $acc_income, $acc_expense,
$buchungsgruppen);
return 2;
} else {
print($form->parse_html_template("dbupgrade/buchungsgruppen_services_done"));
}
if (scalar(@{$assemblies})) {
display_create_bgs_dialog("assemblies", $assemblies,
$acc_inventory, $acc_income, $acc_expense,
$buchungsgruppen);
return 2;
} else {
print($form->parse_html_template("dbupgrade/buchungsgruppen_assemblies_done"));
}
print($form->parse_html_template("dbupgrade/buchungsgruppen_footer"));
templates/webpages/dbupgrade/buchungsgruppen_assemblies_de.html
<div class="listtop">Schritt 3 von 3: Erzeugnisse</div>
<form name="Form" method="post" action="login.pl">
<input type="hidden" name="path" value="<TMPL_VAR path ESCAPE=HTML>">
<input type="hidden" name="login" value="<TMPL_VAR login ESCAPE=HTML>">
<input type="hidden" name="hashed_password" value="<TMPL_VAR password ESCAPE=HTML>">
<input type="hidden" name="type" value="parts">
<input type="hidden" name="action" value="login">
<input type="hidden" name="action2" value="create_buchungsgruppen_assemblies">
<TMPL_IF saved_message>
<p><TMPL_VAR saved_message></p>
</TMPL_IF>
<div class="subsubheading">Existierende Buchungsgruppen</div>
<p>
Die folgenden Buchungsgruppen wurden bereits angelegt:
<br>
<ul>
<TMPL_LOOP BUCHUNGSGRUPPEN>
<li>
<TMPL_VAR description ESCAPE=HTML>:
Inventar: <TMPL_VAR inventory_accno>;
Erl&ouml;skonto/Aufwandskonto
Inand: <TMPL_VAR income_accno_0>/<TMPL_VAR expense_accno_0>;
Erl&ouml;skonto/Aufwandskonto
EU mit UstId-Nummer: <TMPL_VAR income_accno_1>/<TMPL_VAR expense_accno_1>;
Erl&ouml;skonto/Aufwandskonto
EU ohne UstId-Nummer: <TMPL_VAR income_accno_2>/<TMPL_VAR expense_accno_2>;
Erl&ouml;skonto/Aufwandskonto
Ausland: <TMPL_VAR income_accno_3>/<TMPL_VAR expense_accno_3>
</li>
</TMPL_LOOP>
</ul>
</p>
<TMPL_LOOP LIST>
<div class="subsubheading">Neue Buchungsgruppe <TMPL_VAR __counter__></div>
<table>
<tr>
<td>Beschreibung:</td>
<td><input name="description_<TMPL_VAR __counter__>"></td>
</tr>
<TMPL_IF eur>
<input type="hidden" name="inventory_accno_id_<TMPL_VAR __counter__>" value="<TMPL_VAR std_inventory_accno_id>">
<TMPL_ELSE>
<tr>
<td>Inventar:</td>
<td>
<input type="hidden" name="inventory_accno_id_<TMPL_VAR __counter__>" value="<TMPL_VAR inventory_accno_id ESCAPE=HTML>">
<TMPL_VAR inventory_accno ESCAPE=HTML>--<TMPL_VAR inventory_description ESCAPE=HTML>
</td>
</tr>
</TMPL_IF>
<tr>
<td>Erl&ouml;skonto Inand:</td>
<td>
<input type="hidden" name="income_accno_id_0_<TMPL_VAR __counter__>" value="<TMPL_VAR income_accno_id ESCAPE=HTML>">
<TMPL_VAR income_accno ESCAPE=HTML>--<TMPL_VAR income_description ESCAPE=HTML>
</td>
</tr>
<tr>
<td>Aufwandskonto EU mit UstId-Nummer:</td>
<td>
<select name="expense_accno_id_0_<TMPL_VAR __counter__>">
<TMPL_LOOP ACC_EXPENSE><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
</select>
</td>
</tr>
<tr>
<td>Erl&ouml;skonto EU mit UstId-Nummer:</td>
<td>
<select name="income_accno_id_1_<TMPL_VAR __counter__>">
<TMPL_LOOP ACC_INCOME><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
</select>
</td>
</tr>
<tr>
<td>Aufwandskonto EU mit UstId-Nummer:</td>
<td>
<select name="expense_accno_id_1_<TMPL_VAR __counter__>">
<TMPL_LOOP ACC_EXPENSE><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
</select>
</td>
</tr>
<tr>
<td>Erl&ouml;skonto EU ohne UstId-Nummer:</td>
<td>
<select name="income_accno_id_2_<TMPL_VAR __counter__>">
<TMPL_LOOP ACC_INCOME><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
</select>
</td>
</tr>
<tr>
<td>Aufwandskonto EU ohne UstId-Nummer:</td>
<td>
<select name="expense_accno_id_2_<TMPL_VAR __counter__>">
<TMPL_LOOP ACC_EXPENSE><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
</select>
</td>
</tr>
<tr>
<td>Erl&ouml;skonto Ausland:</td>
<td>
<select name="income_accno_id_3_<TMPL_VAR __counter__>">
<TMPL_LOOP ACC_INCOME><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
</select>
</td>
</tr>
<tr>
<td>Aufwandskonto Ausland:</td>
<td>
<select name="expense_accno_id_3_<TMPL_VAR __counter__>">
<TMPL_LOOP ACC_EXPENSE><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
</select>
</td>
</tr>
</table>
<TMPL_IF __last__>
<input type="hidden" name="rowcount" value="<TMPL_VAR __counter__>">
</TMPL_IF>
<hr>
</TMPL_LOOP>
<input type="submit" name="dummy" value="Buchungsgruppe erfassen">
</form>
templates/webpages/dbupgrade/buchungsgruppen_assemblies_done_de.html
<div class="listtop">Schritt 3 von 3: Erzeugnisse</div>
<p>In diesem Schritt gibt es nichts mehr zu tun.</p>
templates/webpages/dbupgrade/buchungsgruppen_assemblies_done_master.html
<div class="listtop"><translate>Step 3 of 3: Assemblies</translate></div>
<p><translate>There is nothing to do in this step.</translate></p>
templates/webpages/dbupgrade/buchungsgruppen_assemblies_master.html
<div class="listtop"><translate>Step 3 of 3: Assemblies</translate></div>
<form name="Form" method="post" action="login.pl">
<input type="hidden" name="path" value="<TMPL_VAR path ESCAPE=HTML>">
<input type="hidden" name="login" value="<TMPL_VAR login ESCAPE=HTML>">
<input type="hidden" name="hashed_password" value="<TMPL_VAR password ESCAPE=HTML>">
<input type="hidden" name="type" value="parts">
<input type="hidden" name="action" value="login">
<input type="hidden" name="action2" value="create_buchungsgruppen_assemblies">
<TMPL_IF saved_message>
<p><TMPL_VAR saved_message></p>
</TMPL_IF>
<div class="subsubheading"><translate>Existing Buchungsgruppen</translate></div>
<p>
<translate>The following Buchungsgruppen have already been created:</translate>
<br>
<ul>
<TMPL_LOOP BUCHUNGSGRUPPEN>
<li>
<TMPL_VAR description ESCAPE=HTML>:
<translate>Invetory</translate>: <TMPL_VAR inventory_accno>;
<translate>Income accno</translate>/<translate>Expense accno</translate>
<translate>National</translate>: <TMPL_VAR income_accno_0>/<TMPL_VAR expense_accno_0>;
<translate>Income accno</translate>/<translate>Expense accno</translate>
<translate>EU with VAT ID</translate>: <TMPL_VAR income_accno_1>/<TMPL_VAR expense_accno_1>;
<translate>Income accno</translate>/<translate>Expense accno</translate>
<translate>EU without VAT ID</translate>: <TMPL_VAR income_accno_2>/<TMPL_VAR expense_accno_2>;
<translate>Income accno</translate>/<translate>Expense accno</translate>
<translate>International</translate>: <TMPL_VAR income_accno_3>/<TMPL_VAR expense_accno_3>
</li>
</TMPL_LOOP>
</ul>
</p>
<TMPL_LOOP LIST>
<div class="subsubheading"><translate>New Buchungsgruppe <TMPL_VAR __counter__></translate></div>
<table>
<tr>
<td><translate>Description</translate>:</td>
<td><input name="description_<TMPL_VAR __counter__>"></td>
</tr>
<TMPL_IF eur>
<input type="hidden" name="inventory_accno_id_<TMPL_VAR __counter__>" value="<TMPL_VAR std_inventory_accno_id>">
<TMPL_ELSE>
<tr>
<td><translate>Inventory</translate>:</td>
<td>
<input type="hidden" name="inventory_accno_id_<TMPL_VAR __counter__>" value="<TMPL_VAR inventory_accno_id ESCAPE=HTML>">
<TMPL_VAR inventory_accno ESCAPE=HTML>--<TMPL_VAR inventory_description ESCAPE=HTML>
</td>
</tr>
</TMPL_IF>
<tr>
<td><translate>Income accno</translate> <translate>National</translate>:</td>
<td>
<input type="hidden" name="income_accno_id_0_<TMPL_VAR __counter__>" value="<TMPL_VAR income_accno_id ESCAPE=HTML>">
<TMPL_VAR income_accno ESCAPE=HTML>--<TMPL_VAR income_description ESCAPE=HTML>
</td>
</tr>
<tr>
<td><translate>Expense accno</translate> <translate>EU with VAT ID</translate>:</td>
<td>
<select name="expense_accno_id_0_<TMPL_VAR __counter__>">
<TMPL_LOOP ACC_EXPENSE><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
</select>
</td>
</tr>
<tr>
<td><translate>Income accno</translate> <translate>EU with VAT ID</translate>:</td>
<td>
<select name="income_accno_id_1_<TMPL_VAR __counter__>">
<TMPL_LOOP ACC_INCOME><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
</select>
</td>
</tr>
<tr>
<td><translate>Expense accno</translate> <translate>EU with VAT ID</translate>:</td>
<td>
<select name="expense_accno_id_1_<TMPL_VAR __counter__>">
<TMPL_LOOP ACC_EXPENSE><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
</select>
</td>
</tr>
<tr>
<td><translate>Income accno</translate> <translate>EU without VAT ID</translate>:</td>
<td>
<select name="income_accno_id_2_<TMPL_VAR __counter__>">
<TMPL_LOOP ACC_INCOME><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
</select>
</td>
</tr>
<tr>
<td><translate>Expense accno</translate> <translate>EU without VAT ID</translate>:</td>
<td>
<select name="expense_accno_id_2_<TMPL_VAR __counter__>">
<TMPL_LOOP ACC_EXPENSE><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
</select>
</td>
</tr>
<tr>
<td><translate>Income accno</translate> <translate>International</translate>:</td>
<td>
<select name="income_accno_id_3_<TMPL_VAR __counter__>">
<TMPL_LOOP ACC_INCOME><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
</select>
</td>
</tr>
<tr>
<td><translate>Expense accno</translate> <translate>International</translate>:</td>
<td>
<select name="expense_accno_id_3_<TMPL_VAR __counter__>">
<TMPL_LOOP ACC_EXPENSE><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
</select>
</td>
</tr>
</table>
<TMPL_IF __last__>
<input type="hidden" name="rowcount" value="<TMPL_VAR __counter__>">
</TMPL_IF>
<hr>
</TMPL_LOOP>
<input type="submit" name="dummy" value="<translate>Create Buchungsgruppen</translate>">
</form>
templates/webpages/dbupgrade/buchungsgruppen_parts_de.html
<div class="listtop">Schritt 1 von 2: Waren</div>
<div class="listtop">Schritt 1 von 3: Waren</div>
<form name="Form" method="post" action="login.pl">
......
<p><TMPL_VAR saved_message></p>
</TMPL_IF>
<div class="subsubheading">Bestehende Buchungsgruppen</div>
<div class="subsubheading">Existierende Buchungsgruppen</div>
<p>
Die folgenden Buchungsgruppen wurden bereits angelegt:
......
Inventar: <TMPL_VAR inventory_accno>;
Erl&ouml;skonto/Aufwandskonto
Inland: <TMPL_VAR income_accno_0>/<TMPL_VAR expense_accno_0>;
Inand: <TMPL_VAR income_accno_0>/<TMPL_VAR expense_accno_0>;
Erl&ouml;skonto/Aufwandskonto
EU mit UstId-Nummer: <TMPL_VAR income_accno_1>/<TMPL_VAR expense_accno_1>;
......
</TMPL_IF>
<tr>
<td>Erl&ouml;skonto Inland:</td>
<td>Erl&ouml;skonto Inand:</td>
<td>
<input type="hidden" name="income_accno_id_0_<TMPL_VAR __counter__>" value="<TMPL_VAR income_accno_id ESCAPE=HTML>">
<TMPL_VAR income_accno ESCAPE=HTML>--<TMPL_VAR income_description ESCAPE=HTML>
......
</tr>
<tr>
<td>Aufwandskonto Inland:</td>
<td>Aufwandskonto Inand:</td>
<td>
<input type="hidden" name="expense_accno_id_0_<TMPL_VAR __counter__>" value="<TMPL_VAR expense_accno_id ESCAPE=HTML>">
<TMPL_VAR expense_accno ESCAPE=HTML>--<TMPL_VAR expense_description ESCAPE=HTML>
......
<hr>
</TMPL_LOOP>
<input type="submit" onclick="document.Form.action2.value = 'create_buchungsgruppen'; document.Form.submit();" name="dummy" value="Buchungsgruppen erfassen">
<input type="submit" onclick="document.Form.action2.value = 'create_buchungsgruppen'; document.Form.submit();" name="dummy" value="Buchungsgruppe erfassen">
</form>
templates/webpages/dbupgrade/buchungsgruppen_parts_done_de.html
<div class="listtop">Schritt 1 von 3: Waren</div>
<p>In diesem Schritt gibt es nichts mehr zu tun.</p>
templates/webpages/dbupgrade/buchungsgruppen_parts_done_master.html
<div class="listtop"><translate>Step 1 of 3: Parts</translate></div>
<p><translate>There is nothing to do in this step.</translate></p>
templates/webpages/dbupgrade/buchungsgruppen_parts_master.html
<div class="listtop"><translate>Step 1 of 2: Parts</translate></div>
<div class="listtop"><translate>Step 1 of 3: Parts</translate></div>
<form name="Form" method="post" action="login.pl">
templates/webpages/dbupgrade/buchungsgruppen_services_de.html
<div class="listtop">Schritt 2 von 2: Dienstleistungen</div>
<div class="listtop">Schritt 2 von 3: Dienstleistungen</div>
<form name="Form" method="post" action="login.pl">
......
<p><TMPL_VAR saved_message></p>
</TMPL_IF>
<div class="subsubheading">Bestehende Buchungsgruppen</div>
<div class="subsubheading">Existierende Buchungsgruppen</div>
<p>
Die folgenden Buchungsgruppen wurden bereits angelegt:
......
Inventar: <TMPL_VAR inventory_accno>;
Erl&ouml;skonto/Aufwandskonto
Inland: <TMPL_VAR income_accno_0>/<TMPL_VAR expense_accno_0>;
Inand: <TMPL_VAR income_accno_0>/<TMPL_VAR expense_accno_0>;
Erl&ouml;skonto/Aufwandskonto
EU mit UstId-Nummer: <TMPL_VAR income_accno_1>/<TMPL_VAR expense_accno_1>;
......
</TMPL_IF>
<tr>
<td>Erl&ouml;skonto Inland:</td>
<td>Erl&ouml;skonto Inand:</td>
<td>
<input type="hidden" name="income_accno_id_0_<TMPL_VAR __counter__>" value="<TMPL_VAR income_accno_id ESCAPE=HTML>">
<TMPL_VAR income_accno ESCAPE=HTML>--<TMPL_VAR income_description ESCAPE=HTML>
......
</tr>
<tr>
<td>Aufwandskonto Inland:</td>
<td>Aufwandskonto Inand:</td>
<td>
<input type="hidden" name="expense_accno_id_0_<TMPL_VAR __counter__>" value="<TMPL_VAR expense_accno_id ESCAPE=HTML>">
<TMPL_VAR expense_accno ESCAPE=HTML>--<TMPL_VAR expense_description ESCAPE=HTML>
......
<hr>
</TMPL_LOOP>
<input type="submit" onclick="document.Form.action2.value = 'create_buchungsgruppen'; document.Form.submit();" name="dummy" value="Buchungsgruppen erfassen">
<input type="submit" onclick="document.Form.action2.value = 'create_buchungsgruppen'; document.Form.submit();" name="dummy" value="Buchungsgruppe erfassen">
</form>
templates/webpages/dbupgrade/buchungsgruppen_services_done_de.html
<div class="listtop">Schritt 2 von 3: Dienstleistungen</div>
<p>In diesem Schritt gibt es nichts mehr zu tun.</p>
templates/webpages/dbupgrade/buchungsgruppen_services_done_master.html
<div class="listtop"><translate>Step 2 of 3: Services</translate></div>
<p><translate>There is nothing to do in this step.</translate></p>
templates/webpages/dbupgrade/buchungsgruppen_services_master.html
<div class="listtop"><translate>Step 2 of 2: Services</translate></div>
<div class="listtop"><translate>Step 2 of 3: Services</translate></div>
<form name="Form" method="post" action="login.pl">

Auch abrufbar als: Unified diff