3 <title>Dokumentenvorlagen und verfügbare Variablen</title>
4 <style type="text/css">
8 background-color: #b0ecff;
9 border: 1px solid blue;
16 background-color: #fae8b8;
17 border: 1px solid #be5303;
18 border-collapse: collapse;
22 border: 1px solid #be5303;
32 <h1>Dokumentenvorlagen und verfügbare Variablen</h1>
34 <p>geschrieben von <a href="mailto:m.bunkus@linet-services.de">Moritz
35 Bunkus</a>. Version: $Id$ </p>
39 <h2><a name="inhaltsverzeichnis">Inhaltsverzeichnis</a></h2>
42 <li><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
43 Inhaltsverzeichnis</a></li>
45 <li><a href="dokumentenvorlagen-und-variablen.html#einfuehrung">Einführung</a>
48 <li><a href="dokumentenvorlagen-und-variablen.html#zuordnung_dateinamen">
49 Zuordnung von Dateinamen zu den Funktionen</a></li>
51 <li><a href="#variablen_ausgeben">Variablen ausgeben</a>
54 <li><a href="#verwendung_in_druckbefehlen">Verwendung in Druckbefehlen</a>
57 <li><a href="dokumentenvorlagen-und-variablen.html#tag_style">
58 Anfang und Ende der Tags verändern</a></li>
60 <li><a href="dokumentenvorlagen-und-variablen.html#allgemeine_variablen">
61 Allgemeine Variablen, die in allen Vorlagen vorhanden sind</a><br>
64 <li><a href="dokumentenvorlagen-und-variablen.html#allgemein_stammdaten">
65 Stammdaten von Kunden und Lieferanten</a></li>
67 <li><a href="dokumentenvorlagen-und-variablen.html#allgemein_bearbeiter">
68 Informationen über den Bearbeiter</a></li>
70 <li><a href="dokumentenvorlagen-und-variablen.html#allgemein_verkaeufer">
71 Informationen über den Verkäufer</a></li>
73 <li><a href="dokumentenvorlagen-und-variablen.html#allgemein_steuern">
74 Variablen für jede Steuer</a></li>
78 <li><a href="dokumentenvorlagen-und-variablen.html#invoice">
79 Variablen in Rechnungen</a>
82 <li><a href="dokumentenvorlagen-und-variablen.html#invoice_allgemein">
83 Allgemeine Variablen</a></li>
85 <li><a href="dokumentenvorlagen-und-variablen.html#invoice_posten">
86 Variablen für jeden Posten auf der Rechnung</a></li>
88 <li><a href="dokumentenvorlagen-und-variablen.html#invoice_zahlungen">
89 Variablen für die Zahlungseingänge</a></li>
91 <li><a href="dokumentenvorlagen-und-variablen.html#invoice_benutzerdefinierte_variablen_vc">
92 Benutzerdefinierte Kunden- und Lieferantenvariablen</a></li>
96 <li><a href="dokumentenvorlagen-und-variablen.html#dunning">
97 Variablen in Mahnungen und Rechnungen über Mahngebühren</a>
100 <li><a href="dokumentenvorlagen-und-variablen.html#dunning_vorlagennamen">
101 Namen der Vorlagen</a></li>
103 <li><a href="dokumentenvorlagen-und-variablen.html#dunning_allgemein">
104 Allgemeine Variablen in Mahnungen</a></li>
106 <li><a href="dokumentenvorlagen-und-variablen.html#dunning_details">
107 Variablen für jede gemahnte Rechnung in einer Mahnung</a></li>
109 <li><a href="dokumentenvorlagen-und-variablen.html#dunning_invoice">
110 Variablen in automatisch erzeugten Rechnungen über Mahngebühren</a></li>
114 <li><a href="dokumentenvorlagen-und-variablen.html#anderevorlagen">
115 Variablen in anderen Vorlagen</a>
118 <li><a href="dokumentenvorlagen-und-variablen.html#anderevorlagen_quotations">Angebote und Preisanfragen</a></li>
119 <li><a href="dokumentenvorlagen-und-variablen.html#anderevorlagen_orders">Auftragsbestätigungen und Lieferantenaufträge</a></li>
120 <li><a href="dokumentenvorlagen-und-variablen.html#anderevorlagen_delivery_orders">Lieferscheine (Verkauf und Einkauf)</a></li>
121 <li><a href="dokumentenvorlagen-und-variablen.html#anderevorlagen_statement">Sammelrechnung</a></li>
125 <li><a href="dokumentenvorlagen-und-variablen.html#bloecke">
126 Blöcke, bedingte Anweisungen und Schleifen</a>
129 <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_if">
130 Der <code>if</code>-Block</a></li>
132 <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_foreach">
133 Die <code>foreach</code>-Schleife</a></li>
137 <li><a href="dokumentenvorlagen-und-variablen.html#markup">
138 Markup-Code, der innerhalb von Formularen zur Textformatierung verwendet
145 <h2><a name="einfuehrung">Einführung</a></h2>
147 <p>Dies ist eine Auflistung der Standard-Dokumentenvorlagen und aller
148 zur Bearbeitung verfügbaren Variablen. Eine Variable wird in
149 einer Vorlage durch ihren Inhalt ersetzt, wenn sie in der Form
150 <code><%variablenname%></code> verwendet wird. Für LaTeX-
151 und HTML-Vorlagen kann man die Form dieser Tags auch
152 <a href="dokumentenvorlagen-und-variablen.html#tag_style">
156 <p>Einige Zahlenwerte werden auch in unformatierter Form zur Verfügung
157 gestellt (also z.B. 35 statt 35,00 oder 12.3 statt 12,30). Der Dezimaltrenner
158 ist dabei also immer ein Punkt unabhaengig vom eingestellten Zahlenformat.
159 Diese Variabelen kann man mit der Erweiterung _nofmt (für no-format) aufrufen
160 (also z.B. netprice = 12,30 -- netprice_nofmt = 12.3). Variabeln die zusätzlich
161 unformatiert zur Verfügung stehen sind unten als variable[_nofmt] gelistet.
162 Die Eckigen Klammern weisen also auf eine optionale Verwändung der Erweiterung hin.
165 <p>Früher wurde hier nur über LaTeX gesprochen. Inzwischen
166 unterstützt Lx-Office aber auch OpenDocument-Vorlagen. Sofern
167 es nicht ausdrücklich eingeschränkt wird, gilt das im
168 Folgenden gesagte für alle Vorlagenarten.</p>
170 <p>Insgesamt sind technisch gesehen eine ganze Menge mehr Variablen
171 verfügbar als hier aufgelistet werden. Die meisten davon können
172 allerdings innerhalb einer solchen Vorlage nicht sinnvoll verwendet
173 werden. Wenn eine Auflistung dieser Variablen gewollt ist, so kann diese wie
174 folgt erhalten werden:</p>
178 <li><code>SL/Form.pm</code> öffnen und am Anfang die Zeile
179 <pre>"use Data::Dumper;"</pre> einfügen.</li>
181 <li>In <code>Form.pm</code> die Funktion <code>parse_template</code>
182 suchen und hier die Zeile <pre>print(STDERR Dumper($self));</pre>
185 <li>Einmal per Browser die gewünschte Vorlage "benutzen", z.B. ein PDF
186 für eine Rechnung erzeugen.</li>
188 <li>Im <code>error.log</code> vom Apache steht die Ausgabe der Variablen
189 <code>$self</code> in der Form <code>'key' => 'value',</code>. Alle
190 <code>key</code>s sind verfügbar.</li>
194 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
195 zum Inhaltsverzeichnis</a></small><br>
198 <h2><a name="variablen_ausgeben">Variablen ausgeben</a></h2>
200 <p>Um eine Variable auszugeben, müssen sie einfach nur zwischen die
201 Tags geschrieben werden, also
202 z.B. <code><%variablenname%></code>.</p>
205 Optional kann man auch mit Leerzeichen getrennte Flags angeben, die
206 man aber nur selten brauchen wird. Die Syntax sieht also so
207 aus: <code><%variablenname FLAG1 FLAG2%></code>. Momentan werden
208 die folgenden Flags unterstützt:
213 <code>NOFORMAT</code> gilt nur für Zahlenwerte und gibt den Wert
214 ohne Formatierung, also ohne Tausendertrennzeichen mit mit einem
215 Punkt als Dezimaltrennzeichen aus. Nützlich z.B., wenn damit in der
216 Vorlage z.B. von LaTeX gerechnet werden soll.
220 <code>NOESCAPE</code> unterdrückt das Escapen von Sonderzeichen für
221 die Vorlagensprache. Wenn also in einer Variablen bereits gültiger
222 LaTeX-Code steht und dieser von LaTeX auch ausgewertet und nicht
223 wortwörtlich angezeigt werden soll, so ist dieses Flag sinnvoll.
228 Beispiel: <code class="blue"><%quototal NOFORMAT%></code>
231 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
232 zum Inhaltsverzeichnis</a></small><br>
235 <h2><a name="verwendung_in_druckbefehlen">Verwendung in Druckbefehlen</a></h2>
238 In der Admininstration können Drucker definiert werden. Auch im dort
239 eingebbaren Druckbefehl können die hier aufgelisteten Variablen und
240 Kontrollstrukturen verwendet werden. Ihr Inhalt wird dabei nach den
241 Regeln der gängigen Shells formatiert, sodass Sonderzeichen
242 wie <code>`...`</code> nicht zu unerwünschtem Verhalten führen.
246 Dies erlaubt z.B. die Definition eines Faxes als Druckerbefehl, für
247 das die Telefonnummer eines Ansprechpartners als Teil der
248 Kommandozeile verwendet wird. Für ein fiktives Kommando könnte das
249 z.B. wie folgt aussehen:
253 <code>send_fax --number <%if cp_phone2%><%cp_phone2%><%else%><%cp_phone1%><%end%></code>
256 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
257 zum Inhaltsverzeichnis</a></small><br>
260 <h2><a name="tag_style">
261 Anfang und Ende der Tags verändern</a></h2>
263 <p>Der Standardstil für Tags sieht vor, dass ein Tag mit dem
264 Kleinerzeichen und einem Prozentzeichen beginnt und mit dem
265 Prozentzeichen und dem Größerzeichen endet,
266 beispielsweise <code><%customer%></code>. Da diese Form aber
267 z.B. in LaTeX zu Problemen führen kann, weil das Prozentzeichen
268 dort Kommentare einleitet, kann pro HTML- oder
269 LaTeX-Dokumentenvorlage der Stil umgestellt werden.</p>
271 <p>Dazu werden in die Datei Zeilen geschrieben, die mit dem für
272 das Format gültigen Kommentarzeichen anfangen,
273 dann <code>config:</code> enthalten, die entsprechende Option setzen
274 und bei HTML-Dokumentenvorlagen mit dem Kommentarendzeichen
275 enden. Beispiel für LaTeX:</p>
277 <p><code>% config: tag-style=($ $)</code></p>
279 <p>Dies würde Lx-Office dazu veranlassen, Variablen zu ersetzen,
280 wenn sie wie folgt aussehen: <code>($customer$)</code>. Das
281 äquivalente Beispiel für HTML-Dokumentenvorlagen sieht so
284 <p><code><!-- config: tag-style=($ $) --></code></p>
286 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
287 zum Inhaltsverzeichnis</a></small><br>
290 <h2><a name="zuordnung_dateinamen">
291 Zuordnung von den Dateinamen zu den Funktionen</a></h2>
293 <p>Diese folgende kurze Auflistung zeigt, welche Vorlage bei welcher
294 Funktion ausgelesen wird. Dabei ist die Dateiendung ".ext"
295 geeignet zu ersetzen: ".tex" fü LaTeX-Vorlagen und
296 ".odt" für OpenDocument-Vorlagen.</p>
305 <td><code>bin_list.ext</code></td>
309 <td><code>check.ext</code></td>
313 <td><code>invoice.ext</code></td>
317 <td><code>packing_list.ext</code></td>
321 <td><code>pick_list.ext</code></td>
325 <td><code>purchase_delivery_order.ext</code></td>
326 <td>Lieferschein (Einkauf)</td>
329 <td><code>purcharse_order.ext</code></td>
330 <td>Bestellung an Lieferanten</td>
333 <td><code>request_quotation.ext</code></td>
334 <td>Anfrage an Lieferanten</td>
337 <td><code>sales_delivery_order.ext</code></td>
338 <td>Lieferschein (Verkauf)</td>
341 <td><code>sales_order.ext</code></td>
345 <td><code>sales_quotation.ext</code></td>
346 <td>Angebot an Kunden</td>
349 <td><code>zahlungserinnerung.ext</code></td>
350 <td>Mahnung (Dateiname im Programm konfigurierbar)</td>
353 <td><code>zahlungserinnerung_invoice.ext</code></td>
354 <td>Rechnung über Mahngebühren (Dateiname im Programm konfigurierbar)</td>
359 <a name="#dateinamen_erweitert"<h3>Sprache, Drucker und E-Mail</h3>
361 <p>Angeforderte Sprache und Druckerkürzel in den Dateinamen mit eingearbeitet. So wird aus der Vorlage <code>sales_order.ext</code> bei Sprache <code>de</code> und Druckerkürzel <code>lpr2</code> der Vorlagenname <code>sales_order_de_lpr2.ext</code>. Zusätzlich können für E-Mails andere Vorlagen erstellt werden, diese bekommen dann noch das Kürzel <code>_email</code>, der vollständige Vorlagenname wäre dann <code>sales_order_email_de_lpr2.ext</code>. In allen Fällen kann eine Standarddatei <code>default.ext</code> hinterlegt werden. Diese wird verwendet, wenn keine der anderen Varianten gefunden wird.</p>
363 <p>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:</p>
366 <tr><th>Reihenfolge der möglichen Vorlagennamen</th></tr>
367 <tr><td><code>sales_order_email_de_lpr2.tex</code></td></tr>
368 <tr><td><code>sales_order_de_lpr2.tex</code></td></tr>
369 <tr><td><code>sales_order.tex</code></td></tr>
370 <tr><td><code>default.tex</code></td></tr>
374 <p>Die kurzen Varianten dieser Vorlagentitel müssen dann entweder Standardwerte anzeigen, oder die angeforderten Werte selbst auswerten, siehe dazu <a href="#allgemein_meta">Metadaten in Vorlagen</a></p>
376 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
377 zum Inhaltsverzeichnis</a></small><br>
380 <h2><a name="allgemeine_variablen">
381 Allgemeine Variablen, die in allen Vorlagen vorhanden sind</a></h2>
383 <h3><a name="allgemein_meta">
384 Metainformationen zur angeforderten Vorlage:</a></h3>
386 <p>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.</p>
390 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
392 <td><code>template_meta.formname</code></td>
393 <td>Basisname der Vorlage. Identisch mit der <a href="#zuordnung_dateinamen">Zurordnung zu den Dateinamen</a> ohne die Erweiterung. Ein Verkaufsauftrag enthält hier <code>sales_order</code>.</td>
396 <td><code>template_meta.language.description</code></td>
397 <td>Beschreibung der verwendeten Sprache</td>
400 <td><code>template_meta.language.template_code</code></td>
401 <td>Vorlagenürzel der verwendeten Sprache, identisch mit dem Kürzel das im Dateinamen verwendetet wird.</td>
404 <td><code>template_meta.language.output_numberformat</code></td>
405 <td>Zahlenformat der verwendeten Sprache in der Form "1.000,00". <em>Experimentell!</em>. Nur interessant für Vorlagen die mit unformatierten Werten arbeiten.</td>
408 <td><code>template_meta.language.output_dateformat</code></td>
409 <td>Datumsformat der verwendeten Sprache in der Form "dd.mm.yyyy". <em>Experimentell!</em>. Nur interessant für Vorlagen die mit unformatierten Werten arbeiten.</td>
412 <td><code>template_meta.format</code></td>
413 <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>
416 <td><code>template_meta.extension</code></td>
417 <td>Dateierweiterung, wie im Dateinamen. Wird aus <code>format</code> entschieden.</td>
420 <td><code>template_meta.media</code></td>
421 <td>Ausgabemedium. Kann zur Zeit die Werte <code>screen</code> für Bildschirm, <code>email</code> für E-Mmail (triggert das <code>_email</code> Kürzel im Dateinamen), <code>printer</code> für Drucker, und <code>queue</code> für Warteschlange enthalten.</td>
424 <td><code>template_meta.printer.description</code></td>
425 <td>Beschreibung des ausgewählten Druckers</td>
428 <td><code>template_meta.printer.template_code</code></td>
429 <td>Vorlagenürzel des ausgewählten Druckers, identisch mit dem Kürzel das im Dateinamen verwendetet wird.</td>
434 <h3><a name="allgemein_stammdaten">
435 Stammdaten von Kunden und Lieferanten:</a></h3>
439 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
441 <td><code>account_number</code></td>
445 <td><code>bank</code></td>
446 <td>Name der Bank</td>
449 <td><code>bank_code</code></td>
450 <td>Bankleitzahl</td>
453 <td><code>bic</code></td>
454 <td>Bank-Identifikations-Code (Bank Identifier Code, BIC)</td>
457 <td><code>business</code></td>
458 <td>Kunden-/Lieferantentyp</td>
461 <td><code>city</code></td>
465 <td><code>contact</code></td>
469 <td><code>country</code></td>
473 <td><code>cp_email</code></td>
474 <td>Email des Ansprechpartners</td>
477 <td><code>cp_givenname</code></td>
478 <td>Vorname des Ansprechpartners</td>
481 <td><code>cp_greeting</code></td>
482 <td>Anrede des Ansprechpartners</td>
485 <td><code>cp_name</code></td>
486 <td>Name des Ansprechpartners</td>
489 <td><code>cp_phone1</code></td>
490 <td>Telefonnummer 1 des Ansprechpartners</td>
493 <td><code>cp_phone2</code></td>
494 <td>Telefonnummer 2 des Ansprechpartners</td>
497 <td><code>cp_title</code></td>
498 <td>Titel des Ansprechpartners</td>
501 <td><code>creditlimit</code></td>
505 <td><code>customeremail</code></td>
506 <td>Email des Kunden; nur für Kunden</td>
509 <td><code>customerfax</code></td>
510 <td>Faxnummer des Kunden; nur für Kunden</td>
513 <td><code>customernotes</code></td>
514 <td>Bemerkungen beim Kunden; nur für Kunden</td>
517 <td><code>customernumber</code></td>
518 <td>Kundennummer; nur für Kunden</td>
521 <td><code>customerphone</code></td>
522 <td>Telefonnummer des Kunden; nur für Kunden</td>
525 <td><code>discount</code></td>
529 <td><code>email</code></td>
530 <td>Emailadresse</td>
533 <td><code>fax</code></td>
537 <td><code>homepage</code></td>
541 <td><code>iban</code></td>
542 <td>Internationale Kontonummer (International Bank Account Number, IBAN)</td>
545 <td><code>language</code></td>
549 <td><code>name</code></td>
553 <td><code>payment_description</code></td>
554 <td>Name der Zahlart</td>
557 <td><code>payment_terms</code></td>
558 <td>Zahlungskonditionen</td>
561 <td><code>phone</code></td>
562 <td>Telefonnummer</td>
565 <td><code>shiptocity</code></td>
566 <td>Stadt (Lieferadresse)
567 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
570 <td><code>shiptocontact</code></td>
571 <td>Kontakt (Lieferadresse)
572 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
575 <td><code>shiptocountry</code></td>
576 <td>Land (Lieferadresse)
577 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
580 <td><code>shiptodepartment1</code></td>
581 <td>Abteilung 1 (Lieferadresse)
582 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
585 <td><code>shiptodepartment2</code></td>
586 <td>Abteilung 2 (Lieferadresse)
587 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
590 <td><code>shiptoemail</code></td>
591 <td>Email (Lieferadresse)
592 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
595 <td><code>shiptofax</code></td>
596 <td>Fax (Lieferadresse)
597 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
600 <td><code>shiptoname</code></td>
601 <td>Firmenname (Lieferadresse)
602 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
605 <td><code>shiptophone</code></td>
606 <td>Telefonnummer (Lieferadresse)
607 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
610 <td><code>shiptostreet</code></td>
611 <td>Straße und Hausnummer (Lieferadresse)
612 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
615 <td><code>shiptozipcode</code></td>
616 <td>Postleitzahl (Lieferadresse)
617 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
620 <td><code>street</code></td>
621 <td>Straße und Hausnummer</td>
624 <td><code>taxnumber</code></td>
625 <td>Steuernummer</td>
628 <td><code>ustid</code></td>
629 <td>Umsatzsteuer-Identifikationsnummer</td>
633 <td><code>vendoremail</code></td>
634 <td>Email des Lieferanten; nur für Lieferanten</td>
637 <td><code>vendorfax</code></td>
638 <td>Faxnummer des Lieferanten; nur für Lieferanten</td>
641 <td><code>vendornotes</code></td>
642 <td>Bemerkungen beim Lieferanten; nur für Lieferanten</td>
645 <td><code>vendornumber</code></td>
646 <td>Lieferantennummer; nur für Lieferanten</td>
649 <td><code>vendorphone</code></td>
650 <td>Telefonnummer des Lieferanten; nur für Lieferanten</td>
653 <td><code>zipcode</code></td>
654 <td>Postleitzahl</td>
659 <p><a name="anmerkung_shipto"><em>Anmerkung</em></a>: Sind die
660 <code>shipto*</code>-Felder in den Stammdaten nicht eingetragen, so haben
661 die Variablen <code>shipto*</code> den gleichen Wert wie die die
662 entsprechenden Variablen der Lieferdaten. Das bedeutet, dass sich einige
663 <code>shipto*</code>-Variablen so nicht in den Stammdaten wiederfinden
664 sondern schlicht Kopien der Lieferdatenvariablen sind
665 (z.B. <code>shiptocontact</code>).</p>
667 <h3><a name="allgemein_bearbeiter">
668 Informationen über den Bearbeiter:</a></h3>
672 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
674 <td><code>employee_address</code></td>
678 <td><code>employee_businessnumber</code></td>
679 <td>Firmennummer</td>
682 <td><code>employee_company</code></td>
686 <td><code>employee_co_ustid</code></td>
687 <td>Usatzsteuer-Identifikationsnummer</td>
690 <td><code>employee_duns</code></td>
694 <td><code>employee_email</code></td>
698 <td><code>employee_fax</code></td>
702 <td><code>employee_name</code></td>
706 <td><code>employee_signature</code></td>
710 <td><code>employee_taxnumber</code></td>
711 <td>Steuernummer</td>
714 <td><code>employee_tel</code></td>
715 <td>Telefonnummer</td>
720 <h3><a name="allgemein_verkaeufer">
721 Informationen über den Verkäufer (nur bei Verkaufsmasken):</a></h3>
725 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
727 <td><code>salesman_address</code></td>
731 <td><code>salesman_businessnumber</code></td>
732 <td>Firmennummer</td>
735 <td><code>salesman_company</code></td>
739 <td><code>salesman_co_ustid</code></td>
740 <td>Usatzsteuer-Identifikationsnummer</td>
743 <td><code>salesman_duns</code></td>
747 <td><code>salesman_email</code></td>
751 <td><code>salesman_fax</code></td>
755 <td><code>salesman_name</code></td>
759 <td><code>salesman_signature</code></td>
763 <td><code>salesman_taxnumber</code></td>
764 <td>Steuernummer</td>
767 <td><code>salesman_tel</code></td>
768 <td>Telefonnummer</td>
773 <h3><a name="allgemein_steuern">
774 Variablen für die einzelnen Steuern:</a></h3>
778 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
780 <td><code>tax</code></td>
784 <td><code>taxbase</code></td>
785 <td>zu versteuernder Betrag</td>
788 <td><code>taxdescription</code></td>
789 <td>Name der Steuer</td>
792 <td><code>taxrate</code></td>
798 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
799 zum Inhaltsverzeichnis</a></small><br>
802 <h2><a name="invoice">Variablen in Rechnungen</a></h2>
804 <h3><a name="invoice_allgemein">Allgemeine Variablen:</a></h3>
808 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
810 <td><code>creditremaining</code></td>
811 <td>Verbleibender Kredit</td>
814 <td><code>currency</code></td>
815 <td>Währung</td>
818 <td><code>cusordnumber</code></td>
819 <td>Bestellnummer beim Kunden</td>
822 <td><code>deliverydate</code></td>
826 <td><code>duedate</code></td>
827 <td>Fälligkeitsdatum</td>
830 <td><code>globalprojectnumber</code></td>
831 <td>Projektnummer des ganzen Beleges</td>
834 <td><code>globalprojectdescription</code></td>
835 <td>Projekbeschreibung des ganzen Beleges</td>
838 <td><code>intnotes</code></td>
839 <td>Interne Bemerkungen</td>
842 <td><code>invdate</code></td>
843 <td>Rechnungsdatum</td>
846 <td><code>invnumber</code></td>
847 <td>Rechnungsnummer</td>
850 <td><code>invtotal</code></td>
851 <td>gesamter Rechnungsbetrag</td>
854 <td><code>notes</code></td>
855 <td>Bemerkungen der Rechnung</td>
858 <td><code>orddate</code></td>
859 <td>Auftragsdatum</td>
862 <td><code>ordnumber</code></td>
863 <td>Auftragsnummer, wenn die Rechnung aus einem Auftrag erstellt wurde</td>
866 <td><code>payment_description</code></td>
867 <td>Name der Zahlart</td>
870 <td><code>payment_terms</code></td>
871 <td>Zahlungskonditionen</td>
874 <td><code>quodate</code></td>
875 <td>Angebotsdatum</td>
878 <td><code>quonumber</code></td>
879 <td>Angebotsnummer</td>
882 <td><code>shippingpoint</code></td>
886 <td><code>shipvia</code></td>
887 <td>Transportmittel</td>
890 <td><code>subtotal[_nofmt]</code></td>
891 <td>Zwischensumme aller Posten ohne Steuern</td>
894 <td><code>total</code></td>
895 <td>Restsumme der Rechnung (Summe abzüglich bereits bezahlter Posten)</td>
898 <td><code>transaction_description</code></td>
899 <td>Vorgangsbezeichnung</td>
902 <td><code>transdate</code></td>
903 <td>Auftragsdatum wenn die Rechnung aus einem Auftrag erstellt wurde</td>
908 <h3><a name="invoice_posten">
909 Variablen für jeden Posten auf der Rechnung:</a></h3>
913 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
915 <td><code>bin</code></td>
919 <td><code>description</code></td>
920 <td>Artikelbeschreibung</td>
923 <td><code>discount[_nofmt]</code></td>
924 <td>Rabatt als Betrag</td>
927 <td><code>discount_sub[_nofmt]</code></td>
928 <td>Zwischensumme mit Rabatt</td>
931 <td><code>drawing</code></td>
935 <td><code>ean</code></td>
939 <td><code>image</code></td>
943 <td><code>linetotal[_nofmt]</code></td>
944 <td>Zeilensumme (Anzahl * Einzelpreis)</td>
947 <td><code>longdescription</code></td>
951 <td><code>microfiche</code></td>
955 <td><code>netprice[_nofmt]</code></td>
959 <td><code>nodiscount_linetotal[_nofmt]</code></td>
960 <td>Zeilensumme ohne Rabatt</td>
963 <td><code>nodiscount_sub[_nofmt]</code></td>
964 <td>Zwischensumme ohne Rabatt</td>
967 <td><code>number</code></td>
968 <td>Artikelnummer</td>
971 <td><code>ordnumber_oe</code></td>
972 <td>Auftragsnummer des Originalauftrags, wenn die Rechnung aus einem Sammelauftrag erstellt wurde</td>
975 <td><code>p_discount</code></td>
976 <td>Rabatt in Prozent</td>
979 <td><code>partnotes</code></td>
980 <td>Die beim Artikel gespeicherten Bemerkungen</td>
983 <td><code>partsgroup</code></td>
987 <td><code>price_factor</code></td>
988 <td>Der Preisfaktor als Zahl, sofern einer eingestellt ist</td>
991 <td><code>price_factor_name</code></td>
992 <td>Der Name des Preisfaktors, sofern einer eingestellt ist</td>
995 <td><code>projectnumber</code></td>
996 <td>Projektnummer</td>
999 <td><code>projectdescription</code></td>
1000 <td>Projektbeschreibung</td>
1003 <td><code>qty[_nofmt]</code></td>
1007 <td><code>reqdate</code></td>
1008 <td>Lieferdatum</td>
1011 <td><code>runningnumber</code></td>
1012 <td>Position auf der Rechnung (1, 2, 3...)</td>
1015 <td><code>sellprice[_nofmt]</code></td>
1016 <td>Verkaufspreis</td>
1019 <td><code>serialnumber</code></td>
1020 <td>Seriennummer</td>
1023 <td><code>tax_rate</code></td>
1027 <td><code>transdate_oe</code></td>
1028 <td>Auftragsdatum des Originalauftrags, wenn die Rechnung aus einem Sammelauftrag erstellt wurde</td>
1031 <td><code>unit</code></td>
1035 <td><code>weight</code></td>
1041 <p>Für jeden Posten gibt es ein Unterarray mit den Informationen über
1042 Lieferanten und Lieferantenartikelnummer. Diese müssen mit
1043 einer <code>foreach</code>-Schleife ausgegeben werden, da für jeden
1044 Artikel mehrere Lieferanteninformationen hinterlegt sein können. Die
1045 Variablen dafür lauten:</p>
1049 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
1051 <td><code>make</code></td>
1055 <td><code>model</code></td>
1056 <td>Lieferantenartikelnummer</td>
1061 <h3><a name="invoice_zahlungen">
1062 Variablen für die einzelnen Zahlungseingänge:</a></h3>
1066 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
1068 <td><code>payment</code></td>
1072 <td><code>paymentaccount</code></td>
1076 <td><code>paymentdate</code></td>
1080 <td><code>paymentmemo</code></td>
1084 <td><code>paymentsource</code></td>
1090 <h3><a name="invoice_benutzerdefinierte_variablen_vc">
1091 Benutzerdefinierte Kunden- und Lieferantenvariablen:</a></h3>
1094 Die vom Benutzer definierten Variablen für Kunden und
1095 Lieferanten stehen beim Ausdruck von Einkaufs- und Verkaufsbelegen
1096 ebenfalls zur Verfügung. Ihre Namen setzen sich aus dem
1097 Präfix <code>vc_cvar_</code> und dem vom Benutzer festgelegten
1098 Variablennamen zusammen.</p>
1100 <p>Beispiel: Der Benutzer hat eine Variable
1101 namens <code>number_of_employees</code> definiert, die die Anzahl
1102 der Mitarbeiter des Unternehmens enthält. Diese Variable steht
1103 dann unter dem Namen <code>vc_cvar_number_of_employees</code> zur
1106 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
1107 zum Inhaltsverzeichnis</a></small><br>
1110 <h2><a name="dunning">Variablen in Mahnungen und Rechnungen über Mahngebühren</a></h2>
1112 <h3><a name="dunning_vorlagennamen">Namen der Vorlagen</a></h3>
1114 <p>Die Namen der Vorlagen werden im System-Menü vom Benutzer
1115 eingegeben. Wird für ein Mahnlevel die Option zur automatischen
1116 Erstellung einer Rechnung über die Mahngebühren und Zinsen
1117 aktiviert, so wird der Name der Vorlage für diese Rechnung aus
1118 dem Vorlagenname für diese Mahnstufe mit dem
1119 Zusatz <code>_invoice</code> gebildet. Weiterhin werden die
1120 Kürzel für die ausgewählte Sprache und den
1121 ausgewählten Drucker angehängt.</p>
1123 <h3><a name="dunning_allgemein">Allgemeine Variablen in Mahnungen:</a></h3>
1125 <p>Die Variablen des Verkäufers stehen wie gewohnt
1126 als <code>employee_...</code> zur Verfügung. Die Adressdaten des
1127 Kunden stehen als Variablen <code>name</code>, <code>street</code>,
1128 <code>zipcode</code>, <code>city</code>, <code>country</code>,
1129 <code>department_1</code>, <code>department_2</code>, und
1130 <code>email</code> zur Verfügung.
1133 <p>Weitere Variablen beinhalten:</p>
1137 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
1139 <td><code>dunning_date</code></td>
1140 <td>Datum der Mahnung</td>
1143 <td><code>dunning_duedate</code></td>
1144 <td>Fälligkeitsdatum für diese Mahhnung</td>
1147 <td><code>dunning_id</code></td>
1148 <td>Mahnungsnummer</td>
1151 <td><code>fee</code></td>
1152 <td>Kummulative Mahngebühren</td>
1155 <td><code>interest_rate</code></td>
1156 <td>Zinssatz per anno in Prozent</td>
1159 <td><code>total_amount</code></td>
1160 <td>Gesamter noch zu zahlender Betrag als <code>fee</code> + <code>total_interest</code> + <code>total_open_amount</code></td>
1163 <td><code>total_interest</code></td>
1164 <td>Zinsen per anno über alle Rechnungen</td>
1167 <td><code>total_open_amount</code></td>
1168 <td>Summe über alle offene Beträge der Rechnungen</td>
1173 <h3><a name="dunning_details">
1174 Variablen für jede gemahnte Rechnung in einer Mahnung:</a></h3>
1178 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
1180 <td><code>dn_amount</code></td>
1181 <td>Rechnungssumme (brutto)</td>
1184 <td><code>dn_duedate</code></td>
1185 <td>Originales Fälligkeitsdatum der Rechnung</td>
1188 <td><code>dn_dunning_date</code></td>
1189 <td>Datum der Mahnung</td>
1192 <td><code>dn_dunning_duedate</code></td>
1193 <td>Fälligkeitsdatum der Mahnung</td>
1196 <td><code>dn_fee</code></td>
1197 <td>Kummulative Mahngebühr</td>
1200 <td><code>dn_interest</code></td>
1201 <td>Zinsen per anno für diese Rechnung</td>
1204 <td><code>dn_invnumber</code></td>
1205 <td>Rechnungsnummer</td>
1208 <td><code>dn_linetotal</code></td>
1209 <td>Noch zu zahlender Betrag (ergibt sich aus <code>dn_open_amount + dn_fee + dn_interest</code>)</td>
1212 <td><code>dn_netamount</code></td>
1213 <td>Rechnungssumme (netto)</td>
1216 <td><code>dn_open_amount</code></td>
1217 <td>Offener Rechnungsbetrag</td>
1220 <td><code>dn_ordnumber</code></td>
1221 <td>Bestellnummer</td>
1224 <td><code>dn_transdate</code></td>
1225 <td>Rechnungsdatum</td>
1228 <td><code>dn_curr</code></td>
1229 <td>Währung, in der die Rechnung erstellt wurde. (Die Rechnungsbeträge
1230 sind aber immer in der Hauptwährung)</td>
1235 <h3><a name="dunning_invoice">Variablen in automatisch erzeugten
1236 Rechnungen über Mahngebühren</a></h3>
1238 <p>Die Variablen des Verkäufers stehen wie gewohnt
1239 als <code>employee_...</code> zur Verfügung. Die Adressdaten des
1240 Kunden stehen als Variablen <code>name</code>, <code>street</code>,
1241 <code>zipcode</code>, <code>city</code>, <code>country</code>,
1242 <code>department_1</code>, <code>department_2</code>, und
1243 <code>email</code> zur Verfügung.
1246 <p>Weitere Variablen beinhalten:</p>
1250 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
1252 <td><code>duedate</code></td>
1253 <td>Fälligkeitsdatum der Rechnung</td>
1256 <td><code>dunning_id</code></td>
1257 <td>Mahnungsnummer</td>
1260 <td><code>fee</code></td>
1261 <td>Mahngebühren</td>
1264 <td><code>interest</code></td>
1268 <td><code>invamount</code></td>
1269 <td>Rechnungssumme (ergibt sich aus <code>fee + interest</code>)</td>
1272 <td><code>invdate</code></td>
1273 <td>Rechnungsdatum</td>
1276 <td><code>invnumber</code></td>
1277 <td>Rechnungsnummer</td>
1282 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
1283 zum Inhaltsverzeichnis</a></small><br>
1286 <h2><a name="anderevorlagen">
1287 Variablen in anderen Vorlagen</a></h2>
1289 <p>Die Variablen in anderen Vorlagen sind ähnlich wie in der
1290 Rechnung. Allerdings heißen die Variablen, die mit <code>inv</code>
1291 beginnen, jetzt anders. Bei den Angeboten fangen sie mit <code>quo</code>
1292 für "quotation" an: <code>quodate</code> für Angebotsdatum
1293 etc. Bei Bestellungen wiederum fangen sie mit <code>ord</code> für
1294 "order" an: <code>ordnumber</code> für Bestellnummer etc.</p>
1296 <p>Manche Variablen sind in anderen Vorlagen hingegen gar nicht vorhanden wie
1297 z.B. die für bereits verbuchte Zahlungseingänge. Dies sind
1298 Variablen, die vom Geschäftsablauf her in der entsprechenden Vorlage
1299 keine Bedeutung haben oder noch nicht belegt sein können.</p>
1301 <p>Im Folgenden werden nur wichtige Unterschiede zu den Variablen in
1302 Rechnungen aufgeführt.</p>
1304 <h3><a name="anderevorlagen_quotations">Angebote und Preisanfragen</a></h3>
1308 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
1310 <td><code>quonumber</code></td>
1311 <td>Angebots- bzw. Anfragenummer</td>
1314 <td><code>reqdate</code></td>
1315 <td>Gültigkeitsdatum (bei Angeboten) bzw. Lieferdatum (bei Preisanfragen)</td>
1318 <td><code>transdate</code></td>
1319 <td>Angebots- bzw. Anfragedatum</td>
1324 <h3><a name="anderevorlagen_orders">Auftragsbestätigungen und Lieferantenaufträge</a></h3>
1328 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
1330 <td><code>ordnumber</code></td>
1331 <td>Auftragsnummer</td>
1334 <td><code>reqdate</code></td>
1335 <td>Lieferdatum</td>
1338 <td><code>transdate</code></td>
1339 <td>Auftragsdatum</td>
1344 <h3><a name="anderevorlagen_delivery_orders">Lieferscheine (Verkauf und Einkauf)</a></h3>
1348 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
1350 <td><code>cusordnumber</code></td>
1351 <td>Bestellnummer des Kunden (im Verkauf) bzw. Bestellnummer des Lieferanten (im Einkauf)</td>
1354 <td><code>donumber</code></td>
1355 <td>Lieferscheinnummer</td>
1358 <td><code>transdate</code></td>
1359 <td>Lieferscheindatum</td>
1364 <p>Für jede Position eines Lieferscheines gibt es ein Unterarray mit
1365 den Informationen darüber, von welchem Lager und Lagerplatz aus die
1366 Waren verschickt wurden (Verkaufslieferscheine) bzw. auf welchen
1367 Lagerplatz sie eingelagert wurden. Diese müssen mittels
1368 einer <code>foreach</code>-Schleife ausgegeben werden. Diese
1372 <p>Für jede Position eines Lieferscheines gibt es ein Unterarray mit
1373 den Informationen darüber, von welchem Lager und Lagerplatz aus die
1374 Waren verschickt wurden (Verkaufslieferscheine) bzw. auf welchen
1375 Lagerplatz sie eingelagert wurden. Diese müssen mittels
1376 einer <code>foreach</code>-Schleife ausgegeben werden. Diese
1381 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
1383 <td><code>si_bin</code></td>
1387 <td><code>si_chargenumber</code></td>
1388 <td>Chargennummer</td>
1391 <td><code>si_bestbefore</code></td>
1392 <td>Mindesthaltbarkeit</td>
1395 <td><code>si_number</code></td>
1396 <td>Artikelnummer</td>
1399 <td><code>si_qty</code></td>
1400 <td>Anzahl bzw. Menge</td>
1403 <td><code>si_runningnumber</code></td>
1404 <td>Positionsnummer (1, 2, 3 etc)</td>
1407 <td><code>si_unit</code></td>
1411 <td><code>si_warehouse</code></td>
1417 <h3><a name="anderevorlagen_statement">Sammelrechnung</a></h3>
1419 <h3> Variablen für Sammelrechnung:</h3>
1422 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
1424 <td><code>c0total</code></td>
1425 <td>Gesamtbetrag aller Rechnungen mit Fälligkeit < 30 Tage</td>
1428 <td><code>c30total</code></td>
1429 <td>Gesamtbetrag aller Rechnungen mit Fälligkeit >= 30 und < 60 Tage</td>
1432 <td><code>c60total</code></td>
1433 <td>Gesamtbetrag aller Rechnungen mit Fälligkeit >= 60 und < 90 Tage</td>
1436 <td><code>c90total</code></td>
1437 <td>Gesamtbetrag aller Rechnungen mit Fälligkeit >= 90 Tage</td>
1440 <td><code>total</code></td>
1441 <td>Gesamtbetrag aller Rechnungen</td>
1446 <h3> Variablen für jede Rechnungsposition in Sammelrechnung:</h3>
1449 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
1451 <td><code>invnumber</code></td>
1452 <td>Rechnungsnummer</td>
1455 <td><code>invdate</code></td>
1456 <td>Rechnungsdatum</td>
1459 <td><code>duedate</code></td>
1460 <td>Fälligkeitsdatum</td>
1463 <td><code>amount</code></td>
1464 <td>Summe der Rechnung</td>
1467 <td><code>open</code></td>
1468 <td>Noch offener Betrag der Rechnung</td>
1471 <td><code>c0</code></td>
1472 <td>Noch offener Rechnungsbetrag mit Fälligkeit < 30 Tage</td>
1475 <td><code>c30</code></td>
1476 <td>Noch offener Rechnungsbetrag mit Fälligkeit >= 30 und < 60 Tage</td>
1479 <td><code>c60</code></td>
1480 <td>Noch offener Rechnungsbetrag mit Fälligkeit >= 60 und < 90 Tage</td>
1483 <td><code>c90</code></td>
1484 <td>Noch offener Rechnungsbetrag mit Fälligkeit >= 90 Tage</td>
1492 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
1493 zum Inhaltsverzeichnis</a></small><br>
1496 <h2><a name="bloecke">
1497 Blöcke, bedingte Anweisungen und Schleifen</a></h2>
1499 <p>Der Parser kennt neben den Variablen einige weitere Konstrukte,
1500 die gesondert behandelt werden. Diese sind wie Variablennamen in
1501 spezieller Weise markiert: <code><%anweisung%>
1502 ... <%end%></code></p>
1504 <p>Anmerkung zum <code><%end%></code>: Der besseren
1505 Verständlichkeit halber kann man nach dem <code>end</code> noch
1506 beliebig weitere Wörter schreiben, um so zu markieren, welche
1507 Anweisung (z.B. <code>if</code> oder <code>foreach</code>) damit
1508 abgeschlossen wird.</p>
1510 <p>Beispiel: Lautet der Beginn eines Blockes
1511 z.B. <code class="blue"><%if type ==
1512 "sales_quotation"%></code>, so könnte er mit
1513 <code class="blue"><%end%></code> genauso abgeschlossen werden
1515 <code class="blue"><%end if%></code> oder auch
1516 <code class="blue"><%end type ==
1517 "sales_quotation"%></code>.</p>
1519 <h3><a name="bloecke_if">Der <code>if</code>-Block</a></h3>
1521 <p class="blue"><code><%if variablenname%><br>
1523 <%end%></code></p>
1525 <p>Eine normale "if-then"-Bedingung. Die Zeilen zwischen
1526 dem "if" und dem "end" werden nur ausgegeben,
1527 wenn die Variable "variablenname" gesetzt und ungleich 0
1530 <p>Die Bedingung kann auch negiert werden, indem das Wort
1531 "not" nach dem "if" verwendet
1532 wird. Beispiel: <code class="blue"><%if not
1533 cp_greeting%></code></p>
1535 <p>Zusätzlich zu dem einfachen Test, ob eine Variable gesetzt ist
1536 oder nicht, bietet dieser Block auch die Möglichkeit, den Inhalt
1537 einer Variablen mit einer festen Zeichenkette oder einer anderen
1538 Variablen zu vergleichen. Ob der Vergleich mit einer Zeichenkette
1539 oder einer anderen Variablen vorgenommen wird, hängt davon ab, ob
1540 die rechte Seite des Vergleichsoperators in Anführungszeichen
1541 gesetzt wird (Vergleich mit Zeichenkette) oder nicht (Vergleich mit
1542 anderer Variablen). Zwei Beispiele, die beide Vergleiche zeigen:</p>
1544 <p><code class="blue"><%if var1 == "Wert"%></code>
1545 testet die Variable "var1" auf Übereinstimmung mit der
1546 Zeichenkette "Wert". Mittels "!=" anstelle von
1547 "==" würde auf Ungleichheit getestet.</p>
1549 <p><code class="blue"><%if var1 == var2%></code> testet die
1550 Variable "var1" auf Übereinstimmung mit der Variablen
1551 "var2". Mittels "!=" anstelle von "=="
1552 würde auf Ungleichheit getestet.</p>
1554 <p>Erfahrere Benutzer können neben der Tests auf (Un-)Gleichheit auch
1555 Tests auf Übereinstimmung mit regulären Ausdrücken ohne
1556 Berücksichtung der Groß- und Kleinschreibung durchführen. Dazu dient
1557 dieselbe Syntax wie oben nur mit "=~" und "!~"
1558 als Vergleichsoperatoren.</p>
1560 <p>Beispiel für einen Test, ob die Variable "intnotes"
1561 (interne Bemerkungen) das Wort "schwierig" enthält:
1562 <code class="blue"><%if intnotes =~
1563 "schwierig"%></code></p>
1565 <h3><a name="bloecke_foreach">Die <code>foreach</code>-Schleife</a></h3>
1567 <p class="blue"><code><%foreach variablenname%><br>
1569 <%end%></code></p>
1571 <p>Fügt die Zeilen zwischen den beiden Anweisungen so oft ein, wie das
1572 Perl-Array der Variablen "variablenname" Elemente enthät. Dieses
1573 Konstrukt wird zur Ausgabe der einzelnen Posten einer Rechnung / eines
1574 Angebots sowie zur Ausgabe der Steuern benutzt. In jedem Durchlauf werden
1575 die <a href="dokumentenvorlagen-und-variablen.html#invoice_posten">zeilenbezogenen
1576 Variablen</a> jeweils auf den Wert für die aktuelle Position
1579 <p>Die Syntax sieht normalerweise wie folgt aus:</p>
1581 <p class="blue"><code><%foreach number%><br>
1582 Position: <%runningnumber%><br>
1583 Anzahl: <%qty%><br>
1584 Artikelnummer: <%number%><br>
1585 Beschreibung: <%description%><br>
1587 <%end%></code></p>
1589 <p>Besonderheit in OpenDocument-Vorlagen: Tritt ein
1590 <code><%foreach%></code>-Block innerhalb einer Tabellenzelle
1591 auf, so wird die komplette Tabellenzeile so oft wiederholt wie
1592 notwendig. Tritt er außerhalb auf, so wird nur der Inhalt
1593 zwischen <code><%foreach%></code> und <code><%end%></code>
1594 wiederholt, nicht aber die komplette Zeile, in der er steht.</p>
1596 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
1597 zum Inhaltsverzeichnis</a></small><br>
1600 <h2><a name="markup">
1601 Markup-Code, der innerhalb von Formularen zur Textformatierung
1602 verwendet werden kann</a></h2>
1604 <p>Wenn der Benutzer innhalb von Formularen in Lx-Office Text anders
1605 formatiert haben möchte, so ist dies begrenzt möglich. Lx-Office
1606 unterstützt die Textformatierung mit HTML-ähnlichen Tags. Der
1607 Benutzer kann z.B. bei der Artikelbeschreibung auf einer Rechnung Teile des
1608 Texts zwischen Start- und Endtags setzen. Dieser Teil wird dann automatisch
1609 in Anweisungen für das ausgewählte Vorlagenformat (HTML oder
1610 PDF über LaTeX) umgesetzt.</p>
1612 <p>Die unterstützen Formatierungen sind:</p>
1616 <tr><th>Formatierung</th><th>Auswirkung</th></tr>
1618 <td><code><b>Text</b></code></td>
1619 <td>Text wird in <b>fettdruck</b> gesetzt.</td>
1622 <td><code><i>Text</i></code></td>
1623 <td>Text wird <i>kursiv</i> gesetzt.</td>
1626 <td><code><u>Text</u></code></td>
1627 <td>Text wird <u>unterstrichen</u>.</td>
1630 <td><code><s>Text</s></code></td>
1631 <td>Text wird <s>durchgestrichen</s>. Diese Formatierung ist nicht bei der
1632 Ausgabe als PDF über LaTeX verfügbar.</td>
1635 <td><code><pagebreak></code></td>
1636 <td>Erzwingt einen Seitenumbruch (siehe unten).</td>
1639 <td><code><bullet></code></td>
1640 <td>Erzeugt einen ausgefüllten Kreis für Aufzählungen (•) (siehe unten).</td>
1645 <p>Eine Besonderheit ist der Befehl <code><pagebreak></code>,
1646 der nur in LaTeX-Vorlagen funktioniert und in anderen Vorlagen
1647 einfach gelöscht wird. Dieser erzwingt einen Seitenumbruch nach
1648 der aktuellen Rechnungsposition. Dementsprechend funktioniert er nur
1650 <code><%foreach...%></code>-Schleifen. Weiterhin benötigt
1653 <p>Auch <code><bullet></code> funktioniert momentan auch nur in Latex-Vorlagen.</p>
1655 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
1656 zum Inhaltsverzeichnis</a></small><br>