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="dokumentenvorlagen-und-variablen.html#tag_style">
52 Anfang und Ende der Tags verändern</a></li>
54 <li><a href="dokumentenvorlagen-und-variablen.html#allgemeine_variablen">
55 Allgemeine Variablen, die in allen Vorlagen vorhanden sind</a><br>
58 <li><a href="dokumentenvorlagen-und-variablen.html#allgemein_stammdaten">
59 Stammdaten von Kunden und Lieferanten</a></li>
61 <li><a href="dokumentenvorlagen-und-variablen.html#allgemein_bearbeiter">
62 Informationen über den Bearbeiter</a></li>
64 <li><a href="dokumentenvorlagen-und-variablen.html#allgemein_verkaeufer">
65 Informationen über den Verkäufer</a></li>
67 <li><a href="dokumentenvorlagen-und-variablen.html#allgemein_steuern">
68 Variablen für jede Steuer</a></li>
72 <li><a href="dokumentenvorlagen-und-variablen.html#invoice">
73 Variablen in Rechnungen</a>
76 <li><a href="dokumentenvorlagen-und-variablen.html#invoice_allgemein">
77 Allgemeine Variablen</a></li>
79 <li><a href="dokumentenvorlagen-und-variablen.html#invoice_posten">
80 Variablen für jeden Posten auf der Rechnung</a></li>
82 <li><a href="dokumentenvorlagen-und-variablen.html#invoice_zahlungen">
83 Variablen für die Zahlungseingänge</a></li>
85 <li><a href="dokumentenvorlagen-und-variablen.html#benutzerdefinierte_variablen_vc">
86 Benutzerdefinierte Kunden- und Lieferantenvariablen</a></li>
90 <li><a href="dokumentenvorlagen-und-variablen.html#dunning">
91 Variablen in Mahnungen und Rechnungen über Mahngebühren</a>
94 <li><a href="dokumentenvorlagen-und-variablen.html#dunning_vorlagennamen">
95 Namen der Vorlagen</a></li>
97 <li><a href="dokumentenvorlagen-und-variablen.html#dunning_allgemein">
98 Allgemeine Variablen in Mahnungen</a></li>
100 <li><a href="dokumentenvorlagen-und-variablen.html#dunning_details">
101 Variablen für jede gemahnte Rechnung in einer Mahnung</a></li>
103 <li><a href="dokumentenvorlagen-und-variablen.html#dunning_invoice">
104 Variablen in automatisch erzeugten Rechnungen über Mahngebühren</a></li>
108 <li><a href="dokumentenvorlagen-und-variablen.html#anderevorlagen">
109 Variablen in anderen Vorlagen</a></li>
111 <li><a href="dokumentenvorlagen-und-variablen.html#bloecke">
112 Blöcke, bedingte Anweisungen und Schleifen</a>
115 <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_ifnot">
116 Der <code>if not</code>-Block</a></li>
118 <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_if">
119 Der <code>if</code>-Block</a></li>
121 <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_foreach">
122 Die <code>foreach</code>-Schleife</a></li>
124 <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_pagebreak">
125 Der <code>pagebreak</code>-Block</a></li>
129 <li><a href="dokumentenvorlagen-und-variablen.html#markup">
130 Markup-Code, der innerhalb von Formularen zur Textformatierung verwendet
137 <h2><a name="einfuehrung">Einführung</a></h2>
139 <p>Dies ist eine Auflistung der Standard-Dokumentenvorlagen und aller
140 zur Bearbeitung verfügbaren Variablen. Eine Variable wird in
141 einer Vorlage durch ihren Inhalt ersetzt, wenn sie in der Form
142 <code><%variablenname%></code> verwendet wird. Für LaTeX-
143 und HTML-Vorlagen kann man die Form dieser Tags auch
144 <a href="dokumentenvorlagen-und-variablen.html#tag_style">
148 <p>Früher wurde hier nur über LaTeX gesprochen. Inzwischen
149 unterstützt Lx-Office aber auch OpenDocument-Vorlagen. Sofern
150 es nicht ausdrücklich eingeschränkt wird, gilt das im
151 Folgenden gesagte für alle Vorlagenarten.</p>
153 <p>Insgesamt sind technisch gesehen eine ganze Menge mehr Variablen
154 verfügbar als hier aufgelistet werden. Die meisten davon können
155 allerdings innerhalb einer solchen Vorlage nicht sinnvoll verwendet
156 werden. Wenn eine Auflistung dieser Variablen gewollt ist, so kann diese wie
157 folgt erhalten werden:</p>
161 <li><code>SL/Form.pm</code> öffnen und am Anfang die Zeile
162 <pre>"use Data::Dumper;"</pre> einfügen.</li>
164 <li>In <code>Form.pm</code> die Funktion <code>parse_template</code>
165 suchen und hier die Zeile <pre>print(STDERR Dumper($self));</pre>
168 <li>Einmal per Browser die gewünschte Vorlage "benutzen", z.B. ein PDF
169 für eine Rechnung erzeugen.</li>
171 <li>Im <code>error.log</code> vom Apache steht die Ausgabe der Variablen
172 <code>$self</code> in der Form <code>'key' => 'value',</code>. Alle
173 <code>key</code>s sind verfügbar.</li>
177 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
178 zum Inhaltsverzeichnis</a></small><br>
181 <h2><a name="tag_style">
182 Anfang und Ende der Tags verändern</a></h2>
184 <p>Der Standardstil für Tags sieht vor, dass ein Tag mit dem
185 Kleinerzeichen und einem Prozentzeichen beginnt und mit dem
186 Prozentzeichen und dem Größerzeichen endet,
187 beispielsweise <code><%customer%></code>. Da diese Form aber
188 z.B. in LaTeX zu Problemen führen kann, weil das Prozentzeichen
189 dort Kommentare einleitet, kann pro HTML- oder
190 LaTeX-Dokumentenvorlage der Stil umgestellt werden.</p>
192 <p>Dazu werden in die Datei Zeilen geschrieben, die mit dem für
193 das Format gültigen Kommentarzeichen anfangen,
194 dann <code>config:</code> enthalten, die entsprechende Option setzen
195 und bei HTML-Dokumentenvorlagen mit dem Kommentarendzeichen
196 enden. Beispiel für LaTeX:</p>
198 <p><code>% config: tag-style=($ $)</code></p>
200 <p>Dies würde Lx-Office dazu veranlassen, Variablen zu ersetzen,
201 wenn sie wie folgt aussehen: <code>($customer$)</code>. Das
202 äquivalente Beispiel für HTML-Dokumentenvorlagen sieht so
205 <p><code><!-- config: tag-stye=($ $)></code></p>
207 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
208 zum Inhaltsverzeichnis</a></small><br>
211 <h2><a name="zuordnung_dateinamen">
212 Zuordnung von den Dateinamen zu den Funktionen</a></h2>
214 <p>Diese folgende kurze Auflistung zeigt, welche Vorlage bei welcher
215 Funktion ausgelesen wird. Dabei ist die Dateiendung ".ext"
216 geeignet zu ersetzen: ".tex" fü LaTeX-Vorlagen und
217 ".odt" für OpenDocument-Vorlagen.</p>
220 <li><code>bin_list.ext</code> -- Lagerliste</li>
221 <li><code>check.ext</code> -- ?</li>
222 <li><code>invoice.ext</code> -- Rechnung</li>
223 <li><code>packing_list.ext</code> -- Verpackungsliste</li>
224 <li><code>pick_list.ext</code> -- Sammelliste</li>
225 <li><code>purcharse_order.ext</code> -- Bestellung an Lieferanten</li>
226 <li><code>request_quotation.ext</code> -- Anfrage an Lieferanten</li>
227 <li><code>sales_order.ext</code> -- Bestellung</li>
228 <li><code>sales_quotation.ext</code> -- Angebot an Kunden</li>
231 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
232 zum Inhaltsverzeichnis</a></small><br>
235 <h2><a name="allgemeine_variablen">
236 Allgemeine Variablen, die in allen Vorlagen vorhanden sind</a></h2>
238 <h3><a name="allgemein_stammdaten">
239 Stammdaten von Kunden und Lieferanten:</a></h3>
243 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
245 <td><code>account_number</code></td>
249 <td><code>bank</code></td>
250 <td>Name der Bank</td>
253 <td><code>bank_code</code></td>
254 <td>Bankleitzahl</td>
257 <td><code>business</code></td>
258 <td>Kunden-/Lieferantentyp</td>
261 <td><code>city</code></td>
265 <td><code>contact</code></td>
269 <td><code>country</code></td>
273 <td><code>cp_email</code></td>
274 <td>Email des Ansprechpartners</td>
277 <td><code>cp_givenname</code></td>
278 <td>Vorname des Ansprechpartners</td>
281 <td><code>cp_greeting</code></td>
282 <td>Anrede des Ansprechpartners</td>
285 <td><code>cp_name</code></td>
286 <td>Name des Ansprechpartners</td>
289 <td><code>cp_phone1</code></td>
290 <td>Telefonnummer 1 des Ansprechpartners</td>
293 <td><code>cp_phone2</code></td>
294 <td>Telefonnummer 2 des Ansprechpartners</td>
297 <td><code>cp_title</code></td>
298 <td>Titel des Ansprechpartners</td>
301 <td><code>creditlimit</code></td>
305 <td><code>customeremail</code></td>
306 <td>Email des Kunden; nur für Kunden</td>
309 <td><code>customerfax</code></td>
310 <td>Faxnummer des Kunden; nur für Kunden</td>
313 <td><code>customernotes</code></td>
314 <td>Bemerkungen beim Kunden; nur für Kunden</td>
317 <td><code>customernumber</code></td>
318 <td>Kundennummer; nur für Kunden</td>
321 <td><code>customerphone</code></td>
322 <td>Telefonnummer des Kunden; nur für Kunden</td>
325 <td><code>discount</code></td>
329 <td><code>email</code></td>
330 <td>Emailadresse</td>
333 <td><code>fax</code></td>
337 <td><code>homepage</code></td>
341 <td><code>language</code></td>
345 <td><code>name</code></td>
349 <td><code>payment_terms</code></td>
350 <td>Zahlungskonditionen</td>
353 <td><code>phone</code></td>
354 <td>Telefonnummer</td>
357 <td><code>shiptocity</code></td>
358 <td>Stadt (Lieferadresse)
359 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
362 <td><code>shiptocontact</code></td>
363 <td>Kontakt (Lieferadresse)
364 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
367 <td><code>shiptocountry</code></td>
368 <td>Land (Lieferadresse)
369 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
372 <td><code>shiptodepartment1</code></td>
373 <td>Abteilung 1 (Lieferadresse)
374 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
377 <td><code>shiptodepartment2</code></td>
378 <td>Abteilung 2 (Lieferadresse)
379 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
382 <td><code>shiptoemail</code></td>
383 <td>Email (Lieferadresse)
384 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
387 <td><code>shiptofax</code></td>
388 <td>Fax (Lieferadresse)
389 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
392 <td><code>shiptoname</code></td>
393 <td>Firmenname (Lieferadresse)
394 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
397 <td><code>shiptophone</code></td>
398 <td>Telefonnummer (Lieferadresse)
399 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
402 <td><code>shiptostreet</code></td>
403 <td>Straße und Hausnummer (Lieferadresse)
404 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
407 <td><code>shiptozipcode</code></td>
408 <td>Postleitzahl (Lieferadresse)
409 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
412 <td><code>street</code></td>
413 <td>Straße und Hausnummer</td>
416 <td><code>taxnumber</code></td>
417 <td>Steuernummer</td>
420 <td><code>vendoremail</code></td>
421 <td>Email des Lieferanten; nur für Lieferanten</td>
424 <td><code>vendorfax</code></td>
425 <td>Faxnummer des Lieferanten; nur für Lieferanten</td>
428 <td><code>vendornotes</code></td>
429 <td>Bemerkungen beim Lieferanten; nur für Lieferanten</td>
432 <td><code>vendornumber</code></td>
433 <td>Lieferantennummer; nur für Lieferanten</td>
436 <td><code>vendorphone</code></td>
437 <td>Telefonnummer des Lieferanten; nur für Lieferanten</td>
440 <td><code>zipcode</code></td>
441 <td>Postleitzahl</td>
446 <p><a name="anmerkung_shipto"><em>Anmerkung</em></a>: Sind die
447 <code>shipto*</code>-Felder in den Stammdaten nicht eingetragen, so haben
448 die Variablen <code>shipto*</code> den gleichen Wert wie die die
449 entsprechenden Variablen der Lieferdaten. Das bedeutet, dass sich einige
450 <code>shipto*</code>-Variablen so nicht in den Stammdaten wiederfinden
451 sondern schlicht Kopien der Lieferdatenvariablen sind
452 (z.B. <code>shiptocontact</code>).</p>
454 <h3><a name="allgemein_bearbeiter">
455 Informationen über den Bearbeiter:</a></h3>
459 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
461 <td><code>employee_address</code></td>
465 <td><code>employee_businessnumber</code></td>
466 <td>Firmennummer</td>
469 <td><code>employee_company</code></td>
473 <td><code>employee_co_ustid</code></td>
474 <td>Usatzsteuer-Identifikationsnummer</td>
477 <td><code>employee_duns</code></td>
481 <td><code>employee_email</code></td>
485 <td><code>employee_fax</code></td>
489 <td><code>employee_name</code></td>
493 <td><code>employee_signature</code></td>
497 <td><code>employee_taxnumber</code></td>
498 <td>Steuernummer</td>
501 <td><code>employee_tel</code></td>
502 <td>Telefonnummer</td>
507 <h3><a name="allgemein_verkaeufer">
508 Informationen über den Verkäfer (nur bei Verkaufsmasken):</a></h3>
512 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
514 <td><code>salesman_address</code></td>
518 <td><code>salesman_businessnumber</code></td>
519 <td>Firmennummer</td>
522 <td><code>salesman_company</code></td>
526 <td><code>salesman_co_ustid</code></td>
527 <td>Usatzsteuer-Identifikationsnummer</td>
530 <td><code>salesman_duns</code></td>
534 <td><code>salesman_email</code></td>
538 <td><code>salesman_fax</code></td>
542 <td><code>salesman_name</code></td>
546 <td><code>salesman_signature</code></td>
550 <td><code>salesman_taxnumber</code></td>
551 <td>Steuernummer</td>
554 <td><code>salesman_tel</code></td>
555 <td>Telefonnummer</td>
560 <h3><a name="allgemein_steuern">
561 Variablen für die einzelnen Steuern:</a></h3>
565 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
567 <td><code>tax</code></td>
571 <td><code>taxbase</code></td>
572 <td>zu versteuernder Betrag</td>
575 <td><code>taxdescription</code></td>
576 <td>Name der Steuer</td>
579 <td><code>taxrate</code></td>
585 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
586 zum Inhaltsverzeichnis</a></small><br>
589 <h2><a name="invoice">Variablen in Rechnungen</a></h2>
591 <h3><a name="invoice_allgemein">Allgemeine Variablen:</a></h3>
595 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
597 <td><code>creditremaining</code></td>
598 <td>Verbleibender Kredit</td>
601 <td><code>currency</code></td>
602 <td>Währung</td>
605 <td><code>cusordnumber</code></td>
606 <td>Bestellnummer beim Kunden</td>
609 <td><code>deliverydate</code></td>
613 <td><code>duedate</code></td>
614 <td>Fälligkeitsdatum</td>
617 <td><code>globalprojectnumber</code></td>
618 <td>Projektnummer des ganzen Beleges</td>
621 <td><code>intnotes</code></td>
622 <td>Interne Bemerkungen</td>
625 <td><code>invdate</code></td>
626 <td>Rechnungsdatum</td>
629 <td><code>invnumber</code></td>
630 <td>Rechnungsnummer</td>
633 <td><code>invtotal</code></td>
634 <td>gesamter Rechnungsbetrag</td>
637 <td><code>notes</code></td>
638 <td>Bemerkungen der Rechnung</td>
641 <td><code>orddate</code></td>
642 <td>Auftragsdatum</td>
645 <td><code>ordnumber</code></td>
646 <td>Auftragsnummer, wenn die Rechnung aus einem Auftrag erstellt wurde</td>
649 <td><code>payment_terms</code></td>
650 <td>Zahlungskonditionen</td>
653 <td><code>quodate</code></td>
654 <td>Angebotsdatum</td>
657 <td><code>quonumber</code></td>
658 <td>Angebotsnummer</td>
661 <td><code>shippingpoint</code></td>
665 <td><code>shipvia</code></td>
666 <td>Transportmittel</td>
669 <td><code>subtotal</code></td>
670 <td>Zwischensumme aller Posten ohne Steuern</td>
673 <td><code>sumcarriedforward</code></td>
674 <td>Zwischensumme aller bisher ausgegebenen Posten. Sollte nur in einem
675 <a href="dokumentenvorlagen-und-variablen.html#bloecke_pagebreak">
676 <code>pagebreak</code></a>-Block verwendet werden.</td>
679 <td><code>total</code></td>
680 <td>Restsumme der Rechnung (Summe abzüglich bereits bezahlter Posten)</td>
683 <td><code>transaction_description</code></td>
684 <td>Vorgangsbezeichnung</td>
687 <td><code>transdate</code></td>
688 <td>Auftragsdatum wenn die Rechnung aus einem Auftrag erstellt wurde</td>
693 <h3><a name="invoice_posten">
694 Variablen für jeden Posten auf der Rechnung:</a></h3>
698 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
700 <td><code>assembly</code></td>
704 <td><code>bin</code></td>
708 <td><code>description</code></td>
709 <td>Artikelbeschreibung</td>
712 <td><code>discount</code></td>
713 <td>Rabatt als Betrag</td>
716 <td><code>linetotal</code></td>
717 <td>Zeilensumme (Anzahl * Einzelpreis)</td>
720 <td><code>listprice</code></td>
724 <td><code>netprice</code></td>
728 <td><code>number</code></td>
729 <td>Artikelnummer</td>
732 <td><code>ordnumber_oe</code></td>
733 <td>Auftragsnummer des Originalauftrags, wenn die Rechnung aus einem Sammelauftrag erstellt wurde</td>
736 <td><code>p_discount</code></td>
737 <td>Rabatt in Prozent</td>
740 <td><code>partnotes</code></td>
741 <td>Die beim Artikel gespeicherten Bemerkungen</td>
744 <td><code>partsgroup</code></td>
748 <td><code>price_factor</code></td>
749 <td>Der Preisfaktor als Zahl, sofern einer eingestellt ist</td>
752 <td><code>price_factor_name</code></td>
753 <td>Der Name des Preisfaktors, sofern einer eingestellt ist</td>
756 <td><code>projectnumber</code></td>
757 <td>Projektnummer</td>
760 <td><code>qty</code></td>
764 <td><code>reqdate</code></td>
768 <td><code>runningnumber</code></td>
769 <td>Position auf der Rechnung (1, 2, 3...)</td>
772 <td><code>sellprice</code></td>
773 <td>Verkaufspreis</td>
776 <td><code>serialnumber</code></td>
777 <td>Seriennummer</td>
780 <td><code>transdate_oe</code></td>
781 <td>Auftragsdatum des Originalauftrags, wenn die Rechnung aus einem Sammelauftrag erstellt wurde</td>
784 <td><code>unit</code></td>
790 <h3><a name="invoice_zahlungen">
791 Variablen für die einzelnen Zahlungseingänge:</a></h3>
795 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
797 <td><code>payment</code></td>
801 <td><code>paymentaccount</code></td>
805 <td><code>paymentdate</code></td>
809 <td><code>paymentmemo</code></td>
813 <td><code>paymentsource</code></td>
819 <h3><a name="benutzerdefinierte_variablen_vc">
820 Benutzerdefinierte Kunden- und Lieferantenvariablen:</a></h3>
823 Die vom Benutzer definierten Variablen für Kunden und
824 Lieferanten stehen beim Ausdruck von Einkaufs- und Verkaufsbelegen
825 ebenfalls zur Verfügung. Ihre Namen setzen sich aus dem
826 Präfix <code>vc_cvar_</code> und dem vom Benutzer festgelegten
827 Variablennamen zusammen.</p>
829 <p>Beispiel: Der Benutzer hat eine Variable
830 namens <code>number_of_employees</code> definiert, die die Anzahl
831 der Mitarbeiter des Unternehmens enthält. Diese Variable steht
832 dann unter dem Namen <code>vc_cvar_number_of_employees</code> zur
835 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
836 zum Inhaltsverzeichnis</a></small><br>
839 <h2><a name="dunning">Variablen in Mahnungen und Rechnungen über Mahngebühren</a></h2>
841 <h3><a name="dunning_vorlagennamen">Namen der Vorlagen</a></h3>
843 <p>Die Namen der Vorlagen werden im System-Menü vom Benutzer
844 eingegeben. Wird für ein Mahnlevel die Option zur automatischen
845 Erstellung einer Rechnung über die Mahngebühren und Zinsen
846 aktiviert, so wird der Name der Vorlage für diese Rechnung aus
847 dem Vorlagenname für diese Mahnstufe mit dem
848 Zusatz <code>_invoice</code> gebildet. Weiterhin werden die
849 Kürzel für die ausgewählte Sprache und den
850 ausgewählten Drucker angehängt.</p>
852 <h3><a name="dunning_allgemein">Allgemeine Variablen in Mahnungen:</a></h3>
854 <p>Die Variablen des Verkäufers stehen wie gewohnt
855 als <code>employee_...</code> zur Verfügung. Die Adressdaten des
856 Kunden stehen als Variablen <code>name</code>, <code>street</code>,
857 <code>zipcode</code>, <code>city</code>, <code>country</code>,
858 <code>department_1</code>, <code>department_2</code>, und
859 <code>email</code> zur Verfügung.
862 <p>Weitere Variablen beinhalten:</p>
866 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
868 <td><code>dunning_date</code></td>
869 <td>Datum der Mahnung</td>
872 <td><code>dunning_duedate</code></td>
873 <td>Fälligkeitsdatum für diese Mahhnung</td>
876 <td><code>fee</code></td>
877 <td>Kummulative Mahngebühren</td>
880 <td><code>interest_rate</code></td>
881 <td>Zinssatz per anno in Prozent</td>
884 <td><code>total_amount</code></td>
885 <td>Gesamter noch zu zahlender Betrag als <code>fee</code> + <code>total_interest</code> + <code>total_open_amount</code></td>
888 <td><code>total_interest</code></td>
889 <td>Zinsen per anno über alle Rechnungen</td>
892 <td><code>total_open_amount</code></td>
893 <td>Summe über alle offene Beträge der Rechnungen</td>
898 <h3><a name="dunning_details">
899 Variablen für jede gemahnte Rechnung in einer Mahnung:</a></h3>
903 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
905 <td><code>dn_amount</code></td>
906 <td>Rechnungssumme (brutto)</td>
909 <td><code>dn_duedate</code></td>
910 <td>Originales Fälligkeitsdatum der Rechnung</td>
913 <td><code>dn_dunning_date</code></td>
914 <td>Datum der Mahnung</td>
917 <td><code>dn_dunning_duedate</code></td>
918 <td>Fälligkeitsdatum der Mahnung</td>
921 <td><code>dn_fee</code></td>
922 <td>Kummulative Mahngebühr</td>
925 <td><code>dn_interest</code></td>
926 <td>Zinsen per anno für diese Rechnung</td>
929 <td><code>dn_invnumber</code></td>
930 <td>Rechnungsnummer</td>
933 <td><code>dn_linetotal</code></td>
934 <td>Noch zu zahlender Betrag (ergibt sich aus <code>dn_open_amount + dn_fee + dn_interest</code>)</td>
937 <td><code>dn_netamount</code></td>
938 <td>Rechnungssumme (netto)</td>
941 <td><code>dn_open_amount</code></td>
942 <td>Offener Rechnungsbetrag</td>
945 <td><code>dn_ordnumber</code></td>
946 <td>Bestellnummer</td>
949 <td><code>dn_transdate</code></td>
950 <td>Rechnungsdatum</td>
955 <h3><a name="dunning_invoice">Variablen in automatisch erzeugten
956 Rechnungen über Mahngebühren</a></h3>
958 <p>Die Variablen des Verkäufers stehen wie gewohnt
959 als <code>employee_...</code> zur Verfügung. Die Adressdaten des
960 Kunden stehen als Variablen <code>name</code>, <code>street</code>,
961 <code>zipcode</code>, <code>city</code>, <code>country</code>,
962 <code>department_1</code>, <code>department_2</code>, und
963 <code>email</code> zur Verfügung.
966 <p>Weitere Variablen beinhalten:</p>
970 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
972 <td><code>duedate</code></td>
973 <td>Fälligkeitsdatum der Rechnung</td>
976 <td><code>dunning_id</code></td>
977 <td>Mahnungsnummer</td>
980 <td><code>fee</code></td>
981 <td>Mahngebühren</td>
984 <td><code>interest</code></td>
988 <td><code>invamount</code></td>
989 <td>Rechnungssumme (ergibt sich aus <code>fee + interest</code>)</td>
992 <td><code>invdate</code></td>
993 <td>Rechnungsdatum</td>
996 <td><code>invnumber</code></td>
997 <td>Rechnungsnummer</td>
1002 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
1003 zum Inhaltsverzeichnis</a></small><br>
1006 <h2><a name="anderevorlagen">
1007 Variablen in anderen Vorlagen</a></h2>
1009 <p>Die Variablen in anderen Vorlagen sind ähnlich wie in der
1010 Rechnung. Allerdings heißen die Variablen, die mit <code>inv</code>
1011 beginnen, jetzt anders. Bei den Angeboten fangen sie mit <code>quo</code>
1012 für "quotation" an: <code>quodate</code> für Angebotsdatum
1013 etc. Bei Bestellungen wiederum fangen sie mit <code>ord</code> für
1014 "order" an: <code>ordnumber</code> für Bestellnummer etc.</p>
1016 <p>Manche Variablen sind in anderen Vorlagen hingegen gar nicht vorhanden wie
1017 z.B. die für bereits verbuchte Zahlungseingänge. Dies sind
1018 Variablen, die vom Geschäftsablauf her in der entsprechenden Vorlage
1019 keine Bedeutung haben oder noch nicht belegt sein können.</p>
1021 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
1022 zum Inhaltsverzeichnis</a></small><br>
1025 <h2><a name="bloecke">
1026 Blöcke, bedingte Anweisungen und Schleifen</a></h2>
1028 <p>Der Parser kennt neben den Variablen einige weitere Konstrukte, die
1029 gesondert behandelt werden. Diese sind wie Variablennamen in spezieller
1030 Weise markiert: <code><%anweisung%></code></p>
1032 <h3><a name="bloecke_ifnot">Der <code>if not</code>-Block</a></h3>
1034 <p class="blue"><code><%if not variablenname%><br>
1036 <%end></code></p>
1038 <p>Eine normale "if-not-then"-Bedingung. Die Zeilen zwischen dem "if not" und
1039 dem "end" werden nur ausgegeben, wenn die Variable "variablenname" nicht
1040 gesetzt oder gleich 0 ist.</p>
1042 <h3><a name="bloecke_if">Der <code>if</code>-Block</a></h3>
1044 <p class="blue"><code><%if variablenname%><br>
1046 <%end></code></p>
1048 <p>Eine normale "if-then"-Bedingung. Die Zeilen zwischen dem "if" und dem
1049 "end" werden nur ausgegeben, wenn die Variable "variablenname" gesetzt und
1052 <h3><a name="bloecke_foreach">Die <code>foreach</code>-Schleife</a></h3>
1054 <p class="blue"><code><%foreach variablenname%><br>
1056 <%end></code></p>
1058 <p>Fügt die Zeilen zwischen den beiden Anweisungen so oft ein, wie das
1059 Perl-Array der Variablen "variablenname" Elemente enthät. Dieses
1060 Konstrukt wird zur Ausgabe der einzelnen Posten einer Rechnung / eines
1061 Angebots sowie zur Ausgabe der Steuern benutzt. In jedem Durchlauf werden
1062 die <a href="dokumentenvorlagen-und-variablen.html#invoice_posten">zeilenbezogenen
1063 Variablen</a> jeweils auf den Wert für die aktuelle Position
1066 <p>Die Syntax sieht normalerweise wie folgt aus:</p>
1068 <p class="blue"><code><%foreach number%><br>
1069 Position: <%runningnumber%><br>
1070 Anzahl: <%qty%><br>
1071 Artikelnummer: <%number%><br>
1072 Beschreibung: <%description%><br>
1074 <%end></code></p>
1076 <p>Besonderheit in OpenDocument-Vorlagen: Tritt ein
1077 <code><foreach></code>-Block innerhalb einer Tabellenzelle
1078 auf, so wird die komplette Tabellenzeile so oft wiederholt wie
1079 notwendig. Tritt er außerhalb auf, so wird nur der Inhalt
1080 zwischen <code><foreach></code> und <code><end></code>
1081 wiederholt, nicht aber die komplette Zeile, in der er steht.</p>
1083 <h3><a name="bloecke_pagebreak">Der <code>pagebreak</code>-Block</a></h3>
1085 <p class="blue"><code><%pagebreak ZpZ ZeS ZzS%><br>
1087 <%end></code></p>
1089 <p>Dieser Block existiert nur in LaTeX-Vorlagen.</p>
1091 <p>Dieser Block legt das Verhalten beim manuellen Einfügen eines
1092 Seitenumbruchs fest. Normalerweise bricht LaTeX die Seiten selber um. Beim
1093 Rechnungsdruck ist das oft nicht gewünscht, oder man möchte im
1094 Falle eines Seitenumbruchs den Übertrag etc. mit ausgeben. Deswegen
1095 versucht der Parser, manuell Seitenumbrüche einzufügen,
1096 während er einen <code>foreach</code>-Block auswertet, weil hier die
1097 manuellen Seitenumbrüche erforderlich werden. Dafür benötigt
1098 der Parser aber drei Informationen:</p>
1102 <li>Wieviele Zeichen passen bei der Variablen "description" pro Posten
1103 in eine Zeile? Das ist der Parameter "ZpZ" (Zeichen pro Zeile).</li>
1104 <li>Wieviele Zeilen/Posten passen auf die erste Seite? Das
1105 ist der Parameter "ZeS" (Zeilen erste Seite).</li>
1106 <li>Wieviele Zeilen/Posten passen auf die zweite und alle nachfolgenden
1107 Seiten? Das ist der Parameter "ZzS" (Zeilen zweite Seite).</li>
1111 <p>Diese Parameter sind drei Zahlen, die manuell durch Verwendung von langen
1112 Warenbezeichnungen und Rechnungen mit vielen Posten bestimmt werden
1115 <p>Üblicherweise wird in diesem Block zuerst die aktuelle Tabelle
1116 geschlossen, eventuell Text eingefügt (z.B. "Fortsetzung auf der
1117 nächsten Seite"), dann ein Seitenumbruch erzwungen, eventuell Text
1118 eingefügt (z.B. "Übertrag von der vorherigen Seite:
1119 <%sumcarriedforward%> EUR") und die Tabelle wieder geöffnet.</p>
1121 <p>Wird kein manueller Seitenumbruch gewüscht, so kann dieser Block
1122 komplett entfallen.</p>
1124 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
1125 zum Inhaltsverzeichnis</a></small><br>
1128 <h2><a name="markup">
1129 Markup-Code, der innerhalb von Formularen zur Textformatierung
1130 verwendet werden kann</a></h2>
1132 <p>Wenn der Benutzer innhalb von Formularen in Lx-Office Text anders
1133 formatiert haben möchte, so ist dies begrenzt möglich. Lx-Office
1134 unterstützt die Textformatierung mit HTML-ähnlichen Tags. Der
1135 Benutzer kann z.B. bei der Artikelbeschreibung auf einer Rechnung Teile des
1136 Texts zwischen Start- und Endtags setzen. Dieser Teil wird dann automatisch
1137 in Anweisungen für das ausgewählte Vorlagenformat (HTML oder
1138 PDF über LaTeX) umgesetzt.</p>
1140 <p>Die unterstützen Formatierungen sind:</p>
1144 <tr><th>Formatierung</th><th>Auswirkung</th></tr>
1146 <td><code><b>Text</b></code></td>
1147 <td>Text wird in <b>fettdruck</b> gesetzt.</td>
1150 <td><code><i>Text</i></code></td>
1151 <td>Text wird <i>kursiv</i> gesetzt.</td>
1154 <td><code><u>Text</u></code></td>
1155 <td>Text wird <u>unterstrichen</u>.</td>
1158 <td><code><s>Text</s></code></td>
1159 <td>Text wird <s>durchgestrichen</s>. Diese Formatierung ist nicht bei der
1160 Ausgabe als PDF über LaTeX verfügbar.</td>
1163 <td><code><pagebreak></code></td>
1164 <td>Erzwingt einen Seitenumbruch (siehe unten).</td>
1169 <p>Eine Besonderheit ist der Befehl <code><pagebreak></code>,
1170 der nur in LaTeX-Vorlagen funktioniert und in anderen Vorlagen
1171 einfach gelöscht wird. Dieser erzwingt unabhängig von der
1173 href="dokumentenvorlagen-und-variablen.html#bloecke_pagebreak">pagebreak-Block</a>
1174 voreingestellten Werte einen Seitenumbruch nach der aktuellen
1175 Rechnungsposition. Dementsprechend funktioniert er nur innerhalb von
1176 <code><foreach...></code>-Schleifen. Weiterhin benötigt er kein
1179 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
1180 zum Inhaltsverzeichnis</a></small><br>