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#invoice_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>
112 <li><a href="dokumentenvorlagen-und-variablen.html#anderevorlagen_quotations">Angebote und Preisanfragen</a></li>
113 <li><a href="dokumentenvorlagen-und-variablen.html#anderevorlagen_orders">Auftragsbestätigungen und Lieferantenaufträge</a></li>
114 <li><a href="dokumentenvorlagen-und-variablen.html#anderevorlagen_delivery_orders">Lieferscheine (Verkauf und Einkauf)</a></li>
118 <li><a href="dokumentenvorlagen-und-variablen.html#bloecke">
119 Blöcke, bedingte Anweisungen und Schleifen</a>
122 <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_ifnot">
123 Der <code>if not</code>-Block</a></li>
125 <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_if">
126 Der <code>if</code>-Block</a></li>
128 <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_foreach">
129 Die <code>foreach</code>-Schleife</a></li>
131 <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_pagebreak">
132 Der <code>pagebreak</code>-Block</a></li>
136 <li><a href="dokumentenvorlagen-und-variablen.html#markup">
137 Markup-Code, der innerhalb von Formularen zur Textformatierung verwendet
144 <h2><a name="einfuehrung">Einführung</a></h2>
146 <p>Dies ist eine Auflistung der Standard-Dokumentenvorlagen und aller
147 zur Bearbeitung verfügbaren Variablen. Eine Variable wird in
148 einer Vorlage durch ihren Inhalt ersetzt, wenn sie in der Form
149 <code><%variablenname%></code> verwendet wird. Für LaTeX-
150 und HTML-Vorlagen kann man die Form dieser Tags auch
151 <a href="dokumentenvorlagen-und-variablen.html#tag_style">
155 <p>Früher wurde hier nur über LaTeX gesprochen. Inzwischen
156 unterstützt Lx-Office aber auch OpenDocument-Vorlagen. Sofern
157 es nicht ausdrücklich eingeschränkt wird, gilt das im
158 Folgenden gesagte für alle Vorlagenarten.</p>
160 <p>Insgesamt sind technisch gesehen eine ganze Menge mehr Variablen
161 verfügbar als hier aufgelistet werden. Die meisten davon können
162 allerdings innerhalb einer solchen Vorlage nicht sinnvoll verwendet
163 werden. Wenn eine Auflistung dieser Variablen gewollt ist, so kann diese wie
164 folgt erhalten werden:</p>
168 <li><code>SL/Form.pm</code> öffnen und am Anfang die Zeile
169 <pre>"use Data::Dumper;"</pre> einfügen.</li>
171 <li>In <code>Form.pm</code> die Funktion <code>parse_template</code>
172 suchen und hier die Zeile <pre>print(STDERR Dumper($self));</pre>
175 <li>Einmal per Browser die gewünschte Vorlage "benutzen", z.B. ein PDF
176 für eine Rechnung erzeugen.</li>
178 <li>Im <code>error.log</code> vom Apache steht die Ausgabe der Variablen
179 <code>$self</code> in der Form <code>'key' => 'value',</code>. Alle
180 <code>key</code>s sind verfügbar.</li>
184 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
185 zum Inhaltsverzeichnis</a></small><br>
188 <h2><a name="tag_style">
189 Anfang und Ende der Tags verändern</a></h2>
191 <p>Der Standardstil für Tags sieht vor, dass ein Tag mit dem
192 Kleinerzeichen und einem Prozentzeichen beginnt und mit dem
193 Prozentzeichen und dem Größerzeichen endet,
194 beispielsweise <code><%customer%></code>. Da diese Form aber
195 z.B. in LaTeX zu Problemen führen kann, weil das Prozentzeichen
196 dort Kommentare einleitet, kann pro HTML- oder
197 LaTeX-Dokumentenvorlage der Stil umgestellt werden.</p>
199 <p>Dazu werden in die Datei Zeilen geschrieben, die mit dem für
200 das Format gültigen Kommentarzeichen anfangen,
201 dann <code>config:</code> enthalten, die entsprechende Option setzen
202 und bei HTML-Dokumentenvorlagen mit dem Kommentarendzeichen
203 enden. Beispiel für LaTeX:</p>
205 <p><code>% config: tag-style=($ $)</code></p>
207 <p>Dies würde Lx-Office dazu veranlassen, Variablen zu ersetzen,
208 wenn sie wie folgt aussehen: <code>($customer$)</code>. Das
209 äquivalente Beispiel für HTML-Dokumentenvorlagen sieht so
212 <p><code><!-- config: tag-stye=($ $)></code></p>
214 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
215 zum Inhaltsverzeichnis</a></small><br>
218 <h2><a name="zuordnung_dateinamen">
219 Zuordnung von den Dateinamen zu den Funktionen</a></h2>
221 <p>Diese folgende kurze Auflistung zeigt, welche Vorlage bei welcher
222 Funktion ausgelesen wird. Dabei ist die Dateiendung ".ext"
223 geeignet zu ersetzen: ".tex" fü LaTeX-Vorlagen und
224 ".odt" für OpenDocument-Vorlagen.</p>
233 <td><code>bin_list.ext</code></td>
237 <td><code>check.ext</code></td>
241 <td><code>invoice.ext</code></td>
245 <td><code>packing_list.ext</code></td>
246 <td>Verpackungsliste</td>
249 <td><code>pick_list.ext</code></td>
253 <td><code>purchase_delivery_order.ext</code></td>
254 <td>Lieferschein (Einkauf)</td>
257 <td><code>purcharse_order.ext</code></td>
258 <td>Bestellung an Lieferanten</td>
261 <td><code>request_quotation.ext</code></td>
262 <td>Anfrage an Lieferanten</td>
265 <td><code>sales_delivery_order.ext</code></td>
266 <td>Lieferschein (Verkauf)</td>
269 <td><code>sales_order.ext</code></td>
273 <td><code>sales_quotation.ext</code></td>
274 <td>Angebot an Kunden</td>
277 <td><code>zahlungserinnerung.ext</code></td>
278 <td>Mahnung (Dateiname im Programm konfigurierbar)</td>
281 <td><code>zahlungserinnerung_invoice.ext</code></td>
282 <td>Rechnung über Mahngebühren (Dateiname im Programm konfigurierbar)</td>
287 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
288 zum Inhaltsverzeichnis</a></small><br>
291 <h2><a name="allgemeine_variablen">
292 Allgemeine Variablen, die in allen Vorlagen vorhanden sind</a></h2>
294 <h3><a name="allgemein_stammdaten">
295 Stammdaten von Kunden und Lieferanten:</a></h3>
299 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
301 <td><code>account_number</code></td>
305 <td><code>bank</code></td>
306 <td>Name der Bank</td>
309 <td><code>bank_code</code></td>
310 <td>Bankleitzahl</td>
313 <td><code>bic</code></td>
314 <td>Bank-Identifikations-Code (Bank Identifier Code, BIC)</td>
317 <td><code>business</code></td>
318 <td>Kunden-/Lieferantentyp</td>
321 <td><code>city</code></td>
325 <td><code>contact</code></td>
329 <td><code>country</code></td>
333 <td><code>cp_email</code></td>
334 <td>Email des Ansprechpartners</td>
337 <td><code>cp_givenname</code></td>
338 <td>Vorname des Ansprechpartners</td>
341 <td><code>cp_greeting</code></td>
342 <td>Anrede des Ansprechpartners</td>
345 <td><code>cp_name</code></td>
346 <td>Name des Ansprechpartners</td>
349 <td><code>cp_phone1</code></td>
350 <td>Telefonnummer 1 des Ansprechpartners</td>
353 <td><code>cp_phone2</code></td>
354 <td>Telefonnummer 2 des Ansprechpartners</td>
357 <td><code>cp_title</code></td>
358 <td>Titel des Ansprechpartners</td>
361 <td><code>creditlimit</code></td>
365 <td><code>customeremail</code></td>
366 <td>Email des Kunden; nur für Kunden</td>
369 <td><code>customerfax</code></td>
370 <td>Faxnummer des Kunden; nur für Kunden</td>
373 <td><code>customernotes</code></td>
374 <td>Bemerkungen beim Kunden; nur für Kunden</td>
377 <td><code>customernumber</code></td>
378 <td>Kundennummer; nur für Kunden</td>
381 <td><code>customerphone</code></td>
382 <td>Telefonnummer des Kunden; nur für Kunden</td>
385 <td><code>discount</code></td>
389 <td><code>email</code></td>
390 <td>Emailadresse</td>
393 <td><code>fax</code></td>
397 <td><code>homepage</code></td>
401 <td><code>iban</code></td>
402 <td>Internationale Kontonummer (International Bank Account Number, IBAN)</td>
405 <td><code>language</code></td>
409 <td><code>name</code></td>
413 <td><code>payment_terms</code></td>
414 <td>Zahlungskonditionen</td>
417 <td><code>phone</code></td>
418 <td>Telefonnummer</td>
421 <td><code>shiptocity</code></td>
422 <td>Stadt (Lieferadresse)
423 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
426 <td><code>shiptocontact</code></td>
427 <td>Kontakt (Lieferadresse)
428 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
431 <td><code>shiptocountry</code></td>
432 <td>Land (Lieferadresse)
433 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
436 <td><code>shiptodepartment1</code></td>
437 <td>Abteilung 1 (Lieferadresse)
438 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
441 <td><code>shiptodepartment2</code></td>
442 <td>Abteilung 2 (Lieferadresse)
443 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
446 <td><code>shiptoemail</code></td>
447 <td>Email (Lieferadresse)
448 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
451 <td><code>shiptofax</code></td>
452 <td>Fax (Lieferadresse)
453 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
456 <td><code>shiptoname</code></td>
457 <td>Firmenname (Lieferadresse)
458 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
461 <td><code>shiptophone</code></td>
462 <td>Telefonnummer (Lieferadresse)
463 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
466 <td><code>shiptostreet</code></td>
467 <td>Straße und Hausnummer (Lieferadresse)
468 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
471 <td><code>shiptozipcode</code></td>
472 <td>Postleitzahl (Lieferadresse)
473 <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
476 <td><code>street</code></td>
477 <td>Straße und Hausnummer</td>
480 <td><code>taxnumber</code></td>
481 <td>Steuernummer</td>
484 <td><code>vendoremail</code></td>
485 <td>Email des Lieferanten; nur für Lieferanten</td>
488 <td><code>vendorfax</code></td>
489 <td>Faxnummer des Lieferanten; nur für Lieferanten</td>
492 <td><code>vendornotes</code></td>
493 <td>Bemerkungen beim Lieferanten; nur für Lieferanten</td>
496 <td><code>vendornumber</code></td>
497 <td>Lieferantennummer; nur für Lieferanten</td>
500 <td><code>vendorphone</code></td>
501 <td>Telefonnummer des Lieferanten; nur für Lieferanten</td>
504 <td><code>zipcode</code></td>
505 <td>Postleitzahl</td>
510 <p><a name="anmerkung_shipto"><em>Anmerkung</em></a>: Sind die
511 <code>shipto*</code>-Felder in den Stammdaten nicht eingetragen, so haben
512 die Variablen <code>shipto*</code> den gleichen Wert wie die die
513 entsprechenden Variablen der Lieferdaten. Das bedeutet, dass sich einige
514 <code>shipto*</code>-Variablen so nicht in den Stammdaten wiederfinden
515 sondern schlicht Kopien der Lieferdatenvariablen sind
516 (z.B. <code>shiptocontact</code>).</p>
518 <h3><a name="allgemein_bearbeiter">
519 Informationen über den Bearbeiter:</a></h3>
523 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
525 <td><code>employee_address</code></td>
529 <td><code>employee_businessnumber</code></td>
530 <td>Firmennummer</td>
533 <td><code>employee_company</code></td>
537 <td><code>employee_co_ustid</code></td>
538 <td>Usatzsteuer-Identifikationsnummer</td>
541 <td><code>employee_duns</code></td>
545 <td><code>employee_email</code></td>
549 <td><code>employee_fax</code></td>
553 <td><code>employee_name</code></td>
557 <td><code>employee_signature</code></td>
561 <td><code>employee_taxnumber</code></td>
562 <td>Steuernummer</td>
565 <td><code>employee_tel</code></td>
566 <td>Telefonnummer</td>
571 <h3><a name="allgemein_verkaeufer">
572 Informationen über den Verkäfer (nur bei Verkaufsmasken):</a></h3>
576 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
578 <td><code>salesman_address</code></td>
582 <td><code>salesman_businessnumber</code></td>
583 <td>Firmennummer</td>
586 <td><code>salesman_company</code></td>
590 <td><code>salesman_co_ustid</code></td>
591 <td>Usatzsteuer-Identifikationsnummer</td>
594 <td><code>salesman_duns</code></td>
598 <td><code>salesman_email</code></td>
602 <td><code>salesman_fax</code></td>
606 <td><code>salesman_name</code></td>
610 <td><code>salesman_signature</code></td>
614 <td><code>salesman_taxnumber</code></td>
615 <td>Steuernummer</td>
618 <td><code>salesman_tel</code></td>
619 <td>Telefonnummer</td>
624 <h3><a name="allgemein_steuern">
625 Variablen für die einzelnen Steuern:</a></h3>
629 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
631 <td><code>tax</code></td>
635 <td><code>taxbase</code></td>
636 <td>zu versteuernder Betrag</td>
639 <td><code>taxdescription</code></td>
640 <td>Name der Steuer</td>
643 <td><code>taxrate</code></td>
649 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
650 zum Inhaltsverzeichnis</a></small><br>
653 <h2><a name="invoice">Variablen in Rechnungen</a></h2>
655 <h3><a name="invoice_allgemein">Allgemeine Variablen:</a></h3>
659 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
661 <td><code>creditremaining</code></td>
662 <td>Verbleibender Kredit</td>
665 <td><code>currency</code></td>
666 <td>Währung</td>
669 <td><code>cusordnumber</code></td>
670 <td>Bestellnummer beim Kunden</td>
673 <td><code>deliverydate</code></td>
677 <td><code>duedate</code></td>
678 <td>Fälligkeitsdatum</td>
681 <td><code>globalprojectnumber</code></td>
682 <td>Projektnummer des ganzen Beleges</td>
685 <td><code>intnotes</code></td>
686 <td>Interne Bemerkungen</td>
689 <td><code>invdate</code></td>
690 <td>Rechnungsdatum</td>
693 <td><code>invnumber</code></td>
694 <td>Rechnungsnummer</td>
697 <td><code>invtotal</code></td>
698 <td>gesamter Rechnungsbetrag</td>
701 <td><code>notes</code></td>
702 <td>Bemerkungen der Rechnung</td>
705 <td><code>orddate</code></td>
706 <td>Auftragsdatum</td>
709 <td><code>ordnumber</code></td>
710 <td>Auftragsnummer, wenn die Rechnung aus einem Auftrag erstellt wurde</td>
713 <td><code>payment_terms</code></td>
714 <td>Zahlungskonditionen</td>
717 <td><code>quodate</code></td>
718 <td>Angebotsdatum</td>
721 <td><code>quonumber</code></td>
722 <td>Angebotsnummer</td>
725 <td><code>shippingpoint</code></td>
729 <td><code>shipvia</code></td>
730 <td>Transportmittel</td>
733 <td><code>subtotal</code></td>
734 <td>Zwischensumme aller Posten ohne Steuern</td>
737 <td><code>sumcarriedforward</code></td>
738 <td>Zwischensumme aller bisher ausgegebenen Posten. Sollte nur in einem
739 <a href="dokumentenvorlagen-und-variablen.html#bloecke_pagebreak">
740 <code>pagebreak</code></a>-Block verwendet werden.</td>
743 <td><code>total</code></td>
744 <td>Restsumme der Rechnung (Summe abzüglich bereits bezahlter Posten)</td>
747 <td><code>transaction_description</code></td>
748 <td>Vorgangsbezeichnung</td>
751 <td><code>transdate</code></td>
752 <td>Auftragsdatum wenn die Rechnung aus einem Auftrag erstellt wurde</td>
757 <h3><a name="invoice_posten">
758 Variablen für jeden Posten auf der Rechnung:</a></h3>
762 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
764 <td><code>bin</code></td>
768 <td><code>description</code></td>
769 <td>Artikelbeschreibung</td>
772 <td><code>discount</code></td>
773 <td>Rabatt als Betrag</td>
776 <td><code>discount_sub</code></td>
777 <td>Zwischensumme mit Rabatt</td>
780 <td><code>drawing</code></td>
784 <td><code>ean</code></td>
788 <td><code>image</code></td>
792 <td><code>linetotal</code></td>
793 <td>Zeilensumme (Anzahl * Einzelpreis)</td>
796 <td><code>longdescription</code></td>
800 <td><code>microfiche</code></td>
804 <td><code>netprice</code></td>
808 <td><code>nodiscount_linetotal</code></td>
809 <td>Zeilensumme ohne Rabatt</td>
812 <td><code>nodiscount_sub</code></td>
813 <td>Zwischensumme ohne Rabatt</td>
816 <td><code>number</code></td>
817 <td>Artikelnummer</td>
820 <td><code>ordnumber_oe</code></td>
821 <td>Auftragsnummer des Originalauftrags, wenn die Rechnung aus einem Sammelauftrag erstellt wurde</td>
824 <td><code>p_discount</code></td>
825 <td>Rabatt in Prozent</td>
828 <td><code>partnotes</code></td>
829 <td>Die beim Artikel gespeicherten Bemerkungen</td>
832 <td><code>partsgroup</code></td>
836 <td><code>price_factor</code></td>
837 <td>Der Preisfaktor als Zahl, sofern einer eingestellt ist</td>
840 <td><code>price_factor_name</code></td>
841 <td>Der Name des Preisfaktors, sofern einer eingestellt ist</td>
844 <td><code>projectnumber</code></td>
845 <td>Projektnummer</td>
848 <td><code>qty</code></td>
852 <td><code>reqdate</code></td>
856 <td><code>runningnumber</code></td>
857 <td>Position auf der Rechnung (1, 2, 3...)</td>
860 <td><code>sellprice</code></td>
861 <td>Verkaufspreis</td>
864 <td><code>serialnumber</code></td>
865 <td>Seriennummer</td>
868 <td><code>transdate_oe</code></td>
869 <td>Auftragsdatum des Originalauftrags, wenn die Rechnung aus einem Sammelauftrag erstellt wurde</td>
872 <td><code>unit</code></td>
876 <td><code>weight</code></td>
882 <p>Für jeden Posten gibt es ein Unterarray mit den Informationen über
883 Lieferanten und Lieferantenartikelnummer. Diese müssen mit
884 einer <code>foreach</code>-Schleife ausgegeben werden, da für jeden
885 Artikel mehrere Lieferanteninformationen hinterlegt sein können. Die
886 Variablen dafür lauten:</p>
890 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
892 <td><code>make</code></td>
896 <td><code>model</code></td>
897 <td>Lieferantenartikelnummer</td>
902 <h3><a name="invoice_zahlungen">
903 Variablen für die einzelnen Zahlungseingänge:</a></h3>
907 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
909 <td><code>payment</code></td>
913 <td><code>paymentaccount</code></td>
917 <td><code>paymentdate</code></td>
921 <td><code>paymentmemo</code></td>
925 <td><code>paymentsource</code></td>
931 <h3><a name="invoice_benutzerdefinierte_variablen_vc">
932 Benutzerdefinierte Kunden- und Lieferantenvariablen:</a></h3>
935 Die vom Benutzer definierten Variablen für Kunden und
936 Lieferanten stehen beim Ausdruck von Einkaufs- und Verkaufsbelegen
937 ebenfalls zur Verfügung. Ihre Namen setzen sich aus dem
938 Präfix <code>vc_cvar_</code> und dem vom Benutzer festgelegten
939 Variablennamen zusammen.</p>
941 <p>Beispiel: Der Benutzer hat eine Variable
942 namens <code>number_of_employees</code> definiert, die die Anzahl
943 der Mitarbeiter des Unternehmens enthält. Diese Variable steht
944 dann unter dem Namen <code>vc_cvar_number_of_employees</code> zur
947 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
948 zum Inhaltsverzeichnis</a></small><br>
951 <h2><a name="dunning">Variablen in Mahnungen und Rechnungen über Mahngebühren</a></h2>
953 <h3><a name="dunning_vorlagennamen">Namen der Vorlagen</a></h3>
955 <p>Die Namen der Vorlagen werden im System-Menü vom Benutzer
956 eingegeben. Wird für ein Mahnlevel die Option zur automatischen
957 Erstellung einer Rechnung über die Mahngebühren und Zinsen
958 aktiviert, so wird der Name der Vorlage für diese Rechnung aus
959 dem Vorlagenname für diese Mahnstufe mit dem
960 Zusatz <code>_invoice</code> gebildet. Weiterhin werden die
961 Kürzel für die ausgewählte Sprache und den
962 ausgewählten Drucker angehängt.</p>
964 <h3><a name="dunning_allgemein">Allgemeine Variablen in Mahnungen:</a></h3>
966 <p>Die Variablen des Verkäufers stehen wie gewohnt
967 als <code>employee_...</code> zur Verfügung. Die Adressdaten des
968 Kunden stehen als Variablen <code>name</code>, <code>street</code>,
969 <code>zipcode</code>, <code>city</code>, <code>country</code>,
970 <code>department_1</code>, <code>department_2</code>, und
971 <code>email</code> zur Verfügung.
974 <p>Weitere Variablen beinhalten:</p>
978 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
980 <td><code>dunning_date</code></td>
981 <td>Datum der Mahnung</td>
984 <td><code>dunning_duedate</code></td>
985 <td>Fälligkeitsdatum für diese Mahhnung</td>
988 <td><code>fee</code></td>
989 <td>Kummulative Mahngebühren</td>
992 <td><code>interest_rate</code></td>
993 <td>Zinssatz per anno in Prozent</td>
996 <td><code>total_amount</code></td>
997 <td>Gesamter noch zu zahlender Betrag als <code>fee</code> + <code>total_interest</code> + <code>total_open_amount</code></td>
1000 <td><code>total_interest</code></td>
1001 <td>Zinsen per anno über alle Rechnungen</td>
1004 <td><code>total_open_amount</code></td>
1005 <td>Summe über alle offene Beträge der Rechnungen</td>
1010 <h3><a name="dunning_details">
1011 Variablen für jede gemahnte Rechnung in einer Mahnung:</a></h3>
1015 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
1017 <td><code>dn_amount</code></td>
1018 <td>Rechnungssumme (brutto)</td>
1021 <td><code>dn_duedate</code></td>
1022 <td>Originales Fälligkeitsdatum der Rechnung</td>
1025 <td><code>dn_dunning_date</code></td>
1026 <td>Datum der Mahnung</td>
1029 <td><code>dn_dunning_duedate</code></td>
1030 <td>Fälligkeitsdatum der Mahnung</td>
1033 <td><code>dn_fee</code></td>
1034 <td>Kummulative Mahngebühr</td>
1037 <td><code>dn_interest</code></td>
1038 <td>Zinsen per anno für diese Rechnung</td>
1041 <td><code>dn_invnumber</code></td>
1042 <td>Rechnungsnummer</td>
1045 <td><code>dn_linetotal</code></td>
1046 <td>Noch zu zahlender Betrag (ergibt sich aus <code>dn_open_amount + dn_fee + dn_interest</code>)</td>
1049 <td><code>dn_netamount</code></td>
1050 <td>Rechnungssumme (netto)</td>
1053 <td><code>dn_open_amount</code></td>
1054 <td>Offener Rechnungsbetrag</td>
1057 <td><code>dn_ordnumber</code></td>
1058 <td>Bestellnummer</td>
1061 <td><code>dn_transdate</code></td>
1062 <td>Rechnungsdatum</td>
1067 <h3><a name="dunning_invoice">Variablen in automatisch erzeugten
1068 Rechnungen über Mahngebühren</a></h3>
1070 <p>Die Variablen des Verkäufers stehen wie gewohnt
1071 als <code>employee_...</code> zur Verfügung. Die Adressdaten des
1072 Kunden stehen als Variablen <code>name</code>, <code>street</code>,
1073 <code>zipcode</code>, <code>city</code>, <code>country</code>,
1074 <code>department_1</code>, <code>department_2</code>, und
1075 <code>email</code> zur Verfügung.
1078 <p>Weitere Variablen beinhalten:</p>
1082 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
1084 <td><code>duedate</code></td>
1085 <td>Fälligkeitsdatum der Rechnung</td>
1088 <td><code>dunning_id</code></td>
1089 <td>Mahnungsnummer</td>
1092 <td><code>fee</code></td>
1093 <td>Mahngebühren</td>
1096 <td><code>interest</code></td>
1100 <td><code>invamount</code></td>
1101 <td>Rechnungssumme (ergibt sich aus <code>fee + interest</code>)</td>
1104 <td><code>invdate</code></td>
1105 <td>Rechnungsdatum</td>
1108 <td><code>invnumber</code></td>
1109 <td>Rechnungsnummer</td>
1114 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
1115 zum Inhaltsverzeichnis</a></small><br>
1118 <h2><a name="anderevorlagen">
1119 Variablen in anderen Vorlagen</a></h2>
1121 <p>Die Variablen in anderen Vorlagen sind ähnlich wie in der
1122 Rechnung. Allerdings heißen die Variablen, die mit <code>inv</code>
1123 beginnen, jetzt anders. Bei den Angeboten fangen sie mit <code>quo</code>
1124 für "quotation" an: <code>quodate</code> für Angebotsdatum
1125 etc. Bei Bestellungen wiederum fangen sie mit <code>ord</code> für
1126 "order" an: <code>ordnumber</code> für Bestellnummer etc.</p>
1128 <p>Manche Variablen sind in anderen Vorlagen hingegen gar nicht vorhanden wie
1129 z.B. die für bereits verbuchte Zahlungseingänge. Dies sind
1130 Variablen, die vom Geschäftsablauf her in der entsprechenden Vorlage
1131 keine Bedeutung haben oder noch nicht belegt sein können.</p>
1133 <p>Im Folgenden werden nur wichtige Unterschiede zu den Variablen in
1134 Rechnungen aufgeführt.</p>
1136 <h3><a name="anderevorlagen_quotations">Angebote und Preisanfragen</a></h3>
1140 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
1142 <td><code>quonumber</code></td>
1143 <td>Angebots- bzw. Anfragenummer</td>
1146 <td><code>reqdate</code></td>
1147 <td>Gültigkeitsdatum (bei Angeboten) bzw. Lieferdatum (bei Preisanfragen)</td>
1150 <td><code>transdate</code></td>
1151 <td>Angebots- bzw. Anfragedatum</td>
1156 <h3><a name="anderevorlagen_orders">Auftragsbestätigungen und Lieferantenaufträge</a></h3>
1160 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
1162 <td><code>ordnumber</code></td>
1163 <td>Auftragsnummer</td>
1166 <td><code>reqdate</code></td>
1167 <td>Lieferdatum</td>
1170 <td><code>transdate</code></td>
1171 <td>Auftragsdatum</td>
1176 <h3><a name="anderevorlagen_delivery_orders">Lieferscheine (Verkauf und Einkauf)</a></h3>
1180 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
1182 <td><code>donumber</code></td>
1183 <td>Lieferscheinnummer</td>
1186 <td><code>transdate</code></td>
1187 <td>Lieferscheindatum</td>
1192 <p>Für jede Position eines Lieferscheines gibt es ein Unterarray mit
1193 den Informationen darüber, von welchem Lager und Lagerplatz aus die
1194 Waren verschickt wurden (Verkaufslieferscheine) bzw. auf welchen
1195 Lagerplatz sie eingelagert wurden. Diese müssen mittels
1196 einer <code>foreach</code>-Schleife ausgegeben werden. Diese
1201 <tr><th>Variablenname</th><th>Bedeutung</th></tr>
1203 <td><code>si_bin</code></td>
1207 <td><code>si_chargenumber</code></td>
1208 <td>Chargennummer</td>
1211 <td><code>si_number</code></td>
1212 <td>Artikelnummer</td>
1215 <td><code>si_qty</code></td>
1216 <td>Anzahl bzw. Menge</td>
1219 <td><code>si_runningnumber</code></td>
1220 <td>Positionsnummer (1, 2, 3 etc)</td>
1223 <td><code>si_unit</code></td>
1227 <td><code>si_warehouse</code></td>
1233 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
1234 zum Inhaltsverzeichnis</a></small><br>
1237 <h2><a name="bloecke">
1238 Blöcke, bedingte Anweisungen und Schleifen</a></h2>
1240 <p>Der Parser kennt neben den Variablen einige weitere Konstrukte, die
1241 gesondert behandelt werden. Diese sind wie Variablennamen in spezieller
1242 Weise markiert: <code><%anweisung%></code></p>
1244 <h3><a name="bloecke_ifnot">Der <code>if not</code>-Block</a></h3>
1246 <p class="blue"><code><%if not variablenname%><br>
1248 <%end></code></p>
1250 <p>Eine normale "if-not-then"-Bedingung. Die Zeilen zwischen dem "if not" und
1251 dem "end" werden nur ausgegeben, wenn die Variable "variablenname" nicht
1252 gesetzt oder gleich 0 ist.</p>
1254 <h3><a name="bloecke_if">Der <code>if</code>-Block</a></h3>
1256 <p class="blue"><code><%if variablenname%><br>
1258 <%end></code></p>
1260 <p>Eine normale "if-then"-Bedingung. Die Zeilen zwischen dem "if" und dem
1261 "end" werden nur ausgegeben, wenn die Variable "variablenname" gesetzt und
1264 <h3><a name="bloecke_foreach">Die <code>foreach</code>-Schleife</a></h3>
1266 <p class="blue"><code><%foreach variablenname%><br>
1268 <%end></code></p>
1270 <p>Fügt die Zeilen zwischen den beiden Anweisungen so oft ein, wie das
1271 Perl-Array der Variablen "variablenname" Elemente enthät. Dieses
1272 Konstrukt wird zur Ausgabe der einzelnen Posten einer Rechnung / eines
1273 Angebots sowie zur Ausgabe der Steuern benutzt. In jedem Durchlauf werden
1274 die <a href="dokumentenvorlagen-und-variablen.html#invoice_posten">zeilenbezogenen
1275 Variablen</a> jeweils auf den Wert für die aktuelle Position
1278 <p>Die Syntax sieht normalerweise wie folgt aus:</p>
1280 <p class="blue"><code><%foreach number%><br>
1281 Position: <%runningnumber%><br>
1282 Anzahl: <%qty%><br>
1283 Artikelnummer: <%number%><br>
1284 Beschreibung: <%description%><br>
1286 <%end></code></p>
1288 <p>Besonderheit in OpenDocument-Vorlagen: Tritt ein
1289 <code><foreach></code>-Block innerhalb einer Tabellenzelle
1290 auf, so wird die komplette Tabellenzeile so oft wiederholt wie
1291 notwendig. Tritt er außerhalb auf, so wird nur der Inhalt
1292 zwischen <code><foreach></code> und <code><end></code>
1293 wiederholt, nicht aber die komplette Zeile, in der er steht.</p>
1295 <h3><a name="bloecke_pagebreak">Der <code>pagebreak</code>-Block</a></h3>
1297 <p class="blue"><code><%pagebreak ZpZ ZeS ZzS%><br>
1299 <%end></code></p>
1301 <p>Dieser Block existiert nur in LaTeX-Vorlagen.</p>
1303 <p>Dieser Block legt das Verhalten beim manuellen Einfügen eines
1304 Seitenumbruchs fest. Normalerweise bricht LaTeX die Seiten selber um. Beim
1305 Rechnungsdruck ist das oft nicht gewünscht, oder man möchte im
1306 Falle eines Seitenumbruchs den Übertrag etc. mit ausgeben. Deswegen
1307 versucht der Parser, manuell Seitenumbrüche einzufügen,
1308 während er einen <code>foreach</code>-Block auswertet, weil hier die
1309 manuellen Seitenumbrüche erforderlich werden. Dafür benötigt
1310 der Parser aber drei Informationen:</p>
1314 <li>Wieviele Zeichen passen bei der Variablen "description" pro Posten
1315 in eine Zeile? Das ist der Parameter "ZpZ" (Zeichen pro Zeile).</li>
1316 <li>Wieviele Zeilen/Posten passen auf die erste Seite? Das
1317 ist der Parameter "ZeS" (Zeilen erste Seite).</li>
1318 <li>Wieviele Zeilen/Posten passen auf die zweite und alle nachfolgenden
1319 Seiten? Das ist der Parameter "ZzS" (Zeilen zweite Seite).</li>
1323 <p>Diese Parameter sind drei Zahlen, die manuell durch Verwendung von langen
1324 Warenbezeichnungen und Rechnungen mit vielen Posten bestimmt werden
1327 <p>Üblicherweise wird in diesem Block zuerst die aktuelle Tabelle
1328 geschlossen, eventuell Text eingefügt (z.B. "Fortsetzung auf der
1329 nächsten Seite"), dann ein Seitenumbruch erzwungen, eventuell Text
1330 eingefügt (z.B. "Übertrag von der vorherigen Seite:
1331 <%sumcarriedforward%> EUR") und die Tabelle wieder geöffnet.</p>
1333 <p>Wird kein manueller Seitenumbruch gewüscht, so kann dieser Block
1334 komplett entfallen.</p>
1336 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
1337 zum Inhaltsverzeichnis</a></small><br>
1340 <h2><a name="markup">
1341 Markup-Code, der innerhalb von Formularen zur Textformatierung
1342 verwendet werden kann</a></h2>
1344 <p>Wenn der Benutzer innhalb von Formularen in Lx-Office Text anders
1345 formatiert haben möchte, so ist dies begrenzt möglich. Lx-Office
1346 unterstützt die Textformatierung mit HTML-ähnlichen Tags. Der
1347 Benutzer kann z.B. bei der Artikelbeschreibung auf einer Rechnung Teile des
1348 Texts zwischen Start- und Endtags setzen. Dieser Teil wird dann automatisch
1349 in Anweisungen für das ausgewählte Vorlagenformat (HTML oder
1350 PDF über LaTeX) umgesetzt.</p>
1352 <p>Die unterstützen Formatierungen sind:</p>
1356 <tr><th>Formatierung</th><th>Auswirkung</th></tr>
1358 <td><code><b>Text</b></code></td>
1359 <td>Text wird in <b>fettdruck</b> gesetzt.</td>
1362 <td><code><i>Text</i></code></td>
1363 <td>Text wird <i>kursiv</i> gesetzt.</td>
1366 <td><code><u>Text</u></code></td>
1367 <td>Text wird <u>unterstrichen</u>.</td>
1370 <td><code><s>Text</s></code></td>
1371 <td>Text wird <s>durchgestrichen</s>. Diese Formatierung ist nicht bei der
1372 Ausgabe als PDF über LaTeX verfügbar.</td>
1375 <td><code><pagebreak></code></td>
1376 <td>Erzwingt einen Seitenumbruch (siehe unten).</td>
1381 <p>Eine Besonderheit ist der Befehl <code><pagebreak></code>,
1382 der nur in LaTeX-Vorlagen funktioniert und in anderen Vorlagen
1383 einfach gelöscht wird. Dieser erzwingt unabhängig von der
1385 href="dokumentenvorlagen-und-variablen.html#bloecke_pagebreak">pagebreak-Block</a>
1386 voreingestellten Werte einen Seitenumbruch nach der aktuellen
1387 Rechnungsposition. Dementsprechend funktioniert er nur innerhalb von
1388 <code><foreach...></code>-Schleifen. Weiterhin benötigt er kein
1391 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
1392 zum Inhaltsverzeichnis</a></small><br>