Hinweis auf doc/umstellung_eur.txt Beim Mandanten anlegen.
[kivitendo-erp.git] / doc / dokumentenvorlagen-und-variablen.html
index 697ef18..c9a7ebb 100644 (file)
@@ -82,7 +82,7 @@ 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#benutzerdefinierte_variablen_vc">
+    <li><a href="dokumentenvorlagen-und-variablen.html#invoice_benutzerdefinierte_variablen_vc">
       Benutzerdefinierte Kunden- und Lieferantenvariablen</a></li>
    </ol>
   </li>
@@ -106,15 +106,20 @@ td {
   </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>
 
@@ -145,6 +150,15 @@ td {
    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
   es nicht ausdr&uuml;cklich eingeschr&auml;nkt wird, gilt das im
@@ -202,7 +216,7 @@ td {
   &auml;quivalente Beispiel f&uuml;r HTML-Dokumentenvorlagen sieht so
   aus:</p>
 
- <p><code>&lt;!-- config: tag-stye=($ $)&gt;</code></p>
+ <p><code>&lt;!-- config: tag-style=($ $) --&gt;</code></p>
 
  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
    zum Inhaltsverzeichnis</a></small><br>
@@ -216,17 +230,66 @@ 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>
 
  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
    zum Inhaltsverzeichnis</a></small><br>
@@ -253,6 +316,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>
@@ -337,6 +404,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>
@@ -345,6 +416,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>
@@ -416,6 +491,11 @@ td {
     <td><code>taxnumber</code></td>
     <td>Steuernummer</td>
    </tr>
+   <tr>
+    <td><code>ustid</code></td>
+    <td>Usatzsteuer-Identifikationsnummer</td>
+   </tr>
+   <tr>
    <tr>
     <td><code>vendoremail</code></td>
     <td>Email des Lieferanten; nur f&uuml;r Lieferanten</td>
@@ -505,7 +585,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">
@@ -617,6 +697,10 @@ td {
     <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>
@@ -645,6 +729,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>
@@ -666,7 +754,7 @@ 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>
@@ -696,10 +784,6 @@ 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>
@@ -709,17 +793,49 @@ 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>netprice</code></td>
+    <td><code>longdescription</code></td>
+    <td>Langtext</td>
+   </tr>
+   <tr>
+    <td><code>microfiche</code></td>
+    <td>Mikrofilm</td>
+   </tr>
+   <tr>
+    <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>
@@ -753,7 +869,11 @@ 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>
@@ -765,13 +885,17 @@ 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>
@@ -780,6 +904,30 @@ td {
     <td><code>unit</code></td>
     <td>Einheit</td>
    </tr>
+   <tr>
+    <td><code>weight</code></td>
+    <td>Gewicht</td>
+   </tr>
+  </table>
+ </p>
+
+ <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>make</code></td>
+    <td>Lieferant</td>
+   </tr>
+   <tr>
+    <td><code>model</code></td>
+    <td>Lieferantenartikelnummer</td>
+   </tr>
   </table>
  </p>
 
@@ -812,7 +960,7 @@ td {
   </table>
  </p>
 
- <h3><a name="benutzerdefinierte_variablen_vc">
+ <h3><a name="invoice_benutzerdefinierte_variablen_vc">
    Benutzerdefinierte Kunden- und Lieferantenvariablen:</a></h3>
 
  <p>
@@ -868,6 +1016,10 @@ 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&uuml;hren</td>
@@ -1014,6 +1166,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>
@@ -1021,35 +1364,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
@@ -1067,20 +1452,20 @@ 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>
+   &lt;%end%&gt;</code></p>
 
  <p>Dieser Block existiert nur in LaTeX-Vorlagen.</p>
 
@@ -1159,6 +1544,10 @@ 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>
 
@@ -1169,8 +1558,10 @@ td {
   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>
+  <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>