]> wagnertech.de Git - kivitendo-erp.git/commitdiff
Datenbankupgrade Buchungsgruppen: Erzeugnisse in einem eigenen Schritt behandeln.
authorMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 13 Dec 2006 12:02:02 +0000 (12:02 +0000)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 13 Dec 2006 12:02:02 +0000 (12:02 +0000)
15 files changed:
locale/de/Pg-upgrade-2.2.0.33-2.2.0.34
locale/de/all
sql/Pg-upgrade/Pg-upgrade-2.2.0.33-2.2.0.34.pl
templates/webpages/dbupgrade/buchungsgruppen_assemblies_de.html [new file with mode: 0644]
templates/webpages/dbupgrade/buchungsgruppen_assemblies_done_de.html [new file with mode: 0644]
templates/webpages/dbupgrade/buchungsgruppen_assemblies_done_master.html [new file with mode: 0644]
templates/webpages/dbupgrade/buchungsgruppen_assemblies_master.html [new file with mode: 0644]
templates/webpages/dbupgrade/buchungsgruppen_parts_de.html
templates/webpages/dbupgrade/buchungsgruppen_parts_done_de.html [new file with mode: 0644]
templates/webpages/dbupgrade/buchungsgruppen_parts_done_master.html [new file with mode: 0644]
templates/webpages/dbupgrade/buchungsgruppen_parts_master.html
templates/webpages/dbupgrade/buchungsgruppen_services_de.html
templates/webpages/dbupgrade/buchungsgruppen_services_done_de.html [new file with mode: 0644]
templates/webpages/dbupgrade/buchungsgruppen_services_done_master.html [new file with mode: 0644]
templates/webpages/dbupgrade/buchungsgruppen_services_master.html

index 231c3194278188b931a789050c28d4e04bba896c..57ecbbb6d37fe4db89be22c1ce5bd340e27deadd 100644 (file)
@@ -3,6 +3,7 @@ $self->{texts} = {
 };
 
 $self->{subs} = {
 };
 
 $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',
   'create_buchungsgruppen'      => 'create_buchungsgruppen',
   'display_create_bgs_dialog'   => 'display_create_bgs_dialog',
   'do_update'                   => 'do_update',
@@ -16,6 +17,7 @@ $self->{subs} = {
   'set_ic_links'                => 'set_ic_links',
   'set_taxzone_ids'             => 'set_taxzone_ids',
   'update_known_buchungsgruppen' => 'update_known_buchungsgruppen',
   'set_ic_links'                => 'set_ic_links',
   'set_taxzone_ids'             => 'set_taxzone_ids',
   'update_known_buchungsgruppen' => 'update_known_buchungsgruppen',
+  'buchungsgruppe_erfassen'     => 'create_buchungsgruppen',
 };
 
 1;
 };
 
 1;
index 0ba13d7246b45b2fd763cfc4289131a1d89aeb55..12ae26978b50857b79c1ed8ca1897352751409cc 100644 (file)
@@ -246,6 +246,7 @@ aktualisieren wollen?',
   'Could not transfer Inventory!' => 'Konnte Waren nicht umlagern!',
   'Could not update prices!'    => 'Preise konnten nicht aktualisiert werden!',
   'Country'                     => 'Land',
   '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',
   'Create Chart of Accounts'    => 'Kontenplan anlegen',
   'Create Dataset'              => 'Datenbank anlegen',
   'Credit'                      => 'Haben',
@@ -352,6 +353,8 @@ gestartet',
   'E-mailed'                    => 'eMail gesendet.',
   'ELSTER Export nach Winston'  => 'ELSTER Export nach Winston',
   'ELSTER-Steuernummer: '       => 'ELSTER-Steuernummer: ',
   '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',
   'EUER'                        => 'Einnahmen-/Überschussrechnung',
   'EUR'                         => 'E/Ü-Rechnung',
   'Edit'                        => 'Bearbeiten',
@@ -413,9 +416,11 @@ gestartet',
   'Exchangerate Difference'     => 'Wechselkursunterschied',
   'Exchangerate for payment missing!' => 'Es fehlt der Wechselkurs für die Bezahlung!',
   'Exchangerate missing!'       => 'Es fehlt der Wechselkurs!',
   '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',
   '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',
   'Expense/Asset'               => 'Aufwand/Anlagen',
   'Expired licenses'            => 'Abgelaufene Lizenzen',
   'Expiring in x month(s)'      => 'Die in x Monat(en) ablaufen',
@@ -484,6 +489,7 @@ gestartet',
   'Include in Report'           => 'In Bericht aufnehmen',
   'Include in drop-down menus'  => 'In Aufklappmenü aufnehmen',
   'Income Statement'            => 'GuV',
   'Include in Report'           => 'In Bericht aufnehmen',
   'Include in drop-down menus'  => 'In Aufklappmenü aufnehmen',
   'Income Statement'            => 'GuV',
+  'Income accno'                => 'Erl&ouml;skonto',
   'Incoming Payments'           => 'Zahlungseingänge',
   'Incorrect Password!'         => 'Ungültiges Passwort!',
   'Incorrect username or password!' => 'Ungültiger Benutzername oder falsches Passwort!',
   'Incoming Payments'           => 'Zahlungseingänge',
   'Incorrect Password!'         => 'Ungültiges Passwort!',
   'Incorrect username or password!' => 'Ungültiger Benutzername oder falsches Passwort!',
@@ -493,6 +499,7 @@ gestartet',
   'Input Number Format'         => 'Zahlenformat (Eingabe)',
   'Interest Rate'               => 'Zinssatz',
   'Internal Notes'              => 'interne Bemerkungen',
   'Input Number Format'         => 'Zahlenformat (Eingabe)',
   'Interest Rate'               => 'Zinssatz',
   'Internal Notes'              => 'interne Bemerkungen',
+  'International'               => 'Ausland',
   'Internet'                    => 'Internet',
   'Introduction of Buchungsgruppen' => 'Einf&uuml;hrung von Buchungsgruppen',
   'Introduction of units'       => 'Einf&uuml;hrung von Einheiten',
   'Internet'                    => 'Internet',
   'Introduction of Buchungsgruppen' => 'Einf&uuml;hrung von Buchungsgruppen',
   'Introduction of units'       => 'Einf&uuml;hrung von Einheiten',
@@ -505,6 +512,7 @@ gestartet',
   'Inventory quantity must be zero before you can set this part obsolete!' => 'Bevor diese Ware als ungültig markiert werden kann, muÃ\9f das Inventar Null sein!',
   'Inventory saved!'            => 'Inventar gespeichert.',
   'Inventory transferred!'      => 'Inventar umgelagert.',
   'Inventory quantity must be zero before you can set this part obsolete!' => 'Bevor diese Ware als ungültig markiert werden kann, muÃ\9f das Inventar Null sein!',
   'Inventory saved!'            => 'Inventar gespeichert.',
   'Inventory transferred!'      => 'Inventar umgelagert.',
+  'Invetory'                    => 'Inventar',
   'Invno.'                      => '',
   'Invnumber'                   => 'Rechnungsnummer',
   'Invoice'                     => 'Rechnung',
   'Invno.'                      => '',
   'Invnumber'                   => 'Rechnungsnummer',
   'Invoice'                     => 'Rechnung',
@@ -619,7 +627,9 @@ gestartet',
   'N/A'                         => 'N.Z.',
   'Name'                        => 'Name',
   'Name missing!'               => 'Name fehlt!',
   'N/A'                         => 'N.Z.',
   'Name'                        => 'Name',
   'Name missing!'               => 'Name fehlt!',
+  'National'                    => 'Inand',
   'Netto Terms'                 => 'Zahlungsziel netto',
   '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',
   'New Templates'               => 'neue Vorlagen',
   'New unit'                    => 'Neue Einheit',
   'Next Dunning Level'          => 'Nächste Mahnstufe',
@@ -887,6 +897,7 @@ gestartet',
   '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',
   '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',
   'Step 3 of 3: Default units'  => 'Schritt 3 von 3: Standardeinheiten',
   'Steuerberater/-in'           => 'Steuerberater/-in',
   'Steuernummer'                => 'Steuernummer',
@@ -933,6 +944,7 @@ gestartet',
   '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 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 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.',
@@ -949,6 +961,7 @@ gestartet',
   '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.',
   '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!',
   '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!',
index 2b0765f9c436cfedd8a112c69451d8cc6c84c59c..cc4780e1fb3a3c3a7a6876719ce6ba3ef1baec54 100644 (file)
@@ -1,5 +1,7 @@
 #!/usr/bin/perl
 
 #!/usr/bin/perl
 
+# Datenbankupgrade: Einfuehrung von Buchungsgruppen
+
 die("This script cannot be run from the command line.") unless ($main::form);
 
 sub mydberror {
 die("This script cannot be run from the command line.") unless ($main::form);
 
 sub mydberror {
@@ -52,13 +54,18 @@ sub set_ic_links {
 
 sub force_inventory_accno_id_for_parts {
   my $query =
 
 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 {
 }
 
 sub retrieve_accounts {
@@ -150,7 +157,7 @@ sub update_known_buchungsgruppen {
   my $query =
     "SELECT id, inventory_accno_id, income_accno_id, expense_accno_id " .
     "FROM parts " .
   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 $sth = $dbh->prepare($query);
   $sth->execute() || mydberror($query);
 
@@ -178,7 +185,8 @@ sub update_known_buchungsgruppen {
   my $query =
     "SELECT id, inventory_accno_id, income_accno_id, expense_accno_id " .
     "FROM parts " .
   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);
 
   my $sth = $dbh->prepare($query);
   $sth->execute() || mydberror($query);
 
@@ -201,7 +209,7 @@ sub update_known_buchungsgruppen {
 sub retrieve_unknown_accno_combinations {
   my ($buchungsgruppen) = @_;
 
 sub retrieve_unknown_accno_combinations {
   my ($buchungsgruppen) = @_;
 
-  my (@parts, @services, $sth, $query, $ref);
+  my (@parts, @services, @assemblies, $sth, $query, $ref);
 
   $query =
     "SELECT DISTINCT " .
 
   $query =
     "SELECT DISTINCT " .
@@ -240,10 +248,10 @@ sub retrieve_unknown_accno_combinations {
     "c2.accno AS income_accno, c2.description AS income_description, " .
     "c3.accno AS expense_accno, c3.description AS expense_description " .
     "FROM parts p " .
     "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 " .
     "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 = $dbh->prepare($query);
   $sth->execute() || mydberror($query);
@@ -263,7 +271,23 @@ sub retrieve_unknown_accno_combinations {
   }
   $sth->finish();
 
   }
   $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 {
 }
 
 sub display_create_bgs_dialog {
@@ -278,6 +302,10 @@ sub display_create_bgs_dialog {
     $entry->{"eur"} = $main::eur;
   }
 
     $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,
   print($form->parse_html_template("dbupgrade/buchungsgruppen_${type}",
                                    { "LIST" => $list,
                                      "BUCHUNGSGRUPPEN" => $buchungsgruppen,
@@ -299,15 +327,17 @@ sub create_buchungsgruppen {
                  $form->{"income_accno_id_3_$i"} &&
                  $form->{"expense_accno_id_3_$i"});
 
                  $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 (" .
       "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) " .
       "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
 
     foreach my $acc (qw(inventory_accno_id
                         income_accno_id_0 expense_accno_id_0
@@ -318,8 +348,36 @@ sub create_buchungsgruppen {
     }
 
     mydoquery($query, @values);
     }
 
     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();
 }
   $dbh->commit();
   $dbh->begin_work();
 }
@@ -359,6 +417,8 @@ sub retrieve_std_inventory_accno_id {
     $sth->finish();
   }
 
     $sth->finish();
   }
 
+  $inventory_accno_id = 1 unless ($inventory_accno_id);
+
   $form->{"std_inventory_accno_id"} = $inventory_accno_id;
 }
 
   $form->{"std_inventory_accno_id"} = $inventory_accno_id;
 }
 
@@ -367,6 +427,11 @@ sub do_update {
     create_buchungsgruppen();
   }
 
     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_std_inventory_accno_id();
 
   # Set all taxzone_id columns = 0.
@@ -389,7 +454,8 @@ sub do_update {
   # 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.
   # 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();
 
 
   my ($acc_inventory, $acc_income, $acc_expense) = retrieve_accounts();
 
@@ -400,6 +466,8 @@ sub do_update {
                               $acc_inventory, $acc_income, $acc_expense,
                               $buchungsgruppen);
     return 2;
                               $acc_inventory, $acc_income, $acc_expense,
                               $buchungsgruppen);
     return 2;
+  } else {
+    print($form->parse_html_template("dbupgrade/buchungsgruppen_parts_done"));
   }
 
   if (scalar(@{$services})) {
   }
 
   if (scalar(@{$services})) {
@@ -407,6 +475,17 @@ sub do_update {
                               $acc_inventory, $acc_income, $acc_expense,
                               $buchungsgruppen);
     return 2;
                               $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"));
   }
 
   print($form->parse_html_template("dbupgrade/buchungsgruppen_footer"));
diff --git a/templates/webpages/dbupgrade/buchungsgruppen_assemblies_de.html b/templates/webpages/dbupgrade/buchungsgruppen_assemblies_de.html
new file mode 100644 (file)
index 0000000..daf9821
--- /dev/null
@@ -0,0 +1,146 @@
+<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>
+
diff --git a/templates/webpages/dbupgrade/buchungsgruppen_assemblies_done_de.html b/templates/webpages/dbupgrade/buchungsgruppen_assemblies_done_de.html
new file mode 100644 (file)
index 0000000..088d233
--- /dev/null
@@ -0,0 +1,3 @@
+<div class="listtop">Schritt 3 von 3: Erzeugnisse</div>
+
+<p>In diesem Schritt gibt es nichts mehr zu tun.</p>
diff --git a/templates/webpages/dbupgrade/buchungsgruppen_assemblies_done_master.html b/templates/webpages/dbupgrade/buchungsgruppen_assemblies_done_master.html
new file mode 100644 (file)
index 0000000..26af74e
--- /dev/null
@@ -0,0 +1,3 @@
+<div class="listtop"><translate>Step 3 of 3: Assemblies</translate></div>
+
+<p><translate>There is nothing to do in this step.</translate></p>
diff --git a/templates/webpages/dbupgrade/buchungsgruppen_assemblies_master.html b/templates/webpages/dbupgrade/buchungsgruppen_assemblies_master.html
new file mode 100644 (file)
index 0000000..7381b93
--- /dev/null
@@ -0,0 +1,146 @@
+<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>
+
index 9c2185b5924356d86075c39aeda25ac126724a0d..452047e3b0f17396412732af9a6b31da565aa852 100644 (file)
@@ -1,4 +1,4 @@
-<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">
 
 
 <form name="Form" method="post" action="login.pl">
 
@@ -13,7 +13,7 @@
   <p><TMPL_VAR saved_message></p>
  </TMPL_IF>
 
   <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:
 
  <p>
   Die folgenden Buchungsgruppen wurden bereits angelegt:
@@ -25,7 +25,7 @@
      Inventar: <TMPL_VAR inventory_accno>;
 
      Erl&ouml;skonto/Aufwandskonto
      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>;
 
      Erl&ouml;skonto/Aufwandskonto
      EU mit UstId-Nummer: <TMPL_VAR income_accno_1>/<TMPL_VAR expense_accno_1>;
@@ -62,7 +62,7 @@
    </TMPL_IF>
 
    <tr>
    </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>
     <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>
@@ -70,7 +70,7 @@
    </tr>
 
    <tr>
    </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>
     <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>
 
   <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>
 
 
 </form>
 
diff --git a/templates/webpages/dbupgrade/buchungsgruppen_parts_done_de.html b/templates/webpages/dbupgrade/buchungsgruppen_parts_done_de.html
new file mode 100644 (file)
index 0000000..e2f26c8
--- /dev/null
@@ -0,0 +1,3 @@
+<div class="listtop">Schritt 1 von 3: Waren</div>
+
+<p>In diesem Schritt gibt es nichts mehr zu tun.</p>
diff --git a/templates/webpages/dbupgrade/buchungsgruppen_parts_done_master.html b/templates/webpages/dbupgrade/buchungsgruppen_parts_done_master.html
new file mode 100644 (file)
index 0000000..0c4b178
--- /dev/null
@@ -0,0 +1,3 @@
+<div class="listtop"><translate>Step 1 of 3: Parts</translate></div>
+
+<p><translate>There is nothing to do in this step.</translate></p>
index 318b0003704382077597eb61e53f3779deed1275..6f4e949ae39bd443309bc729c6b9173df5994af9 100644 (file)
@@ -1,4 +1,4 @@
-<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">
 
 
 <form name="Form" method="post" action="login.pl">
 
index b56ff4356a3339de1451fce74a9bfb2492e174d5..b2659ceb30efd69f059f04b6b2db1c3a361a3fa8 100644 (file)
@@ -1,4 +1,4 @@
-<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">
 
 
 <form name="Form" method="post" action="login.pl">
 
@@ -13,7 +13,7 @@
   <p><TMPL_VAR saved_message></p>
  </TMPL_IF>
 
   <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:
 
  <p>
   Die folgenden Buchungsgruppen wurden bereits angelegt:
@@ -25,7 +25,7 @@
      Inventar: <TMPL_VAR inventory_accno>;
 
      Erl&ouml;skonto/Aufwandskonto
      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>;
 
      Erl&ouml;skonto/Aufwandskonto
      EU mit UstId-Nummer: <TMPL_VAR income_accno_1>/<TMPL_VAR expense_accno_1>;
@@ -63,7 +63,7 @@
    </TMPL_IF>
 
    <tr>
    </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>
     <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>
@@ -71,7 +71,7 @@
    </tr>
 
    <tr>
    </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>
     <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>
 
   <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>
 
 
 </form>
 
diff --git a/templates/webpages/dbupgrade/buchungsgruppen_services_done_de.html b/templates/webpages/dbupgrade/buchungsgruppen_services_done_de.html
new file mode 100644 (file)
index 0000000..b2df9bd
--- /dev/null
@@ -0,0 +1,3 @@
+<div class="listtop">Schritt 2 von 3: Dienstleistungen</div>
+
+<p>In diesem Schritt gibt es nichts mehr zu tun.</p>
diff --git a/templates/webpages/dbupgrade/buchungsgruppen_services_done_master.html b/templates/webpages/dbupgrade/buchungsgruppen_services_done_master.html
new file mode 100644 (file)
index 0000000..c55db13
--- /dev/null
@@ -0,0 +1,3 @@
+<div class="listtop"><translate>Step 2 of 3: Services</translate></div>
+
+<p><translate>There is nothing to do in this step.</translate></p>
index 3eade422394d33e118e60110a9f7e752a9083d97..6847d6ef5aff003694cfef2cb4a4073cffa9ad50 100644 (file)
@@ -1,4 +1,4 @@
-<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">
 
 
 <form name="Form" method="post" action="login.pl">