Merge branch 'wiedervorlagen-keine-geloeschten-benutzer-2116'
authorMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 7 Jan 2014 13:11:45 +0000 (14:11 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 7 Jan 2014 13:11:45 +0000 (14:11 +0100)
12 files changed:
SL/Controller/CsvImport/Base.pm
SL/Controller/CsvImport/CustomerVendor.pm
SL/Controller/CsvImport/Helper/Consistency.pm
SL/Controller/CustomerVendor.pm
bin/mozilla/rp.pl
doc/UPGRADE
doc/dokumentation.xml
templates/print/RB/income_statement.html [deleted symlink]
templates/print/Standard/income_statement.html [deleted file]
templates/print/f-tex/income_statement.html [deleted file]
templates/webpages/rp/balance_sheet.html
templates/webpages/rp/income_statement.html [new file with mode: 0644]

index f8e9b59..9993975 100644 (file)
@@ -18,7 +18,7 @@ use parent qw(Rose::Object);
 use Rose::Object::MakeMethods::Generic
 (
  scalar                  => [ qw(controller file csv test_run save_with_cascade) ],
- 'scalar --get_set_init' => [ qw(profile displayable_columns existing_objects class manager_class cvar_columns all_cvar_configs all_languages payment_terms_by delivery_terms_by all_vc vc_by) ],
+ 'scalar --get_set_init' => [ qw(profile displayable_columns existing_objects class manager_class cvar_columns all_cvar_configs all_languages payment_terms_by delivery_terms_by all_vc vc_by clone_methods) ],
 );
 
 sub run {
@@ -161,6 +161,10 @@ sub init_all_vc {
            vendors   => SL::DB::Manager::Vendor->get_all };
 }
 
+sub init_clone_methods {
+  {}
+}
+
 sub force_allow_columns {
   return ();
 }
@@ -385,6 +389,9 @@ sub check_payment {
     }
 
     $object->payment_id($terms->id);
+
+    # register payment_id for method copying later
+    $self->clone_methods->{payment_id} = 1;
   }
 
   return 1;
@@ -411,6 +418,9 @@ sub check_delivery_term {
     }
 
     $object->delivery_term_id($terms->id);
+
+    # register delivery_term_id for method copying later
+    $self->clone_methods->{delivery_term_id} = 1;
   }
 
   return 1;
index 14b6730..946df06 100644 (file)
@@ -89,7 +89,7 @@ sub check_objects {
       # Update existing customer/vendor records.
       $entry->{object_to_save} = $existing_vc;
 
-      $existing_vc->$_( $entry->{object}->$_ ) for @{ $methods };
+      $existing_vc->$_( $entry->{object}->$_ ) for @{ $methods }, keys %{ $self->clone_methods };
 
       push @{ $entry->{information} }, $::locale->text('Updating existing entry in database');
 
@@ -153,6 +153,9 @@ sub check_language {
     }
 
     $object->language_id($language->id);
+
+    # register language_id for method copying later
+    $self->clone_methods->{language_id} = 1;
   }
 
   return 1;
@@ -179,6 +182,9 @@ sub check_business {
     }
 
     $object->business_id($business->id);
+
+    # register business_id for method copying later
+    $self->clone_methods->{business_id} = 1;
   }
 
   return 1;
index a666e6f..bf1d4c0 100644 (file)
@@ -34,6 +34,9 @@ sub check_currency {
     }
 
     $object->currency_id($currency->id);
+
+    # register currency_id for method copying later
+    $self->clone_methods->{currency_id} = 1;
   }
 
   # Set default currency if none was given and take_default is true.
index de77490..e5cb556 100644 (file)
@@ -167,6 +167,17 @@ sub _save {
 sub action_save {
   my ($self) = @_;
 
+  my $pattern = '[ \t\n\r]+';
+  my $name = $self->{cv}->name;
+  $name =~ s/^$pattern//;
+  $name =~ s/$pattern$//;
+  $name =~ s/$pattern/ /g;
+  if ( $name eq '' ) {
+    $::form->dberror( $::locale->text('Customer missing!') );
+  } else {
+    $self->{cv}->name($name);
+  }
+
   $self->_save();
 
   my @redirect_params = (
index 87fae36..f257b51 100644 (file)
@@ -376,11 +376,11 @@ sub generate_income_statement {
   }
 
   if ( $::instance_conf->get_profit_determination eq 'balance' ) {
-    $form->{income_statement_title} = $locale->text('Income Statement');
+    $form->{title} = $locale->text('Income Statement');
   } elsif ( $::instance_conf->get_profit_determination eq 'income' ) {
-    $form->{income_statement_title} = $locale->text('Net Income Statement');
+    $form->{title} = $locale->text('Net Income Statement');
   } else {
-    $form->{income_statement_title} = "";
+    $form->{title} = "";
   };
 
   if ( $form->{method} eq 'cash' ) {
@@ -391,11 +391,10 @@ sub generate_income_statement {
     $form->{accounting_method} = "";
   };
 
-  $::form->{report_date} = $locale->text('Report date') . ": " . $::form->current_date;
+  $form->{report_date} = $locale->text('Report date') . ": " . $form->current_date;
 
-  $form->{IN} = "income_statement.html";
-
-  $form->parse_template;
+  $form->header;
+  print $form->parse_html_template('rp/income_statement');
 
   $main::lxdebug->leave_sub();
 }
index afdd930..29b67cd 100644 (file)
@@ -59,7 +59,9 @@ Upgrade auf v3.x.0
 * Die alten ungepflegten Druckvorlagenvarianten French und Service
   wurden entfernt.
 
-
+* Die Druckvorlage für GuV/EÜR wird jetzt wie die Bilanz zentral in den
+  Webvorlagen verwaltet, es gibt keine benutzerangepassten Version in den
+  Druckvorlage mehr.
 
 Upgrade auf v3.0.0
 ==================
index d8dba3d..5bbc172 100644 (file)
@@ -1395,24 +1395,30 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/</programlisting>
 
       <sect2 id="Vorlagenverzeichnis-anlegen" xreflabel="Vorlagenverzeichnis anlegen">
         <title>Vorlagenverzeichnis anlegen</title>
-        <para>Im Administrationsbereich lässt sich bei einem Benutzer/Mandanten einer dieser Vorlagensätze als Basis für die zu
-        druckenden Dokumente auswählen. Rufen Sie dazu die <guimenu>Benutzerverwaltung</guimenu> auf.</para>
+        <para>Es lässt sich ein initialer Vorlagensatz erstellen. Die LaTeX-System-Abhängigkeiten hierfür kann man prüfen mit:</para>
 
-        <para>Wählen Sie dort einen Benutzer aus oder legen Sie einen neuen an. In der Benutzerbearbeiten-Maske müssen Sie zwei Dinge
-        angeben:</para>
+        <programlisting>./scripts/installation_check.pl -lv</programlisting>
+
+       <para>Der Angemmeldete Benutzer muss in einer Gruppe sein, die über das
+              Recht "Konfiguration -> Mandantenverwaltung" verfügt. Siehe auch <xref linkend="Gruppen-anlegen"/>.
+        </para>
+        <para>Im Userbereich lässt sich unter:
+        "<guimenu>System</guimenu> -&gt;
+        <guisubmenu>Mandantenverwaltung</guisubmenu> -&gt; <guimenuitem>Verschiedenes</guimenuitem>" die Option
+        "Neue Druckvorlagen aus Vorlagensatz erstellen" auswählen.</para>
 
         <orderedlist>
-          <listitem><para><option>Name</option>: Der Verzeichnisname für den neuen Vorlagensatz. Dieser kann im Rahmen der üblichen
-          Bedingungen für Verzeichnisnamen frei gewählt werden.</para></listitem>
           <listitem><para><option>Vorlagen auswählen</option>: Wählen Sie hier den Vorlagensatz aus, der kopiert werden soll
           (<filename>Standard</filename>, <filename>f-tex</filename> oder <filename>RB</filename>.)</para></listitem>
+          <listitem><para><option>Neuer Name</option>: Der Verzeichnisname für den neuen Vorlagensatz. Dieser kann im Rahmen der üblichen
+          Bedingungen für Verzeichnisnamen frei gewählt werden.</para></listitem>
         </orderedlist>
 
-        <para>Der gleiche Vorlagensatz kann, wenn er mal angelegt ist, bei mehreren Benutzern verwendet werden.</para>
-
-        <para>Die Abhängigkeiten kann man prüfen mit:</para>
+        <para>Nach dem Speichern wird das Vorlagenverzeichnis angelegt und ist für den aktuellen Mandanten ausgewählt.
+           Der gleiche Vorlagensatz kann, wenn er mal angelegt ist, bei mehreren Mandanten verwendet werden.
+           Eventuell muessen Anpassungen (Logo, Erscheinungsbild, etc) noch vorgenommen werden. Den Ordner findet man im Dateisistem unter
+           <filename>./templates/[Neuer Name]</filename></para>
 
-        <programlisting>/scripts/installation_check.pl -l</programlisting>
 
       </sect2>
       <sect2 id="Vorlagen-Standard">
diff --git a/templates/print/RB/income_statement.html b/templates/print/RB/income_statement.html
deleted file mode 120000 (symlink)
index 3cdf3f1..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../../../templates/print/Standard/income_statement.html
\ No newline at end of file
diff --git a/templates/print/Standard/income_statement.html b/templates/print/Standard/income_statement.html
deleted file mode 100644 (file)
index 1cad899..0000000
+++ /dev/null
@@ -1,293 +0,0 @@
-<body>
-
-<h2 align=center> <%income_statement_title%></h2>
-<h3 align=center>
-<%period%><br>
-<%accounting_method%><br>
-
-<br><%report_date%>
-</h3>
-
-<table width=100% border=0>
-<tr>
-  <td width=75% align=left colspan=2><font size="+1"><b>A. Betriebseinnahmen</font></b><br></td>
-  <td></td>
-</tr>
-
-<tr>
-  <td>
-       Umsatzerl&ouml;se  
-  </td>
-  <td>
-       <%eur1%>
-  </td>
-</tr>
-<tr>
-  <td>
-       sonstige Erl&ouml;se  
-  </td>
-  <td>
-       <%eur2%>  
-  </td>
-</tr>
-<tr>
-  <td>
-       Privatanteile
-  </td>
-  <td>
-       <%eur3%>  
-  </td>
-</tr>
-<tr>
-  <td>
-       Zinsertr&auml;ge
-  </td>
-  <td>
-       <%eur4%>  
-  </td>
-</tr>
-<tr>
-  <td>
-       Au&szlig;erordentliche Ertr&auml;ge
-  </td>
-  <td>
-       <%eur5%>  
-  </td>
-</tr>
-<tr>
-  <td>
-       Vereinnahmte Umsatzsteuer
-  </td>
-  <td>
-       <%eur6%>  
-  </td>
-</tr>
-<tr>
-  <td>
-       Umsatzsteuererstattungen
-  </td>
-  <td>
-       <%eur7%>  
-  </td>
-</tr>
-
-
-<tr>
-  <td> </td>
-  <td><hr noshade size=1></td>
-</tr>
-
-<tr valign=top>
-  <th align=left><b>Summe Einnahmen</b></th>
-  <td align=right><%sumeura%><hr noshade size=2></td>
-</tr>
-<tr>
-  <td></td>
-  <td><br><br></td>
-</tr>
-<tr>
-  <td align=left><font size="+1"><b>B. Betriebsausgaben</font></b><br></td>
-  <td></td>
-</tr>
-
-<tr>
-  <td>
-       Wareneing&auml;nge
-  </td>
-  <td>
-       <%eur8%>  
-  </td>
-</tr>
-<tr>
-  <td>
-       L&ouml;hne und Geh&auml;ter
-  </td>
-  <td>
-       <%eur9%>  
-  </td>
-</tr>
-<tr>
-  <td>
-       Gesetzlicher sozialer Aufwand
-  </td>
-  <td>
-       <%eur10%>  
-  </td>
-</tr>
-<tr>
-  <td>
-       Mieten
-  </td>
-  <td>
-       <%eur11%>  
-  </td>
-</tr>
-<tr>
-  <td>
-       Gas, Strom, Wasser
-  </td>
-  <td>
-       <%eur12%>  
-  </td>
-</tr>
-<tr>
-  <td>
-       Instandhaltung
-  </td>
-  <td>
-       <%eur13%>  
-  </td>
-</tr>
-<tr>
-  <td>
-       Steuern, Versicherungen, Beitr&auml;ge
-  </td>
-  <td>
-       <%eur14%>  
-  </td>
-</tr>
-<tr>
-  <td>
-       Kfz-Steuern
-  </td>
-  <td>
-       <%eur15%>  
-  </td>
-</tr><tr>
-  <td>
-       Kfz-Versicherungen
-  </td>
-  <td>
-       <%eur16%>  
-  </td>
-</tr><tr>
-  <td>
-       Sonstige Fahrzeugkosten
-  </td>
-  <td>
-       <%eur17%>  
-  </td>
-</tr><tr>
-  <td>
-       Werbe- und Reisekosten
-  </td>
-  <td>
-       <%eur18%>  
-  </td>
-</tr><tr>
-  <td>
-       Instandhaltung und Werkzeuge
-  </td>
-  <td>
-       <%eur19%>  
-  </td>
-</tr><tr>
-  <td>
-       Fachzeitschriften, B&uuml;cher
-  </td>
-  <td>
-       <%eur20%>  
-  </td>
-</tr><tr>
-  <td>
-       Miete f&uuml;r Einrichtungen
-  </td>
-  <td>
-       <%eur21%>  
-  </td>
-</tr><tr>
-  <td>
-       Rechts- und Beratungskosten
-  </td>
-  <td>
-       <%eur22%>  
-  </td>
-</tr><tr>
-  <td>
-       B&uuml;robedarf, Porto, Telefon
-  </td>
-  <td>
-       <%eur23%>  
-  </td>
-</tr><tr>
-  <td>
-       Sonstige Aufwendungen
-  </td>
-  <td>
-       <%eur24%>  
-  </td>
-</tr><tr>
-  <td>
-       Abschreibungen auf Anlageverm&ouml;gen
-  </td>
-  <td>
-       <%eur25%>  
-  </td>
-</tr><tr>
-  <td>
-       Abschreibungen auf GWG
-  </td>
-  <td>
-       <%eur26%>  
-  </td>
-</tr><tr>
-  <td>
-       Vorsteuer
-  </td>
-  <td>
-       <%eur27%>  
-  </td>
-</tr><tr>
-  <td>
-       Umsatzsteuerzahlungen
-  </td>
-  <td>
-       <%eur28%>  
-  </td>
-</tr><tr>
-  <td>
-       Zinsaufwand
-  </td>
-  <td>
-       <%eur29%>  
-  </td>
-</tr><tr>
-  <td>
-       Au&szlig;erordentlicher Aufwand
-  </td>
-  <td>
-       <%eur30%>  
-  </td>
-</tr><tr>
-  <td>
-       Betriebliche Steuern
-  </td>
-  <td>
-       <%eur31%>  
-  </td>
-</tr>
-
-
-<tr>
-  <td> </td>
-  <td><hr noshade size=1></td>
-</tr>
-
-<tr valign=top>
-  <th align=left><b>Summe Ausgaben</b></th>
-  <td align=right><%sumeurb%> <br><hr noshade size=2</td>
-</tr>
-<tr>
-  <td></td>
-  <td><br><br></td>
-</tr>
-<tr valign=top>
-  <td align=left>GEWINN / VERLUST</td>
-  <td align=right><%guvsumme%><br><hr noshade size=2></td>
-</tr>
-
-</table>
-
-</body>
-</html>
-
diff --git a/templates/print/f-tex/income_statement.html b/templates/print/f-tex/income_statement.html
deleted file mode 100644 (file)
index e9d6a40..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-
-<body bgcolor=ffffff>
-
-<h2 align=center>
-<%company%>
-<br><%address%>
-
-<p>INCOME STATEMENT
-<br><%period%>
-</h2>
-
-
-<table width=100% border=0>
-<tr>
-  <th width=400 align=left colspan=2>INCOME<br><hr width=300 size=5 align=left noshade></th>
-  <th><%this_period%></th>
-  <th><%last_period%></th>
-</tr>
-
-<%foreach income_account%>
-<tr>
-  <td width=4> </td>
-  <td><%income_account%></td>
-  <td align=right><%income_this_period%></td>
-  <td align=right><%income_last_period%></td>
-</tr>
-<%end income_account%>
-
-<tr>
-  <td colspan=2> </td>
-  <td><hr noshade size=1></td>
-  <td><hr noshade size=1></td>
-</tr>
-
-<tr valign=top>
-  <td> </td>
-  <th align=left>Total Income</th>
-  <td align=right><%total_income_this_period%><hr noshade size=2></td>
-  <td align=right><%total_income_last_period%><hr noshade size=2></td>
-</tr>
-
-<tr>
-  <th align=left colspan=2>EXPENSES<br><hr width=300 size=5 align=left noshade></th>
-</tr>
-
-<%foreach expense_account%>
-<tr>
-  <td> </td>
-  <td><%expense_account%></td>
-  <td align=right><%expenses_this_period%></td>
-  <td align=right><%expenses_last_period%></td>
-</tr>
-<%end expense_account%>
-
-<tr>
-  <td colspan=2> </td>
-  <td><hr noshade size=1></td>
-  <td><hr noshade size=1></td>
-</tr>
-
-<tr valign=top>
-  <td> </td>
-  <th align=left>Total Expenses</th>
-  <td align=right><%total_expenses_this_period%><br><hr noshade size=2</td>
-  <td align=right><%total_expenses_last_period%><br><hr noshade size=2</td>
-</tr>
-
-<tr valign=top>
-  <th align=left colspan=2>INCOME / (LOSS)</th>
-  <td align=right><%total_this_period%><br><hr noshade size=2></td>
-  <td align=right><%total_last_period%><br><hr noshade size=2></td>
-</tr>
-
-</table>
-
-
-
-
-
-
-
-
index fad142c..7605caa 100644 (file)
@@ -1,13 +1,13 @@
 [%- USE T8 %]
 [%- USE HTML %]
 [%- USE LxERP %]
-<h2 align="center">
+<h3 align="center">
 [% company %]
 <br>[% address %]
 <p>[% 'BALANCE SHEET' | $T8 %]
 <br>[% 'Balance sheet date' | $T8 %]: [% this_period %]
 <br>[% 'Report date' | $T8 %]: [% report_date %]
-</h2>
+</h3>
 
 <table border="0">
   <tr>
diff --git a/templates/webpages/rp/income_statement.html b/templates/webpages/rp/income_statement.html
new file mode 100644 (file)
index 0000000..e5f00ba
--- /dev/null
@@ -0,0 +1,295 @@
+[%- USE T8 %]
+[%- USE HTML %]
+[%- USE LxERP %]
+
+<h3 align=center> [% title %]</h3>
+<h3 align=center>
+[% period %]<br>
+[% accounting_method %]<br>
+
+<br>[% report_date %]
+</h3>
+
+<table width=100% border=0>
+<tr>
+  <td width=75% align=left colspan=2><font size="+1"><b>A. Betriebseinnahmen</font></b><br></td>
+  <td></td>
+</tr>
+
+<tr>
+  <td>
+       Umsatzerl&ouml;se  
+  </td>
+  <td>
+       [% eur1 %]
+  </td>
+</tr>
+<tr>
+  <td>
+       sonstige Erl&ouml;se  
+  </td>
+  <td>
+       [% eur2 %]  
+  </td>
+</tr>
+<tr>
+  <td>
+       Privatanteile
+  </td>
+  <td>
+       [% eur3 %]  
+  </td>
+</tr>
+<tr>
+  <td>
+       Zinsertr&auml;ge
+  </td>
+  <td>
+       [% eur4 %]  
+  </td>
+</tr>
+<tr>
+  <td>
+       Au&szlig;erordentliche Ertr&auml;ge
+  </td>
+  <td>
+       [% eur5 %]  
+  </td>
+</tr>
+<tr>
+  <td>
+       Vereinnahmte Umsatzsteuer
+  </td>
+  <td>
+       [% eur6 %]  
+  </td>
+</tr>
+<tr>
+  <td>
+       Umsatzsteuererstattungen
+  </td>
+  <td>
+       [% eur7 %]  
+  </td>
+</tr>
+
+
+<tr>
+  <td> </td>
+  <td><hr noshade size=1></td>
+</tr>
+
+<tr valign=top>
+  <th align=left><b>Summe Einnahmen</b></th>
+  <td align=right>[% sumeura %]<hr noshade size=2></td>
+</tr>
+<tr>
+  <td></td>
+  <td><br><br></td>
+</tr>
+<tr>
+  <td align=left><font size="+1"><b>B. Betriebsausgaben</font></b><br></td>
+  <td></td>
+</tr>
+
+<tr>
+  <td>
+       Wareneing&auml;nge
+  </td>
+  <td>
+       [% eur8 %]  
+  </td>
+</tr>
+<tr>
+  <td>
+       L&ouml;hne und Geh&auml;ter
+  </td>
+  <td>
+       [% eur9 %]  
+  </td>
+</tr>
+<tr>
+  <td>
+       Gesetzlicher sozialer Aufwand
+  </td>
+  <td>
+       [% eur10 %]  
+  </td>
+</tr>
+<tr>
+  <td>
+       Mieten
+  </td>
+  <td>
+       [% eur11 %]  
+  </td>
+</tr>
+<tr>
+  <td>
+       Gas, Strom, Wasser
+  </td>
+  <td>
+       [% eur12 %]  
+  </td>
+</tr>
+<tr>
+  <td>
+       Instandhaltung
+  </td>
+  <td>
+       [% eur13 %]  
+  </td>
+</tr>
+<tr>
+  <td>
+       Steuern, Versicherungen, Beitr&auml;ge
+  </td>
+  <td>
+       [% eur14 %]  
+  </td>
+</tr>
+<tr>
+  <td>
+       Kfz-Steuern
+  </td>
+  <td>
+       [% eur15 %]  
+  </td>
+</tr><tr>
+  <td>
+       Kfz-Versicherungen
+  </td>
+  <td>
+       [% eur16 %]  
+  </td>
+</tr><tr>
+  <td>
+       Sonstige Fahrzeugkosten
+  </td>
+  <td>
+       [% eur17 %]  
+  </td>
+</tr><tr>
+  <td>
+       Werbe- und Reisekosten
+  </td>
+  <td>
+       [% eur18 %]  
+  </td>
+</tr><tr>
+  <td>
+       Instandhaltung und Werkzeuge
+  </td>
+  <td>
+       [% eur19 %]  
+  </td>
+</tr><tr>
+  <td>
+       Fachzeitschriften, B&uuml;cher
+  </td>
+  <td>
+       [% eur20 %]  
+  </td>
+</tr><tr>
+  <td>
+       Miete f&uuml;r Einrichtungen
+  </td>
+  <td>
+       [% eur21 %]  
+  </td>
+</tr><tr>
+  <td>
+       Rechts- und Beratungskosten
+  </td>
+  <td>
+       [% eur22 %]  
+  </td>
+</tr><tr>
+  <td>
+       B&uuml;robedarf, Porto, Telefon
+  </td>
+  <td>
+       [% eur23 %]  
+  </td>
+</tr><tr>
+  <td>
+       Sonstige Aufwendungen
+  </td>
+  <td>
+       [% eur24 %]  
+  </td>
+</tr><tr>
+  <td>
+       Abschreibungen auf Anlageverm&ouml;gen
+  </td>
+  <td>
+       [% eur25 %]  
+  </td>
+</tr><tr>
+  <td>
+       Abschreibungen auf GWG
+  </td>
+  <td>
+       [% eur26 %]  
+  </td>
+</tr><tr>
+  <td>
+       Vorsteuer
+  </td>
+  <td>
+       [% eur27 %]  
+  </td>
+</tr><tr>
+  <td>
+       Umsatzsteuerzahlungen
+  </td>
+  <td>
+       [% eur28 %]  
+  </td>
+</tr><tr>
+  <td>
+       Zinsaufwand
+  </td>
+  <td>
+       [% eur29 %]  
+  </td>
+</tr><tr>
+  <td>
+       Au&szlig;erordentlicher Aufwand
+  </td>
+  <td>
+       [% eur30 %]  
+  </td>
+</tr><tr>
+  <td>
+       Betriebliche Steuern
+  </td>
+  <td>
+       [% eur31 %]  
+  </td>
+</tr>
+
+
+<tr>
+  <td> </td>
+  <td><hr noshade size=1></td>
+</tr>
+
+<tr valign=top>
+  <th align=left><b>Summe Ausgaben</b></th>
+  <td align=right>[% sumeurb %] <br><hr noshade size=2</td>
+</tr>
+<tr>
+  <td></td>
+  <td><br><br></td>
+</tr>
+<tr valign=top>
+  <td align=left>GEWINN / VERLUST</td>
+  <td align=right>[% guvsumme %]<br><hr noshade size=2></td>
+</tr>
+
+</table>
+
+</body>
+</html>
+