Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
[kivitendo-erp.git] / doc / dokumentenvorlagen-und-variablen.html
index c71f539..e1dac11 100644 (file)
@@ -3,7 +3,7 @@
   <title>Dokumentenvorlagen und verf&uuml;gbare Variablen</title>
   <style type="text/css">
   <!--
-.blue { 
+.blue {
            color: #000000;
            background-color: #b0ecff;
            border: 1px solid blue;
@@ -18,7 +18,7 @@ table {
         border-collapse: collapse;
         }
 
-td { 
+td {
      border: 1px solid #be5303;
      padding: 3px;
      }
@@ -48,6 +48,15 @@ td {
   <li><a href="dokumentenvorlagen-und-variablen.html#zuordnung_dateinamen">
     Zuordnung von Dateinamen zu den Funktionen</a></li>
 
+  <li><a href="#variablen_ausgeben">Variablen ausgeben</a>
+  </li>
+
+  <li><a href="#verwendung_in_druckbefehlen">Verwendung in Druckbefehlen</a>
+  </li>
+
+  <li><a href="dokumentenvorlagen-und-variablen.html#tag_style">
+    Anfang und Ende der Tags ver&auml;ndern</a></li>
+
   <li><a href="dokumentenvorlagen-und-variablen.html#allgemeine_variablen">
     Allgemeine Variablen, die in allen Vorlagen vorhanden sind</a><br>
 
@@ -78,39 +87,50 @@ td {
 
     <li><a href="dokumentenvorlagen-und-variablen.html#invoice_zahlungen">
       Variablen f&uuml;r die Zahlungseing&auml;nge</a></li>
+
+    <li><a href="dokumentenvorlagen-und-variablen.html#invoice_benutzerdefinierte_variablen_vc">
+      Benutzerdefinierte Kunden- und Lieferantenvariablen</a></li>
    </ol>
   </li>
 
   <li><a href="dokumentenvorlagen-und-variablen.html#dunning">
-    Variablen in Mahnungen</a>
+    Variablen in Mahnungen und Rechnungen &uuml;ber Mahngeb&uuml;hren</a>
 
    <ol>
+    <li><a href="dokumentenvorlagen-und-variablen.html#dunning_vorlagennamen">
+      Namen der Vorlagen</a></li>
+
     <li><a href="dokumentenvorlagen-und-variablen.html#dunning_allgemein">
-      Allgemeine Variablen</a></li>
+      Allgemeine Variablen in Mahnungen</a></li>
 
     <li><a href="dokumentenvorlagen-und-variablen.html#dunning_details">
-      Variablen f&uuml;r jede gemahnte Rechnung</a></li>
+      Variablen f&uuml;r jede gemahnte Rechnung in einer Mahnung</a></li>
+
+    <li><a href="dokumentenvorlagen-und-variablen.html#dunning_invoice">
+      Variablen in automatisch erzeugten Rechnungen &uuml;ber Mahngeb&uuml;hren</a></li>
    </ol>
   </li>
 
   <li><a href="dokumentenvorlagen-und-variablen.html#anderevorlagen">
-    Variablen in anderen Vorlagen</a></li>
+    Variablen in anderen Vorlagen</a>
+
+   <ol>
+    <li><a href="dokumentenvorlagen-und-variablen.html#anderevorlagen_quotations">Angebote und Preisanfragen</a></li>
+    <li><a href="dokumentenvorlagen-und-variablen.html#anderevorlagen_orders">Auftragsbest&auml;tigungen und Lieferantenauftr&auml;ge</a></li>
+    <li><a href="dokumentenvorlagen-und-variablen.html#anderevorlagen_delivery_orders">Lieferscheine (Verkauf und Einkauf)</a></li>
+    <li><a href="dokumentenvorlagen-und-variablen.html#anderevorlagen_statement">Sammelrechnung</a></li>
+   </ol>
+  </li>
 
   <li><a href="dokumentenvorlagen-und-variablen.html#bloecke">
     Bl&ouml;cke, bedingte Anweisungen und Schleifen</a>
 
    <ol>
-    <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_ifnot">
-      Der <code>if not</code>-Block</a></li>
-
     <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_if">
       Der <code>if</code>-Block</a></li>
 
     <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_foreach">
       Die <code>foreach</code>-Schleife</a></li>
-
-    <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_pagebreak">
-      Der <code>pagebreak</code>-Block</a></li>
    </ol>
   </li>
 
@@ -127,7 +147,20 @@ td {
  <p>Dies ist eine Auflistung der Standard-Dokumentenvorlagen und aller
   zur Bearbeitung verf&uuml;gbaren Variablen. Eine Variable wird in
   einer Vorlage durch ihren Inhalt ersetzt, wenn sie in der Form
-  <code>&lt;%variablenname%&gt;</code> verwendet wird.</p>
+  <code>&lt;%variablenname%&gt;</code> verwendet wird. F&uuml;r LaTeX-
+  und HTML-Vorlagen kann man die Form dieser Tags auch
+  <a href="dokumentenvorlagen-und-variablen.html#tag_style">
+   ver&auml;ndern</a>.
+ </p>
+
+ <p>Einige Zahlenwerte werden auch in unformatierter Form zur Verf&uuml;gung
+  gestellt (also z.B. 35 statt 35,00 oder 12.3 statt 12,30). Der Dezimaltrenner
+  ist dabei also immer ein Punkt unabhaengig vom eingestellten Zahlenformat.
+  Diese Variabelen kann man mit der Erweiterung _nofmt (f&uuml;r  no-format) aufrufen
+  (also z.B. netprice = 12,30 -- netprice_nofmt = 12.3). Variabeln die zus&auml;tzlich
+  unformatiert zur Verf&uuml;gung stehen sind unten als variable[_nofmt] gelistet.
+  Die Eckigen Klammern weisen also auf eine optionale Verw&auml;ndung der Erweiterung hin.
+  </p>
 
  <p>Fr&uuml;her wurde hier nur &uuml;ber LaTeX gesprochen. Inzwischen
   unterst&uuml;tzt Lx-Office aber auch OpenDocument-Vorlagen. Sofern
@@ -162,6 +195,98 @@ td {
    zum Inhaltsverzeichnis</a></small><br>
  <hr>
 
+ <h2><a name="variablen_ausgeben">Variablen ausgeben</a></h2>
+
+ <p>Um eine Variable auszugeben, müssen sie einfach nur zwischen die
+  Tags geschrieben werden, also
+  z.B. <code>&lt;%variablenname%&gt;</code>.</p>
+
+ <p>
+  Optional kann man auch mit Leerzeichen getrennte Flags angeben, die
+  man aber nur selten brauchen wird. Die Syntax sieht also so
+  aus: <code>&lt;%variablenname FLAG1 FLAG2%&gt;</code>. Momentan werden
+  die folgenden Flags unterstützt:
+ </p>
+
+ <ul>
+  <li>
+   <code>NOFORMAT</code> gilt nur für Zahlenwerte und gibt den Wert
+   ohne Formatierung, also ohne Tausendertrennzeichen mit mit einem
+   Punkt als Dezimaltrennzeichen aus. Nützlich z.B., wenn damit in der
+   Vorlage z.B. von LaTeX gerechnet werden soll.
+  </li>
+
+  <li>
+   <code>NOESCAPE</code> unterdrückt das Escapen von Sonderzeichen für
+   die Vorlagensprache. Wenn also in einer Variablen bereits gültiger
+   LaTeX-Code steht und dieser von LaTeX auch ausgewertet und nicht
+   wortwörtlich angezeigt werden soll, so ist dieses Flag sinnvoll.
+  </li>
+ </ul>
+
+ <p>
+  Beispiel: <code class="blue">&lt;%quototal NOFORMAT%&gt;</code>
+ </p>
+
+ <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
+   zum Inhaltsverzeichnis</a></small><br>
+ <hr>
+
+ <h2><a name="verwendung_in_druckbefehlen">Verwendung in Druckbefehlen</a></h2>
+
+ <p>
+  In der Admininstration können Drucker definiert werden. Auch im dort
+  eingebbaren Druckbefehl können die hier aufgelisteten Variablen und
+  Kontrollstrukturen verwendet werden. Ihr Inhalt wird dabei nach den
+  Regeln der gängigen Shells formatiert, sodass Sonderzeichen
+  wie <code>`...`</code> nicht zu unerwünschtem Verhalten führen.
+ </p>
+
+ <p>
+  Dies erlaubt z.B. die Definition eines Faxes als Druckerbefehl, für
+  das die Telefonnummer eines Ansprechpartners als Teil der
+  Kommandozeile verwendet wird. Für ein fiktives Kommando könnte das
+  z.B. wie folgt aussehen:
+ </p>
+
+ <p>
+  <code>send_fax --number &lt;%if cp_phone2%&gt;&lt;%cp_phone2%&gt;&lt;%else%&gt;&lt;%cp_phone1%&gt;&lt;%end%&gt;</code>
+ </p>
+
+ <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
+   zum Inhaltsverzeichnis</a></small><br>
+ <hr>
+
+ <h2><a name="tag_style">
+   Anfang und Ende der Tags ver&auml;ndern</a></h2>
+
+ <p>Der Standardstil f&uuml;r Tags sieht vor, dass ein Tag mit dem
+  Kleinerzeichen und einem Prozentzeichen beginnt und mit dem
+  Prozentzeichen und dem Gr&ouml;&szlig;erzeichen endet,
+  beispielsweise <code>&lt;%customer%&gt;</code>. Da diese Form aber
+  z.B. in LaTeX zu Problemen f&uuml;hren kann, weil das Prozentzeichen
+  dort Kommentare einleitet, kann pro HTML- oder
+  LaTeX-Dokumentenvorlage der Stil umgestellt werden.</p>
+
+ <p>Dazu werden in die Datei Zeilen geschrieben, die mit dem f&uuml;r
+  das Format g&uuml;ltigen Kommentarzeichen anfangen,
+  dann <code>config:</code> enthalten, die entsprechende Option setzen
+  und bei HTML-Dokumentenvorlagen mit dem Kommentarendzeichen
+  enden. Beispiel f&uuml;r LaTeX:</p>
+
+ <p><code>% config: tag-style=($ $)</code></p>
+
+ <p>Dies w&uuml;rde Lx-Office dazu veranlassen, Variablen zu ersetzen,
+  wenn sie wie folgt aussehen: <code>($customer$)</code>. Das
+  &auml;quivalente Beispiel f&uuml;r HTML-Dokumentenvorlagen sieht so
+  aus:</p>
+
+ <p><code>&lt;!-- config: tag-style=($ $) --&gt;</code></p>
+
+ <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
+   zum Inhaltsverzeichnis</a></small><br>
+ <hr>
+
  <h2><a name="zuordnung_dateinamen">
    Zuordnung von den Dateinamen zu den Funktionen</a></h2>
 
@@ -170,17 +295,83 @@ td {
   geeignet zu ersetzen: &quot;.tex&quot; f&uuml; LaTeX-Vorlagen und
   &quot;.odt&quot; f&uuml;r OpenDocument-Vorlagen.</p>
 
- <ul>
-  <li><code>bin_list.ext</code> -- Lagerliste</li>
-  <li><code>check.ext</code> -- ?</li>
-  <li><code>invoice.ext</code> -- Rechnung</li>
-  <li><code>packing_list.ext</code> -- Verpackungsliste</li>
-  <li><code>pick_list.ext</code> -- Sammelliste</li>
-  <li><code>purcharse_order.ext</code> -- Bestellung an Lieferanten</li>
-  <li><code>request_quotation.ext</code> -- Anfrage an Lieferanten</li>
-  <li><code>sales_order.ext</code> -- Bestellung</li>
-  <li><code>sales_quotation.ext</code> -- Angebot an Kunden</li>
- </ul>
+ <p>
+  <table border="1">
+   <tr>
+    <th>Dateiname</th>
+    <th>Bedeutung</th>
+   </tr>
+   <tr>
+    <td><code>bin_list.ext</code></td>
+    <td>Lagerliste</td>
+   </tr>
+   <tr>
+    <td><code>check.ext</code></td>
+    <td>?</td>
+   </tr>
+   <tr>
+    <td><code>invoice.ext</code></td>
+    <td>Rechnung</td>
+   </tr>
+   <tr>
+    <td><code>packing_list.ext</code></td>
+    <td>Packliste</td>
+   </tr>
+   <tr>
+    <td><code>pick_list.ext</code></td>
+    <td>Sammelliste</td>
+   </tr>
+   <tr>
+    <td><code>purchase_delivery_order.ext</code></td>
+    <td>Lieferschein (Einkauf)</td>
+   </tr>
+   <tr>
+    <td><code>purcharse_order.ext</code></td>
+    <td>Bestellung an Lieferanten</td>
+   </tr>
+   <tr>
+    <td><code>request_quotation.ext</code></td>
+    <td>Anfrage an Lieferanten</td>
+   </tr>
+   <tr>
+    <td><code>sales_delivery_order.ext</code></td>
+    <td>Lieferschein (Verkauf)</td>
+   </tr>
+   <tr>
+    <td><code>sales_order.ext</code></td>
+    <td>Bestellung</td>
+   </tr>
+   <tr>
+    <td><code>sales_quotation.ext</code></td>
+    <td>Angebot an Kunden</td>
+   </tr>
+   <tr>
+    <td><code>zahlungserinnerung.ext</code></td>
+    <td>Mahnung (Dateiname im Programm konfigurierbar)</td>
+   </tr>
+   <tr>
+    <td><code>zahlungserinnerung_invoice.ext</code></td>
+    <td>Rechnung &uuml;ber Mahngeb&uuml;hren (Dateiname im Programm konfigurierbar)</td>
+   </tr>
+  </table>
+ </p>
+
+ <a name="#dateinamen_erweitert"<h3>Sprache, Drucker und E-Mail</h3>
+
+ <p>Angeforderte Sprache und Druckerk&uuml;rzel in den Dateinamen mit eingearbeitet. So wird aus der Vorlage <code>sales_order.ext</code> bei Sprache <code>de</code> und Druckerk&uuml;rzel <code>lpr2</code> der Vorlagenname <code>sales_order_de_lpr2.ext</code>. Zus&auml;tzlich k&ouml;nnen f&uuml;r E-Mails andere Vorlagen erstellt werden, diese bekommen dann noch das K&uuml;rzel <code>_email</code>, der vollst&auml;ndige Vorlagenname w&auml;re dann <code>sales_order_email_de_lpr2.ext</code>. In allen F&auml;llen kann eine Standarddatei <code>default.ext</code> hinterlegt werden. Diese wird verwendet, wenn keine der anderen Varianten gefunden wird.</p>
+
+ <p>Die vollst&auml;ndige Suchreihenfolge f&uuml;r einen Verkaufsauftrag mit der Sprache "de" und dem Drucker "lpr2", der per E-Mail im Format PDF verschickt wird, ist:</p>
+ <p>
+  <table border='1'>
+   <tr><th>Reihenfolge der m&ouml;glichen Vorlagennamen</th></tr>
+   <tr><td><code>sales_order_email_de_lpr2.tex</code></td></tr>
+   <tr><td><code>sales_order_de_lpr2.tex</code></td></tr>
+   <tr><td><code>sales_order.tex</code></td></tr>
+   <tr><td><code>default.tex</code></td></tr>
+  </table>
+ </p>
+
+ <p>Die kurzen Varianten dieser Vorlagentitel m&uuml;ssen dann entweder Standardwerte anzeigen, oder die angeforderten Werte selbst auswerten, siehe dazu <a href="#allgemein_meta">Metadaten in Vorlagen</a></p>
 
  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
    zum Inhaltsverzeichnis</a></small><br>
@@ -189,6 +380,57 @@ td {
  <h2><a name="allgemeine_variablen">
    Allgemeine Variablen, die in allen Vorlagen vorhanden sind</a></h2>
 
+ <h3><a name="allgemein_meta">
+   Metainformationen zur angeforderten Vorlage:</a></h3>
+
+ <p>Diese Variablen liefern Informationen dar&uuml;ber welche Variante einer Vorlage der Benutzer angefragt hat. Sie sind n&uuml;tzlich f&uuml;r Vorlagenautoren, die aus einer zentralen Layoutvorlage die einzelnen Formulare einbinden m&ouml;chten.</p>
+
+ <p>
+  <table border="1">
+   <tr><th>Variablenname</th><th>Bedeutung</th></tr>
+   <tr>
+    <td><code>template_meta.formname</code></td>
+    <td>Basisname der Vorlage. Identisch mit der <a href="#zuordnung_dateinamen">Zurordnung zu den Dateinamen</a> ohne die Erweiterung. Ein Verkaufsauftrag enth&auml;lt hier <code>sales_order</code>.</td>
+   </tr>
+   <tr>
+    <td><code>template_meta.language.description</code></td>
+    <td>Beschreibung der verwendeten Sprache</td>
+   </tr>
+   <tr>
+    <td><code>template_meta.language.template_code</code></td>
+    <td>Vorlagen&uuml;rzel der verwendeten Sprache, identisch mit dem K&uuml;rzel das im Dateinamen verwendetet wird.</td>
+   </tr>
+   <tr>
+    <td><code>template_meta.language.output_numberformat</code></td>
+    <td>Zahlenformat der verwendeten Sprache in der Form "1.000,00". <em>Experimentell!</em>. Nur interessant f&uuml;r Vorlagen die mit unformatierten Werten arbeiten.</td>
+   </tr>
+   <tr>
+    <td><code>template_meta.language.output_dateformat</code></td>
+    <td>Datumsformat der verwendeten Sprache in der Form "dd.mm.yyyy". <em>Experimentell!</em>. Nur interessant f&uuml;r Vorlagen die mit unformatierten Werten arbeiten.</td>
+   </tr>
+   <tr>
+    <td><code>template_meta.format</code></td>
+    <td>Das angeforderte Format. Kann im Moment die Werte <code>pdf</code>, <code>postscript</code>, <code>html</code>, <code>opendocument</code>, <code>opendocument_pdf</code> und <code>excel</code> enthalten.</td>
+   </tr>
+   <tr>
+    <td><code>template_meta.extension</code></td>
+    <td>Dateierweiterung, wie im Dateinamen. Wird aus <code>format</code> entschieden.</td>
+   </tr>
+   <tr>
+    <td><code>template_meta.media</code></td>
+    <td>Ausgabemedium. Kann zur Zeit die Werte <code>screen</code> f&uuml;r Bildschirm, <code>email</code> f&uuml;r E-Mmail (triggert das <code>_email</code> K&uuml;rzel im Dateinamen), <code>printer</code> f&uuml;r Drucker, und <code>queue</code> f&uuml;r Warteschlange enthalten.</td>
+   </tr>
+   <tr>
+    <td><code>template_meta.printer.description</code></td>
+    <td>Beschreibung des ausgew&auml;hlten Druckers</td>
+   </tr>
+   <tr>
+    <td><code>template_meta.printer.template_code</code></td>
+    <td>Vorlagen&uuml;rzel des ausgew&auml;hlten Druckers, identisch mit dem K&uuml;rzel das im Dateinamen verwendetet wird.</td>
+   </tr>
+  </table>
+ </p>
+
  <h3><a name="allgemein_stammdaten">
    Stammdaten von Kunden und Lieferanten:</a></h3>
 
@@ -207,6 +449,10 @@ td {
     <td><code>bank_code</code></td>
     <td>Bankleitzahl</td>
    </tr>
+   <tr>
+    <td><code>bic</code></td>
+    <td>Bank-Identifikations-Code (Bank Identifier Code, BIC)</td>
+   </tr>
    <tr>
     <td><code>business</code></td>
     <td>Kunden-/Lieferantentyp</td>
@@ -291,6 +537,10 @@ td {
     <td><code>homepage</code></td>
     <td>Homepage</td>
    </tr>
+   <tr>
+    <td><code>iban</code></td>
+    <td>Internationale Kontonummer (International Bank Account Number, IBAN)</td>
+   </tr>
    <tr>
     <td><code>language</code></td>
     <td>Sprache</td>
@@ -299,6 +549,10 @@ td {
     <td><code>name</code></td>
     <td>Firmenname</td>
    </tr>
+   <tr>
+    <td><code>payment_description</code></td>
+    <td>Name der Zahlart</td>
+   </tr>
    <tr>
     <td><code>payment_terms</code></td>
     <td>Zahlungskonditionen</td>
@@ -354,7 +608,7 @@ td {
    </tr>
    <tr>
     <td><code>shiptostreet</code></td>
-    <td>Straße und Hausnummer (Lieferadresse)
+    <td>Stra&szlig;e und Hausnummer (Lieferadresse)
      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
    </tr>
    <tr>
@@ -364,12 +618,17 @@ td {
    </tr>
    <tr>
     <td><code>street</code></td>
-    <td>Straße und Hausnummer</td>
+    <td>Stra&szlig;e und Hausnummer</td>
    </tr>
    <tr>
     <td><code>taxnumber</code></td>
     <td>Steuernummer</td>
    </tr>
+   <tr>
+    <td><code>ustid</code></td>
+    <td>Umsatzsteuer-Identifikationsnummer</td>
+   </tr>
+   <tr>
    <tr>
     <td><code>vendoremail</code></td>
     <td>Email des Lieferanten; nur f&uuml;r Lieferanten</td>
@@ -459,7 +718,7 @@ td {
  </p>
 
  <h3><a name="allgemein_verkaeufer">
-   Informationen &uuml;ber den Verk&auml;fer (nur bei Verkaufsmasken):</a></h3>
+   Informationen &uuml;ber den Verk&auml;ufer (nur bei Verkaufsmasken):</a></h3>
 
  <p>
   <table border="1">
@@ -553,7 +812,7 @@ td {
    </tr>
    <tr>
     <td><code>currency</code></td>
-    <td>Währung</td>
+    <td>W&auml;hrung</td>
    </tr>
    <tr>
     <td><code>cusordnumber</code></td>
@@ -565,12 +824,16 @@ td {
    </tr>
    <tr>
     <td><code>duedate</code></td>
-    <td>Fälligkeitsdatum</td>
+    <td>F&auml;lligkeitsdatum</td>
    </tr>
    <tr>
     <td><code>globalprojectnumber</code></td>
     <td>Projektnummer des ganzen Beleges</td>
    </tr>
+   <tr>
+    <td><code>globalprojectdescription</code></td>
+    <td>Projekbeschreibung des ganzen Beleges</td>
+   </tr>
    <tr>
     <td><code>intnotes</code></td>
     <td>Interne Bemerkungen</td>
@@ -599,6 +862,10 @@ td {
     <td><code>ordnumber</code></td>
     <td>Auftragsnummer, wenn die Rechnung aus einem Auftrag erstellt wurde</td>
    </tr>
+   <tr>
+    <td><code>payment_description</code></td>
+    <td>Name der Zahlart</td>
+   </tr>
    <tr>
     <td><code>payment_terms</code></td>
     <td>Zahlungskonditionen</td>
@@ -620,15 +887,9 @@ td {
     <td>Transportmittel</td>
    </tr>
    <tr>
-    <td><code>subtotal</code></td>
+    <td><code>subtotal[_nofmt]</code></td>
     <td>Zwischensumme aller Posten ohne Steuern</td>
    </tr>
-   <tr>
-    <td><code>sumcarriedforward</code></td>
-    <td>Zwischensumme aller bisher ausgegebenen Posten. Sollte nur in einem
-     <a href="dokumentenvorlagen-und-variablen.html#bloecke_pagebreak">
-      <code>pagebreak</code></a>-Block verwendet werden.</td>
-   </tr>
    <tr>
     <td><code>total</code></td>
     <td>Restsumme der Rechnung (Summe abz&uuml;glich bereits bezahlter Posten)</td>
@@ -650,38 +911,58 @@ td {
  <p>
   <table border="1">
    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
-   <tr>
-    <td><code>assembly</code></td>
-    <td>Erzeugnis</td>
-   </tr>
    <tr>
     <td><code>bin</code></td>
     <td>Stellage</td>
    </tr>
-   <tr>
-    <td><code>deliverydate_oe</code></td>
-    <td>Lieferdatum</td>
-   </tr>
    <tr>
     <td><code>description</code></td>
     <td>Artikelbeschreibung</td>
    </tr>
    <tr>
-    <td><code>discount</code></td>
+    <td><code>discount[_nofmt]</code></td>
     <td>Rabatt als Betrag</td>
    </tr>
    <tr>
-    <td><code>linetotal</code></td>
+    <td><code>discount_sub[_nofmt]</code></td>
+    <td>Zwischensumme mit Rabatt</td>
+   </tr>
+   <tr>
+    <td><code>drawing</code></td>
+    <td>Zeichnung</td>
+   </tr>
+   <tr>
+    <td><code>ean</code></td>
+    <td>EAN-Code</td>
+   </tr>
+   <tr>
+    <td><code>image</code></td>
+    <td>Grafik</td>
+   </tr>
+   <tr>
+    <td><code>linetotal[_nofmt]</code></td>
     <td>Zeilensumme (Anzahl * Einzelpreis)</td>
    </tr>
    <tr>
-    <td><code>listprice</code></td>
-    <td>Listenpreis</td>
+    <td><code>longdescription</code></td>
+    <td>Langtext</td>
+   </tr>
+   <tr>
+    <td><code>microfiche</code></td>
+    <td>Mikrofilm</td>
    </tr>
    <tr>
-    <td><code>netprice</code></td>
+    <td><code>netprice[_nofmt]</code></td>
     <td>Nettopreis</td>
    </tr>
+   <tr>
+    <td><code>nodiscount_linetotal[_nofmt]</code></td>
+    <td>Zeilensumme ohne Rabatt</td>
+   </tr>
+   <tr>
+    <td><code>nodiscount_sub[_nofmt]</code></td>
+    <td>Zwischensumme ohne Rabatt</td>
+   </tr>
    <tr>
     <td><code>number</code></td>
     <td>Artikelnummer</td>
@@ -702,26 +983,46 @@ td {
     <td><code>partsgroup</code></td>
     <td>Warengruppe</td>
    </tr>
+   <tr>
+    <td><code>price_factor</code></td>
+    <td>Der Preisfaktor als Zahl, sofern einer eingestellt ist</td>
+   </tr>
+   <tr>
+    <td><code>price_factor_name</code></td>
+    <td>Der Name des Preisfaktors, sofern einer eingestellt ist</td>
+   </tr>
    <tr>
     <td><code>projectnumber</code></td>
     <td>Projektnummer</td>
    </tr>
    <tr>
-    <td><code>qty</code></td>
+    <td><code>projectdescription</code></td>
+    <td>Projektbeschreibung</td>
+   </tr>
+   <tr>
+    <td><code>qty[_nofmt]</code></td>
     <td>Anzahl</td>
    </tr>
+   <tr>
+    <td><code>reqdate</code></td>
+    <td>Lieferdatum</td>
+   </tr>
    <tr>
     <td><code>runningnumber</code></td>
     <td>Position auf der Rechnung (1, 2, 3...)</td>
    </tr>
    <tr>
-    <td><code>sellprice</code></td>
+    <td><code>sellprice[_nofmt]</code></td>
     <td>Verkaufspreis</td>
    </tr>
    <tr>
     <td><code>serialnumber</code></td>
     <td>Seriennummer</td>
    </tr>
+   <tr>
+    <td><code>tax_rate</code></td>
+    <td>Steuersatz</td>
+   </tr>
    <tr>
     <td><code>transdate_oe</code></td>
     <td>Auftragsdatum des Originalauftrags, wenn die Rechnung aus einem Sammelauftrag erstellt wurde</td>
@@ -730,56 +1031,103 @@ td {
     <td><code>unit</code></td>
     <td>Einheit</td>
    </tr>
+   <tr>
+    <td><code>weight</code></td>
+    <td>Gewicht</td>
+   </tr>
   </table>
  </p>
 
- <h3><a name="invoice_zahlungen">
-   Variablen f&uuml;r die einzelnen Zahlungseingänge:</a></h3>
+ <p>F&uuml;r jeden Posten gibt es ein Unterarray mit den Informationen &uuml;ber
+  Lieferanten und Lieferantenartikelnummer. Diese m&uuml;ssen mit
+  einer <code>foreach</code>-Schleife ausgegeben werden, da f&uuml;r jeden
+  Artikel mehrere Lieferanteninformationen hinterlegt sein k&ouml;nnen. Die
+  Variablen daf&uuml;r lauten:</p>
 
  <p>
   <table border="1">
    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
    <tr>
-    <td><code>datepaid</code></td>
-    <td>Datum</td>
+    <td><code>make</code></td>
+    <td>Lieferant</td>
    </tr>
    <tr>
-    <td><code>memo</code></td>
-    <td>Memo</td>
+    <td><code>model</code></td>
+    <td>Lieferantenartikelnummer</td>
    </tr>
+  </table>
+ </p>
+
+ <h3><a name="invoice_zahlungen">
+   Variablen f&uuml;r die einzelnen Zahlungseing&auml;nge:</a></h3>
+
+ <p>
+  <table border="1">
+   <tr><th>Variablenname</th><th>Bedeutung</th></tr>
    <tr>
-    <td><code>paid</code></td>
+    <td><code>payment</code></td>
     <td>Betrag</td>
    </tr>
    <tr>
-    <td><code>source</code></td>
-    <td>Beleg</td>
+    <td><code>paymentaccount</code></td>
+    <td>Konto</td>
    </tr>
    <tr>
-    <td><code>exchangerate</code></td>
-    <td>Wechselkurs</td>
+    <td><code>paymentdate</code></td>
+    <td>Datum</td>
    </tr>
    <tr>
-    <td><code>forex</code></td>
-    <td>Konto</td>
+    <td><code>paymentmemo</code></td>
+    <td>Memo</td>
+   </tr>
+   <tr>
+    <td><code>paymentsource</code></td>
+    <td>Beleg</td>
    </tr>
   </table>
  </p>
 
+ <h3><a name="invoice_benutzerdefinierte_variablen_vc">
+   Benutzerdefinierte Kunden- und Lieferantenvariablen:</a></h3>
+
+ <p>
+  Die vom Benutzer definierten Variablen f&uuml;r Kunden und
+  Lieferanten stehen beim Ausdruck von Einkaufs- und Verkaufsbelegen
+  ebenfalls zur Verf&uuml;gung. Ihre Namen setzen sich aus dem
+  Pr&auml;fix <code>vc_cvar_</code> und dem vom Benutzer festgelegten
+  Variablennamen zusammen.</p>
+
+ <p>Beispiel: Der Benutzer hat eine Variable
+  namens <code>number_of_employees</code> definiert, die die Anzahl
+  der Mitarbeiter des Unternehmens enth&auml;lt. Diese Variable steht
+  dann unter dem Namen <code>vc_cvar_number_of_employees</code> zur
+  Verf&uuml;gung.</p>
+
  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
    zum Inhaltsverzeichnis</a></small><br>
  <hr>
 
- <h2><a name="dunning">Variablen in Mahnungen</a></h2>
+ <h2><a name="dunning">Variablen in Mahnungen und Rechnungen &uuml;ber Mahngeb&uuml;hren</a></h2>
+
+ <h3><a name="dunning_vorlagennamen">Namen der Vorlagen</a></h3>
+
+ <p>Die Namen der Vorlagen werden im System-Men&uuml; vom Benutzer
+  eingegeben. Wird f&uuml;r ein Mahnlevel die Option zur automatischen
+  Erstellung einer Rechnung &uuml;ber die Mahngeb&uuml;hren und Zinsen
+  aktiviert, so wird der Name der Vorlage f&uuml;r diese Rechnung aus
+  dem Vorlagenname f&uuml;r diese Mahnstufe mit dem
+  Zusatz <code>_invoice</code> gebildet. Weiterhin werden die
+  K&uuml;rzel f&uuml;r die ausgew&auml;hlte Sprache und den
+  ausgew&auml;hlten Drucker angeh&auml;ngt.</p>
 
- <h3><a name="dunning_allgemein">Allgemeine Variablen:</a></h3>
+ <h3><a name="dunning_allgemein">Allgemeine Variablen in Mahnungen:</a></h3>
 
- <p>Die Variablen des Verkäufers stehen wie gewohnt
-  als <code>employee_...</code> zur Verfügung. Die Adressdaten des
+ <p>Die Variablen des Verk&auml;ufers stehen wie gewohnt
+  als <code>employee_...</code> zur Verf&uuml;gung. Die Adressdaten des
   Kunden stehen als Variablen <code>name</code>, <code>street</code>,
   <code>zipcode</code>, <code>city</code>, <code>country</code>,
   <code>department_1</code>, <code>department_2</code>, und
-  <code>email</code> zur Verfügung.
+  <code>email</code> zur Verf&uuml;gung.
  </p>
 
  <p>Weitere Variablen beinhalten:</p>
@@ -795,9 +1143,13 @@ td {
     <td><code>dunning_duedate</code></td>
     <td>F&auml;lligkeitsdatum f&uuml;r diese Mahhnung</td>
    </tr>
+   <tr>
+    <td><code>dunning_id</code></td>
+    <td>Mahnungsnummer</td>
+   </tr>
    <tr>
     <td><code>fee</code></td>
-    <td>Kummulative Mahngebühren</td>
+    <td>Kummulative Mahngeb&uuml;hren</td>
    </tr>
    <tr>
     <td><code>interest_rate</code></td>
@@ -819,7 +1171,7 @@ td {
  </p>
 
  <h3><a name="dunning_details">
-   Variablen f&uuml;r jede gemahnte Rechnung:</a></h3>
+   Variablen f&uuml;r jede gemahnte Rechnung in einer Mahnung:</a></h3>
 
  <p>
   <table border="1">
@@ -846,7 +1198,7 @@ td {
    </tr>
    <tr>
     <td><code>dn_interest</code></td>
-    <td>Zinsen per anno f&uum;r diese Rechnung</td>
+    <td>Zinsen per anno f&uuml;r diese Rechnung</td>
    </tr>
    <tr>
     <td><code>dn_invnumber</code></td>
@@ -872,6 +1224,58 @@ td {
     <td><code>dn_transdate</code></td>
     <td>Rechnungsdatum</td>
    </tr>
+   <tr>
+    <td><code>dn_curr</code></td>
+    <td>W&auml;hrung, in der die Rechnung erstellt wurde. (Die Rechnungsbetr&auml;ge
+      sind aber immer in der Hauptw&auml;hrung)</td>
+   </tr>
+  </table>
+ </p>
+
+ <h3><a name="dunning_invoice">Variablen in automatisch erzeugten
+   Rechnungen &uuml;ber Mahngeb&uuml;hren</a></h3>
+
+ <p>Die Variablen des Verk&auml;ufers stehen wie gewohnt
+  als <code>employee_...</code> zur Verf&uuml;gung. Die Adressdaten des
+  Kunden stehen als Variablen <code>name</code>, <code>street</code>,
+  <code>zipcode</code>, <code>city</code>, <code>country</code>,
+  <code>department_1</code>, <code>department_2</code>, und
+  <code>email</code> zur Verf&uuml;gung.
+ </p>
+
+ <p>Weitere Variablen beinhalten:</p>
+
+ <p>
+  <table border="1">
+   <tr><th>Variablenname</th><th>Bedeutung</th></tr>
+   <tr>
+    <td><code>duedate</code></td>
+    <td>F&auml;lligkeitsdatum der Rechnung</td>
+   </tr>
+   <tr>
+    <td><code>dunning_id</code></td>
+    <td>Mahnungsnummer</td>
+   </tr>
+   <tr>
+    <td><code>fee</code></td>
+    <td>Mahngeb&uuml;hren</td>
+   </tr>
+   <tr>
+    <td><code>interest</code></td>
+    <td>Zinsen</td>
+   </tr>
+   <tr>
+    <td><code>invamount</code></td>
+    <td>Rechnungssumme (ergibt sich aus <code>fee + interest</code>)</td>
+   </tr>
+   <tr>
+    <td><code>invdate</code></td>
+    <td>Rechnungsdatum</td>
+   </tr>
+   <tr>
+    <td><code>invnumber</code></td>
+    <td>Rechnungsnummer</td>
+   </tr>
   </table>
  </p>
 
@@ -894,6 +1298,197 @@ td {
   Variablen, die vom Gesch&auml;ftsablauf her in der entsprechenden Vorlage
   keine Bedeutung haben oder noch nicht belegt sein k&ouml;nnen.</p>
 
+ <p>Im Folgenden werden nur wichtige Unterschiede zu den Variablen in
+  Rechnungen aufgef&uuml;hrt.</p>
+
+ <h3><a name="anderevorlagen_quotations">Angebote und Preisanfragen</a></h3>
+
+ <p>
+  <table border="1">
+   <tr><th>Variablenname</th><th>Bedeutung</th></tr>
+   <tr>
+    <td><code>quonumber</code></td>
+    <td>Angebots- bzw. Anfragenummer</td>
+   </tr>
+   <tr>
+    <td><code>reqdate</code></td>
+    <td>G&uuml;ltigkeitsdatum (bei Angeboten) bzw. Lieferdatum (bei Preisanfragen)</td>
+   </tr>
+   <tr>
+    <td><code>transdate</code></td>
+    <td>Angebots- bzw. Anfragedatum</td>
+   </tr>
+  </table>
+ </p>
+
+ <h3><a name="anderevorlagen_orders">Auftragsbest&auml;tigungen und Lieferantenauftr&auml;ge</a></h3>
+
+ <p>
+  <table border="1">
+   <tr><th>Variablenname</th><th>Bedeutung</th></tr>
+   <tr>
+    <td><code>ordnumber</code></td>
+    <td>Auftragsnummer</td>
+   </tr>
+   <tr>
+    <td><code>reqdate</code></td>
+    <td>Lieferdatum</td>
+   </tr>
+   <tr>
+    <td><code>transdate</code></td>
+    <td>Auftragsdatum</td>
+   </tr>
+  </table>
+ </p>
+
+ <h3><a name="anderevorlagen_delivery_orders">Lieferscheine (Verkauf und Einkauf)</a></h3>
+
+ <p>
+  <table border="1">
+   <tr><th>Variablenname</th><th>Bedeutung</th></tr>
+   <tr>
+    <td><code>cusordnumber</code></td>
+    <td>Bestellnummer des Kunden (im Verkauf) bzw. Bestellnummer des Lieferanten (im Einkauf)</td>
+   </tr>
+   <tr>
+    <td><code>donumber</code></td>
+    <td>Lieferscheinnummer</td>
+   </tr>
+   <tr>
+    <td><code>transdate</code></td>
+    <td>Lieferscheindatum</td>
+   </tr>
+  </table>
+ </p>
+
+ <p>F&uuml;r jede Position eines Lieferscheines gibt es ein Unterarray mit
+  den Informationen dar&uuml;ber, von welchem Lager und Lagerplatz aus die
+  Waren verschickt wurden (Verkaufslieferscheine) bzw. auf welchen
+  Lagerplatz sie eingelagert wurden. Diese m&uuml;ssen mittels
+  einer <code>foreach</code>-Schleife ausgegeben werden. Diese
+  Variablen sind:</p>
+
+
+ <p>F&uuml;r jede Position eines Lieferscheines gibt es ein Unterarray mit
+  den Informationen dar&uuml;ber, von welchem Lager und Lagerplatz aus die
+  Waren verschickt wurden (Verkaufslieferscheine) bzw. auf welchen
+  Lagerplatz sie eingelagert wurden. Diese m&uuml;ssen mittels
+  einer <code>foreach</code>-Schleife ausgegeben werden. Diese
+  Variablen sind:</p>
+
+ <p>
+  <table border="1">
+   <tr><th>Variablenname</th><th>Bedeutung</th></tr>
+   <tr>
+    <td><code>si_bin</code></td>
+    <td>Lagerplatz</td>
+   </tr>
+   <tr>
+    <td><code>si_chargenumber</code></td>
+    <td>Chargennummer</td>
+   </tr>
+   <tr>
+    <td><code>si_bestbefore</code></td>
+    <td>Mindesthaltbarkeit</td>
+   </tr>
+   <tr>
+    <td><code>si_number</code></td>
+    <td>Artikelnummer</td>
+   </tr>
+   <tr>
+    <td><code>si_qty</code></td>
+    <td>Anzahl bzw. Menge</td>
+   </tr>
+   <tr>
+    <td><code>si_runningnumber</code></td>
+    <td>Positionsnummer (1, 2, 3 etc)</td>
+   </tr>
+   <tr>
+    <td><code>si_unit</code></td>
+    <td>Einheit</td>
+   </tr>
+   <tr>
+    <td><code>si_warehouse</code></td>
+    <td>Lager</td>
+   </tr>
+  </table>
+ </p>
+
+ <h3><a name="anderevorlagen_statement">Sammelrechnung</a></h3>
+
+ <h3> Variablen f&uuml;r Sammelrechnung:</h3>
+ <p>
+  <table border="1">
+   <tr><th>Variablenname</th><th>Bedeutung</th></tr>
+   <tr>
+    <td><code>c0total</code></td>
+    <td>Gesamtbetrag aller Rechnungen mit F&auml;lligkeit &lt; 30 Tage</td>
+   </tr>
+   <tr>
+    <td><code>c30total</code></td>
+    <td>Gesamtbetrag aller Rechnungen mit F&auml;lligkeit &gt;= 30 und &lt; 60 Tage</td>
+   </tr>
+   <tr>
+    <td><code>c60total</code></td>
+    <td>Gesamtbetrag aller Rechnungen mit F&auml;lligkeit &gt;= 60 und &lt; 90 Tage</td>
+   </tr>
+   <tr>
+    <td><code>c90total</code></td>
+    <td>Gesamtbetrag aller Rechnungen mit F&auml;lligkeit &gt;= 90 Tage</td>
+   </tr>
+   <tr>
+    <td><code>total</code></td>
+    <td>Gesamtbetrag aller Rechnungen</td>
+   </tr>
+  </table>
+ </p>
+
+ <h3> Variablen f&uuml;r jede Rechnungsposition in Sammelrechnung:</h3>
+ <p>
+  <table border="1">
+   <tr><th>Variablenname</th><th>Bedeutung</th></tr>
+   <tr>
+    <td><code>invnumber</code></td>
+    <td>Rechnungsnummer</td>
+   </tr>
+   <tr>
+    <td><code>invdate</code></td>
+    <td>Rechnungsdatum</td>
+   </tr>
+   <tr>
+    <td><code>duedate</code></td>
+    <td>F&auml;lligkeitsdatum</td>
+   </tr>
+   <tr>
+    <td><code>amount</code></td>
+    <td>Summe der Rechnung</td>
+   </tr>
+   <tr>
+    <td><code>open</code></td>
+    <td>Noch offener Betrag der Rechnung</td>
+   </tr>
+   <tr>
+    <td><code>c0</code></td>
+    <td>Noch offener Rechnungsbetrag mit F&auml;lligkeit &lt; 30 Tage</td>
+   </tr>
+   <tr>
+    <td><code>c30</code></td>
+    <td>Noch offener Rechnungsbetrag mit F&auml;lligkeit &gt;= 30 und &lt; 60 Tage</td>
+   </tr>
+   <tr>
+    <td><code>c60</code></td>
+    <td>Noch offener Rechnungsbetrag mit F&auml;lligkeit &gt;= 60 und &lt; 90 Tage</td>
+   </tr>
+   <tr>
+    <td><code>c90</code></td>
+    <td>Noch offener Rechnungsbetrag mit F&auml;lligkeit &gt;= 90 Tage</td>
+   </tr>
+  </table>
+ </p>
+
+
+
+
  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
    zum Inhaltsverzeichnis</a></small><br>
  <hr>
@@ -901,35 +1496,77 @@ td {
  <h2><a name="bloecke">
    Bl&ouml;cke, bedingte Anweisungen und Schleifen</a></h2>
 
- <p>Der Parser kennt neben den Variablen einige weitere Konstrukte, die
-  gesondert behandelt werden. Diese sind wie Variablennamen in spezieller
-  Weise markiert: <code>&lt;%anweisung%&gt;</code></p>
-
- <h3><a name="bloecke_ifnot">Der <code>if not</code>-Block</a></h3>
-
- <p class="blue"><code>&lt;%if not variablenname%&gt;<br>
-   ...<br>
-   &lt;%end&gt;</code></p>
-
- <p>Eine normale "if-not-then"-Bedingung. Die Zeilen zwischen dem "if not" und
-  dem "end" werden nur ausgegeben, wenn die Variable "variablenname" nicht
-  gesetzt oder gleich 0 ist.</p>
+ <p>Der Parser kennt neben den Variablen einige weitere Konstrukte,
+  die gesondert behandelt werden. Diese sind wie Variablennamen in
+  spezieller Weise markiert: <code>&lt;%anweisung%&gt;
+  ... &lt;%end%&gt;</code></p>
+
+ <p>Anmerkung zum <code>&lt;%end%&gt;</code>: Der besseren
+  Verst&auml;ndlichkeit halber kann man nach dem <code>end</code> noch
+  beliebig weitere W&ouml;rter schreiben, um so zu markieren, welche
+  Anweisung (z.B. <code>if</code> oder <code>foreach</code>) damit
+  abgeschlossen wird.</p>
+
+ <p>Beispiel: Lautet der Beginn eines Blockes
+   z.B. <code class="blue">&lt;%if type ==
+   &quot;sales_quotation&quot;%&gt;</code>, so k&ouml;nnte er mit
+  <code class="blue">&lt;%end%&gt;</code> genauso abgeschlossen werden
+  wie mit
+  <code class="blue">&lt;%end if%&gt;</code> oder auch
+  <code class="blue">&lt;%end type ==
+  &quot;sales_quotation&quot;%&gt;</code>.</p>
 
  <h3><a name="bloecke_if">Der <code>if</code>-Block</a></h3>
 
  <p class="blue"><code>&lt;%if variablenname%&gt;<br>
    ...<br>
-   &lt;%end&gt;</code></p>
-
- <p>Eine normale "if-then"-Bedingung. Die Zeilen zwischen dem "if" und dem
-  "end" werden nur ausgegeben, wenn die Variable "variablenname" gesetzt und
-  ungleich 0 ist.</p>
+   &lt;%end%&gt;</code></p>
+
+ <p>Eine normale &quot;if-then&quot;-Bedingung. Die Zeilen zwischen
+  dem &quot;if&quot; und dem &quot;end&quot; werden nur ausgegeben,
+  wenn die Variable &quot;variablenname&quot; gesetzt und ungleich 0
+  ist.</p>
+
+ <p>Die Bedingung kann auch negiert werden, indem das Wort
+  &quot;not&quot; nach dem &quot;if&quot; verwendet
+  wird. Beispiel: <code class="blue">&lt;%if not
+  cp_greeting%&gt;</code></p>
+
+ <p>Zus&auml;tzlich zu dem einfachen Test, ob eine Variable gesetzt ist
+  oder nicht, bietet dieser Block auch die M&ouml;glichkeit, den Inhalt
+  einer Variablen mit einer festen Zeichenkette oder einer anderen
+  Variablen zu vergleichen. Ob der Vergleich mit einer Zeichenkette
+  oder einer anderen Variablen vorgenommen wird, h&auml;ngt davon ab, ob
+  die rechte Seite des Vergleichsoperators in Anf&uuml;hrungszeichen
+  gesetzt wird (Vergleich mit Zeichenkette) oder nicht (Vergleich mit
+  anderer Variablen). Zwei Beispiele, die beide Vergleiche zeigen:</p>
+
+ <p><code class="blue">&lt;%if var1 == &quot;Wert&quot;%&gt;</code>
+  testet die Variable &quot;var1&quot; auf &Uuml;bereinstimmung mit der
+  Zeichenkette &quot;Wert&quot;. Mittels &quot;!=&quot; anstelle von
+  &quot;==&quot; w&uuml;rde auf Ungleichheit getestet.</p>
+
+ <p><code class="blue">&lt;%if var1 == var2%&gt;</code> testet die
+  Variable &quot;var1&quot; auf &Uuml;bereinstimmung mit der Variablen
+  &quot;var2&quot;. Mittels &quot;!=&quot; anstelle von &quot;==&quot;
+  w&uuml;rde auf Ungleichheit getestet.</p>
+
+ <p>Erfahrere Benutzer k&ouml;nnen neben der Tests auf (Un-)Gleichheit auch
+  Tests auf &Uuml;bereinstimmung mit regul&auml;ren Ausdr&uuml;cken ohne
+  Ber&uuml;cksichtung der Gro&szlig;- und Kleinschreibung durchf&uuml;hren. Dazu dient
+  dieselbe Syntax wie oben nur mit &quot;=~&quot; und &quot;!~&quot;
+  als Vergleichsoperatoren.</p>
+
+ <p>Beispiel f&uuml;r einen Test, ob die Variable &quot;intnotes&quot;
+  (interne Bemerkungen) das Wort &quot;schwierig&quot; enth&auml;lt:
+  <code class="blue">&lt;%if intnotes =~
+  &quot;schwierig&quot;%&gt;</code></p>
 
  <h3><a name="bloecke_foreach">Die <code>foreach</code>-Schleife</a></h3>
 
  <p class="blue"><code>&lt;%foreach variablenname%&gt;<br>
    ...<br>
-   &lt;%end&gt;</code></p>
+   &lt;%end%&gt;</code></p>
 
  <p>F&uuml;gt die Zeilen zwischen den beiden Anweisungen so oft ein, wie das
   Perl-Array der Variablen "variablenname" Elemente enth&auml;t. Dieses
@@ -947,56 +1584,15 @@ td {
    Artikelnummer: &lt;%number%&gt;<br>
    Beschreibung: &lt;%description%&gt;<br>
    ...<br>
-   &lt;%end&gt;</code></p>
+   &lt;%end%&gt;</code></p>
 
  <p>Besonderheit in OpenDocument-Vorlagen: Tritt ein
-  <code>&lt;foreach&gt;</code>-Block innerhalb einer Tabellenzelle
+  <code>&lt;%foreach%&gt;</code>-Block innerhalb einer Tabellenzelle
   auf, so wird die komplette Tabellenzeile so oft wiederholt wie
   notwendig. Tritt er au&szlig;erhalb auf, so wird nur der Inhalt
-  zwischen <code>&lt;foreach&gt;</code> und <code>&lt;end&gt;</code>
+  zwischen <code>&lt;%foreach%&gt;</code> und <code>&lt;%end%&gt;</code>
   wiederholt, nicht aber die komplette Zeile, in der er steht.</p>
 
- <h3><a name="bloecke_pagebreak">Der <code>pagebreak</code>-Block</a></h3>
-
- <p class="blue"><code>&lt;%pagebreak ZpZ ZeS ZzS%&gt;<br>
-   ...<br>
-   &lt;%end&gt;</code></p>
-
- <p>Dieser Block existiert nur in LaTeX-Vorlagen.</p>
-
- <p>Dieser Block legt das Verhalten beim manuellen Einf&uuml;gen eines
-  Seitenumbruchs fest. Normalerweise bricht LaTeX die Seiten selber um. Beim
-  Rechnungsdruck ist das oft nicht gew&uuml;nscht, oder man m&ouml;chte im
-  Falle eines Seitenumbruchs den &Uuml;bertrag etc. mit ausgeben. Deswegen
-  versucht der Parser, manuell Seitenumbr&uuml;che einzuf&uuml;gen,
-  w&auml;hrend er einen <code>foreach</code>-Block auswertet, weil hier die
-  manuellen Seitenumbr&uuml;che erforderlich werden. Daf&uuml;r ben&ouml;tigt
-  der Parser aber drei Informationen:</p>
-
- <p>
-  <ol>
-   <li>Wieviele Zeichen passen bei der Variablen "description" pro Posten
-    in eine Zeile? Das ist der Parameter "ZpZ" (Zeichen pro Zeile).</li>
-   <li>Wieviele Zeilen/Posten passen auf die erste Seite? Das
-    ist der Parameter "ZeS" (Zeilen erste Seite).</li>
-   <li>Wieviele Zeilen/Posten passen auf die zweite und alle nachfolgenden
-    Seiten? Das ist der Parameter "ZzS" (Zeilen zweite Seite).</li>
-  </ol>
- </p>
-
- <p>Diese Parameter sind drei Zahlen, die manuell durch Verwendung von langen
-  Warenbezeichnungen und Rechnungen mit vielen Posten bestimmt werden
-  m&uuml;ssen.</p>
-
- <p>&Uuml;blicherweise wird in diesem Block zuerst die aktuelle Tabelle
-  geschlossen, eventuell Text eingef&uuml;gt (z.B. "Fortsetzung auf der
-  n&auml;chsten Seite"), dann ein Seitenumbruch erzwungen, eventuell Text
-  eingef&uuml;gt (z.B. "&Uuml;bertrag von der vorherigen Seite:
-  &lt;%sumcarriedforward%&gt; EUR") und die Tabelle wieder ge&ouml;ffnet.</p>
-
- <p>Wird kein manueller Seitenumbruch gew&uuml;scht, so kann dieser Block
-  komplett entfallen.</p>
-
  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
    zum Inhaltsverzeichnis</a></small><br>
  <hr>
@@ -1039,18 +1635,22 @@ td {
     <td><code>&lt;pagebreak&gt;</code></td>
     <td>Erzwingt einen Seitenumbruch (siehe unten).</td>
    </tr>
+   <tr>
+    <td><code>&lt;bullet&gt;</code></td>
+    <td>Erzeugt einen ausgef&uuml;llten Kreis f&uuml;r Aufz&auml;hlungen (&bull;) (siehe unten).</td>
+   </tr>
   </table>
  </p>
 
  <p>Eine Besonderheit ist der Befehl <code>&lt;pagebreak&gt;</code>,
   der nur in LaTeX-Vorlagen funktioniert und in anderen Vorlagen
-  einfach gel&ouml;scht wird. Dieser erzwingt unabh&auml;ngig von der
-  im <a
-  href="dokumentenvorlagen-und-variablen.html#bloecke_pagebreak">pagebreak-Block</a>
-  voreingestellten Werte einen Seitenumbruch nach der aktuellen
-  Rechnungsposition. Dementsprechend funktioniert er nur innerhalb von
-  <code>&lt;foreach...&gt;</code>-Schleifen. Weiterhin ben&ouml;tigt er kein
 Endtag.</p>
+  einfach gel&ouml;scht wird. Dieser erzwingt einen Seitenumbruch nach
+  der aktuellen Rechnungsposition. Dementsprechend funktioniert er nur
+  innerhalb von
+  <code>&lt;%foreach...%&gt;</code>-Schleifen. Weiterhin ben&ouml;tigt
+  er kein Endtag.</p>
+
<p>Auch <code>&lt;bullet&gt;</code> funktioniert momentan auch nur in Latex-Vorlagen.</p>
 
  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
    zum Inhaltsverzeichnis</a></small><br>