+ </itemizedlist>
+
+ <para>Beispiel:</para>
+
+ <programlisting><%quototal NOFORMAT%></programlisting>
+ </sect2>
+
+ <sect2 id="dokumentenvorlagen-und-variablen.verwendung-in-druckbefehlen">
+ <title>Verwendung in Druckbefehlen</title>
+
+ <para>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
+ <function>`...`</function> nicht zu unerwünschtem Verhalten
+ führen.</para>
+
+ <para>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:</para>
+
+ <programlisting>send_fax --number <%if cp_phone2%><%cp_phone2%><%else%><%cp_phone1%><%end%></programlisting>
+ </sect2>
+
+ <sect2 id="dokumentenvorlagen-und-variablen.tag-style"
+ xreflabel="Anfang und Ende der Tags verändern">
+ <title>Anfang und Ende der Tags verändern</title>
+
+ <para>Der Standardstil für Tags sieht vor, dass ein Tag mit dem
+ Kleinerzeichen und einem Prozentzeichen beginnt und mit dem
+ Prozentzeichen und dem Größerzeichen endet, beispielsweise
+ <function><%customer%></function>. Da diese Form aber z.B. in
+ LaTeX zu Problemen führen kann, weil das Prozentzeichen dort
+ Kommentare einleitet, kann pro HTML- oder LaTeX-Dokumentenvorlage der
+ Stil umgestellt werden.</para>
+
+ <para>Dazu werden in die Datei Zeilen geschrieben, die mit dem für das
+ Format gültigen Kommentarzeichen anfangen, dann
+ <function>config:</function> enthalten, die entsprechende Option
+ setzen und bei HTML-Dokumentenvorlagen mit dem Kommentarendzeichen
+ enden. Beispiel für LaTeX:</para>
+
+ <programlisting>% config: tag-style=($ $)</programlisting>
+
+ <para>Dies würde kivitendo dazu veranlassen, Variablen zu ersetzen,
+ wenn sie wie folgt aussehen: <function>($customer$)</function>. Das
+ äquivalente Beispiel für HTML-Dokumentenvorlagen sieht so aus:</para>
+
+ <programlisting><!-- config: tag-style=($ $) --></programlisting>
+ </sect2>
+
+ <sect2 id="dokumentenvorlagen-und-variablen.zuordnung-dateinamen">
+ <title>Zuordnung von den Dateinamen zu den Funktionen</title>
+
+ <para>Diese folgende kurze Auflistung zeigt, welche Vorlage bei
+ welcher Funktion ausgelesen wird. Dabei ist die Dateiendung
+ "<filename>.ext</filename>" geeignet zu ersetzen:
+ "<filename>.tex</filename>" für LaTeX-Vorlagen und
+ "<filename>.odt</filename>" für OpenDocument-Vorlagen.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><filename>bin_list.ext</filename></term>
+
+ <listitem>
+ <para>Lagerliste</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>check.ext</filename></term>
+
+ <listitem>
+ <para>?</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>invoice.ext</filename></term>
+
+ <listitem>
+ <para>Rechnung</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>packing_list.ext</filename></term>
+
+ <listitem>
+ <para>Packliste</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>pick_list.ext</filename></term>
+
+ <listitem>
+ <para>Sammelliste</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>purchase_delivery_order.ext</filename></term>
+
+ <listitem>
+ <para>Lieferschein (Einkauf)</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>purcharse_order.ext</filename></term>
+
+ <listitem>
+ <para>Bestellung an Lieferanten</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>request_quotation.ext</filename></term>
+
+ <listitem>
+ <para>Anfrage an Lieferanten</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>sales_delivery_order.ext</filename></term>
+
+ <listitem>
+ <para>Lieferschein (Verkauf)</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>sales_order.ext</filename></term>
+
+ <listitem>
+ <para>Bestellung</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>sales_quotation.ext</filename></term>
+
+ <listitem>
+ <para>Angebot an Kunden</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>zahlungserinnerung.ext</filename></term>
+
+ <listitem>
+ <para>Mahnung (Dateiname im Programm konfigurierbar)</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>zahlungserinnerung_invoice.ext</filename></term>
+
+ <listitem>
+ <para>Rechnung über Mahngebühren (Dateiname im Programm
+ konfigurierbar)</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect2>
+
+ <sect2 id="dokumentenvorlagen-und-variablen.dateinamen-erweitert">
+ <title>Sprache, Drucker und E-Mail</title>
+
+ <para>Angeforderte Sprache und Druckerkürzel in den Dateinamen mit
+ eingearbeitet. So wird aus der Vorlage
+ <filename>sales_order.ext</filename> bei Sprache
+ <function>de</function> und Druckerkürzel <function>lpr2</function>
+ der Vorlagenname <filename>sales_order_de_lpr2.ext</filename>.
+ Zusätzlich können für E-Mails andere Vorlagen erstellt werden, diese
+ bekommen dann noch das Kürzel <filename>_email</filename>, der
+ vollständige Vorlagenname wäre dann
+ <filename>sales_order_email_de_lpr2.ext</filename>. In allen Fällen
+ kann eine Standarddatei <filename>default.ext</filename> hinterlegt
+ werden. Diese wird verwendet, wenn keine der anderen Varianten
+ gefunden wird.</para>
+
+ <para>Die vollständige Suchreihenfolge für einen Verkaufsauftrag mit
+ der Sprache "de" und dem Drucker "lpr2", der per E-Mail im Format PDF
+ verschickt wird, ist:</para>
+
+ <orderedlist>
+ <listitem>
+ <para><filename>sales_order_email_de_lpr2.tex</filename></para>
+ </listitem>
+
+ <listitem>
+ <para><filename>sales_order_de_lpr2.tex</filename></para>
+ </listitem>
+
+ <listitem>
+ <para><filename>sales_order.tex</filename></para>
+ </listitem>
+
+ <listitem>
+ <para><filename>default.tex</filename></para>
+ </listitem>
+ </orderedlist>
+
+ <para>Die kurzen Varianten dieser Vorlagentitel müssen dann entweder
+ Standardwerte anzeigen, oder die angeforderten Werte selbst auswerten,
+ siehe dazu <xref
+ linkend="dokumentenvorlagen-und-variablen.allgemeine-variablen.meta"/>.</para>
+ </sect2>
+
+ <sect2 id="dokumentenvorlagen-und-variablen.allgemeine-variablen">
+ <title>Allgemeine Variablen, die in allen Vorlagen vorhanden
+ sind</title>
+
+ <sect3 id="dokumentenvorlagen-und-variablen.allgemeine-variablen.meta"
+ xreflabel="Metainformationen zur angeforderten Vorlage">
+ <title>Metainformationen zur angeforderten Vorlage</title>
+
+ <para>Diese Variablen liefern Informationen darüber welche Variante
+ einer Vorlage der Benutzer angefragt hat. Sie sind nützlich für
+ Vorlagenautoren, die aus einer zentralen Layoutvorlage die einzelnen
+ Formulare einbinden möchten.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><varname>template_meta.formname</varname></term>
+
+ <listitem>
+ <para>Basisname der Vorlage. Identisch mit der <link
+ linkend="dokumentenvorlagen-und-variablen.zuordnung-dateinamen">Zurordnung
+ zu den Dateinamen</link> ohne die Erweiterung. Ein
+ Verkaufsauftrag enthält hier
+ <constant>sales_order</constant>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>template_meta.language.description</varname></term>
+
+ <listitem>
+ <para>Beschreibung der verwendeten Sprache</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>template_meta.language.template_code</varname></term>
+
+ <listitem>
+ <para>Vorlagenkürzel der verwendeten Sprache, identisch mit
+ dem Kürzel das im Dateinamen verwendetet wird.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>template_meta.language.output_numberformat</varname></term>
+
+ <listitem>
+ <para>Zahlenformat der verwendeten Sprache in der Form
+ "<constant>1.000,00</constant>". Experimentell! Nur
+ interessant für Vorlagen die mit unformatierten Werten
+ arbeiten.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>template_meta.language.output_dateformat</varname></term>
+
+ <listitem>
+ <para>Datumsformat der verwendeten Sprache in der Form
+ "<constant>dd.mm.yyyy</constant>". Experimentell! Nur
+ interessant für Vorlagen die mit unformatierten Werten
+ arbeiten.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>template_meta.format</varname></term>
+
+ <listitem>
+ <para>Das angeforderte Format. Kann im Moment die Werte
+ <constant>pdf</constant>, <constant>postscript</constant>,
+ <constant>html</constant>, <constant>opendocument</constant>,
+ <constant>opendocument_pdf</constant> und
+ <constant>excel</constant> enthalten.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>template_meta.extension</varname></term>
+
+ <listitem>
+ <para>Dateierweiterung, wie im Dateinamen. Wird aus
+ <constant>format</constant> entschieden.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>template_meta.media</varname></term>
+
+ <listitem>
+ <para>Ausgabemedium. Kann zur Zeit die Werte
+ <constant>screen</constant> für Bildschirm,
+ <constant>email</constant> für E-Mail (triggert das
+ <constant>_email</constant> Kürzel im Dateinamen),
+ <constant>printer</constant> für Drucker, und
+ <constant>queue</constant> für Warteschlange enthalten.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>template_meta.printer.description</varname></term>
+
+ <listitem>
+ <para>Beschreibung des ausgewählten Druckers</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>template_meta.printer.template_code</varname></term>
+
+ <listitem>
+ <para>Vorlagenürzel des ausgewählten Druckers, identisch mit
+ dem Kürzel das im Dateinamen verwendetet wird.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>template_meta.tmpfile</varname></term>
+
+ <listitem>
+ <para>Datei-Prefix für temporäre Dateien.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect3>
+
+ <sect3 id="dokumentenvorlagen-und-variablen.allgemeine-variablen.kunden-lieferanten">
+ <title>Stammdaten von Kunden und Lieferanten</title>
+
+ <variablelist>
+ <varlistentry>
+ <term><varname>account_number</varname></term>
+
+ <listitem>
+ <para>Kontonummer</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>bank</varname></term>
+
+ <listitem>
+ <para>Name der Bank</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>bank_code</varname></term>
+
+ <listitem>
+ <para>Bankleitzahl</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>bic</varname></term>
+
+ <listitem>
+ <para>Bank-Identifikations-Code (Bank Identifier Code,
+ BIC)</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>business</varname></term>
+
+ <listitem>
+ <para>Kunden-/Lieferantentyp</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>city</varname></term>
+
+ <listitem>
+ <para>Stadt</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>contact</varname></term>
+
+ <listitem>
+ <para>Kontakt</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>country</varname></term>
+
+ <listitem>
+ <para>Land</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>c_vendor_id</varname></term>
+
+ <listitem>
+ <para>Lieferantennummer beim Kunden (nur Kunden)</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>v_customer_id</varname></term>
+
+ <listitem>
+ <para>Kundennummer beim Lieferanten (nur Lieferanten)</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>cp_email</varname></term>
+
+ <listitem>
+ <para>Email des Ansprechpartners</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>cp_givenname</varname></term>
+
+ <listitem>
+ <para>Vorname des Ansprechpartners</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>cp_greeting</varname></term>
+
+ <listitem>
+ <para>Anrede des Ansprechpartners</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>cp_name</varname></term>
+
+ <listitem>
+ <para>Name des Ansprechpartners</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>cp_phone1</varname></term>
+
+ <listitem>
+ <para>Telefonnummer 1 des Ansprechpartners</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>cp_phone2</varname></term>
+
+ <listitem>
+ <para>Telefonnummer 2 des Ansprechpartners</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>cp_title</varname></term>
+
+ <listitem>
+ <para>Titel des Ansprechpartners</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>creditlimit</varname></term>
+
+ <listitem>
+ <para>Kreditlimit</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>customeremail</varname></term>
+
+ <listitem>
+ <para>Email des Kunden; nur für Kunden</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>customerfax</varname></term>
+
+ <listitem>
+ <para>Faxnummer des Kunden; nur für Kunden</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>customernotes</varname></term>
+
+ <listitem>
+ <para>Bemerkungen beim Kunden; nur für Kunden</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>customernumber</varname></term>
+
+ <listitem>
+ <para>Kundennummer; nur für Kunden</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>customerphone</varname></term>
+
+ <listitem>
+ <para>Telefonnummer des Kunden; nur für Kunden</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>discount</varname></term>
+
+ <listitem>
+ <para>Rabatt</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>email</varname></term>
+
+ <listitem>
+ <para>Emailadresse</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>fax</varname></term>
+
+ <listitem>
+ <para>Faxnummer</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>gln</varname></term>
+
+ <listitem>
+ <para>GLN (Globale Lokationsnummer)</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>greeting</varname></term>
+
+ <listitem>
+ <para>Anrede</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>homepage</varname></term>
+
+ <listitem>
+ <para>Homepage</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>iban</varname></term>
+
+ <listitem>
+ <para>Internationale Kontonummer (International Bank Account
+ Number, IBAN)</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>language</varname></term>
+
+ <listitem>
+ <para>Sprache</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>name</varname></term>
+
+ <listitem>
+ <para>Firmenname</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>natural_person</varname></term>
+
+ <listitem>
+ <para>Flag "natürliche Person"; Siehe auch
+ <xref linkend="dokumentenvorlagen-und-variablen.anrede"/></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>payment_description</varname></term>
+
+ <listitem>
+ <para>Name der Zahlart</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>payment_terms</varname></term>
+
+ <listitem>
+ <para>Zahlungskonditionen</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>phone</varname></term>
+
+ <listitem>
+ <para>Telefonnummer</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>shiptocity</varname></term>
+
+ <listitem>
+ <para>Stadt (Lieferadresse) <link
+ linkend="dokumentenvorlagen-und-variablen.anmerkung-shipto">*</link></para>
+ </listitem>
+ </varlistentry>