X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=doc%2Fdokumentenvorlagen-und-variablen.html;h=e1dac111be62efa5429a829f9ed122474fcf2c84;hb=0b542b2592c077957d9ccc08ca0cf84886e2b1d2;hp=91e245da8f5aeeb8bdef05f0131630dcd55d209a;hpb=388a2ff5471adc27084f77e60fe154f25790dc9e;p=kivitendo-erp.git diff --git a/doc/dokumentenvorlagen-und-variablen.html b/doc/dokumentenvorlagen-und-variablen.html index 91e245da8..e1dac111b 100644 --- a/doc/dokumentenvorlagen-und-variablen.html +++ b/doc/dokumentenvorlagen-und-variablen.html @@ -51,6 +51,9 @@ td {
  • Variablen ausgeben
  • +
  • Verwendung in Druckbefehlen +
  • +
  • Anfang und Ende der Tags verändern
  • @@ -128,9 +131,6 @@ td {
  • Die foreach-Schleife
  • - -
  • - Der pagebreak-Block
  • @@ -232,6 +232,31 @@ td { zum Inhaltsverzeichnis

    +

    Verwendung in Druckbefehlen

    + +

    + 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 `...` nicht zu unerwünschtem Verhalten führen. +

    + +

    + 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: +

    + +

    + send_fax --number <%if cp_phone2%><%cp_phone2%><%else%><%cp_phone1%><%end%> +

    + + + zum Inhaltsverzeichnis
    +
    +

    Anfang und Ende der Tags verändern

    @@ -331,6 +356,23 @@ td {

    + Sprache, Drucker und E-Mail + +

    Angeforderte Sprache und Druckerkürzel in den Dateinamen mit eingearbeitet. So wird aus der Vorlage sales_order.ext bei Sprache de und Druckerkürzel lpr2 der Vorlagenname sales_order_de_lpr2.ext. Zusätzlich können für E-Mails andere Vorlagen erstellt werden, diese bekommen dann noch das Kürzel _email, der vollständige Vorlagenname wäre dann sales_order_email_de_lpr2.ext. In allen Fällen kann eine Standarddatei default.ext hinterlegt werden. Diese wird verwendet, wenn keine der anderen Varianten gefunden wird.

    + +

    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:

    +

    + + + + + + +
    Reihenfolge der möglichen Vorlagennamen
    sales_order_email_de_lpr2.tex
    sales_order_de_lpr2.tex
    sales_order.tex
    default.tex
    +

    + +

    Die kurzen Varianten dieser Vorlagentitel müssen dann entweder Standardwerte anzeigen, oder die angeforderten Werte selbst auswerten, siehe dazu Metadaten in Vorlagen

    + zum Inhaltsverzeichnis

    @@ -338,6 +380,57 @@ td {

    Allgemeine Variablen, die in allen Vorlagen vorhanden sind

    +

    + Metainformationen zur angeforderten Vorlage:

    + +

    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.

    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VariablennameBedeutung
    template_meta.formnameBasisname der Vorlage. Identisch mit der Zurordnung zu den Dateinamen ohne die Erweiterung. Ein Verkaufsauftrag enthält hier sales_order.
    template_meta.language.descriptionBeschreibung der verwendeten Sprache
    template_meta.language.template_codeVorlagenürzel der verwendeten Sprache, identisch mit dem Kürzel das im Dateinamen verwendetet wird.
    template_meta.language.output_numberformatZahlenformat der verwendeten Sprache in der Form "1.000,00". Experimentell!. Nur interessant für Vorlagen die mit unformatierten Werten arbeiten.
    template_meta.language.output_dateformatDatumsformat der verwendeten Sprache in der Form "dd.mm.yyyy". Experimentell!. Nur interessant für Vorlagen die mit unformatierten Werten arbeiten.
    template_meta.formatDas angeforderte Format. Kann im Moment die Werte pdf, postscript, html, opendocument, opendocument_pdf und excel enthalten.
    template_meta.extensionDateierweiterung, wie im Dateinamen. Wird aus format entschieden.
    template_meta.mediaAusgabemedium. Kann zur Zeit die Werte screen für Bildschirm, email für E-Mmail (triggert das _email Kürzel im Dateinamen), printer für Drucker, und queue für Warteschlange enthalten.
    template_meta.printer.descriptionBeschreibung des ausgewählten Druckers
    template_meta.printer.template_codeVorlagenürzel des ausgewählten Druckers, identisch mit dem Kürzel das im Dateinamen verwendetet wird.
    +

    +

    Stammdaten von Kunden und Lieferanten:

    @@ -533,7 +626,7 @@ td { ustid - Usatzsteuer-Identifikationsnummer + Umsatzsteuer-Identifikationsnummer @@ -797,12 +890,6 @@ td { subtotal[_nofmt] Zwischensumme aller Posten ohne Steuern - - sumcarriedforward - Zwischensumme aller bisher ausgegebenen Posten. Sollte nur in einem - - pagebreak-Block verwendet werden. - total Restsumme der Rechnung (Summe abzüglich bereits bezahlter Posten) @@ -1137,6 +1224,11 @@ td { dn_transdate Rechnungsdatum + + dn_curr + Währung, in der die Rechnung erstellt wurde. (Die Rechnungsbeträge + sind aber immer in der Hauptwährung) +

    @@ -1501,47 +1593,6 @@ td { zwischen <%foreach%> und <%end%> wiederholt, nicht aber die komplette Zeile, in der er steht.

    -

    Der pagebreak-Block

    - -

    <%pagebreak ZpZ ZeS ZzS%>
    - ...
    - <%end%>

    - -

    Dieser Block existiert nur in LaTeX-Vorlagen.

    - -

    Dieser Block legt das Verhalten beim manuellen Einfügen eines - Seitenumbruchs fest. Normalerweise bricht LaTeX die Seiten selber um. Beim - Rechnungsdruck ist das oft nicht gewünscht, oder man möchte im - Falle eines Seitenumbruchs den Übertrag etc. mit ausgeben. Deswegen - versucht der Parser, manuell Seitenumbrüche einzufügen, - während er einen foreach-Block auswertet, weil hier die - manuellen Seitenumbrüche erforderlich werden. Dafür benötigt - der Parser aber drei Informationen:

    - -

    -

      -
    1. Wieviele Zeichen passen bei der Variablen "description" pro Posten - in eine Zeile? Das ist der Parameter "ZpZ" (Zeichen pro Zeile).
    2. -
    3. Wieviele Zeilen/Posten passen auf die erste Seite? Das - ist der Parameter "ZeS" (Zeilen erste Seite).
    4. -
    5. Wieviele Zeilen/Posten passen auf die zweite und alle nachfolgenden - Seiten? Das ist der Parameter "ZzS" (Zeilen zweite Seite).
    6. -
    -

    - -

    Diese Parameter sind drei Zahlen, die manuell durch Verwendung von langen - Warenbezeichnungen und Rechnungen mit vielen Posten bestimmt werden - müssen.

    - -

    Üblicherweise wird in diesem Block zuerst die aktuelle Tabelle - geschlossen, eventuell Text eingefügt (z.B. "Fortsetzung auf der - nächsten Seite"), dann ein Seitenumbruch erzwungen, eventuell Text - eingefügt (z.B. "Übertrag von der vorherigen Seite: - <%sumcarriedforward%> EUR") und die Tabelle wieder geöffnet.

    - -

    Wird kein manueller Seitenumbruch gewüscht, so kann dieser Block - komplett entfallen.

    - zum Inhaltsverzeichnis

    @@ -1593,11 +1644,9 @@ td {

    Eine Besonderheit ist der Befehl <pagebreak>, der nur in LaTeX-Vorlagen funktioniert und in anderen Vorlagen - einfach gelöscht wird. Dieser erzwingt unabhängig von der - im pagebreak-Block - voreingestellten Werte einen Seitenumbruch nach der aktuellen - Rechnungsposition. Dementsprechend funktioniert er nur innerhalb von + einfach gelöscht wird. Dieser erzwingt einen Seitenumbruch nach + der aktuellen Rechnungsposition. Dementsprechend funktioniert er nur + innerhalb von <%foreach...%>-Schleifen. Weiterhin benötigt er kein Endtag.