6e9bdb4040e8ccaaf9410b5acf597f6839317dec
[kivitendo-erp.git] / doc / dokumentenvorlagen-und-variablen.html
1 <html>
2  <head>
3   <title>Dokumentenvorlagen und verf&uuml;gbare Variablen</title>
4   <style type="text/css">
5   <!--
6 .blue {
7            color: #000000;
8            background-color: #b0ecff;
9            border: 1px solid blue;
10            padding-left: 2px;
11            padding-right: 2px;
12            }
13
14 table {
15         color: #000000;
16         background-color: #fae8b8;
17         border: 1px solid #be5303;
18         border-collapse: collapse;
19         }
20
21 td {
22      border: 1px solid #be5303;
23      padding: 3px;
24      }
25     -->
26   </style>
27
28  </head>
29
30 <body>
31
32  <h1>Dokumentenvorlagen und verf&uuml;gbare Variablen</h1>
33
34  <p>geschrieben von <a href="mailto:m.bunkus@linet-services.de">Moritz
35    Bunkus</a>. Version: $Id$ </p>
36
37  <hr>
38
39  <h2><a name="inhaltsverzeichnis">Inhaltsverzeichnis</a></h2>
40
41  <ol>
42   <li><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
43     Inhaltsverzeichnis</a></li>
44
45   <li><a href="dokumentenvorlagen-und-variablen.html#einfuehrung">Einf&uuml;hrung</a>
46   </li>
47
48   <li><a href="dokumentenvorlagen-und-variablen.html#zuordnung_dateinamen">
49     Zuordnung von Dateinamen zu den Funktionen</a></li>
50
51   <li><a href="dokumentenvorlagen-und-variablen.html#tag_style">
52     Anfang und Ende der Tags ver&auml;ndern</a></li>
53
54   <li><a href="dokumentenvorlagen-und-variablen.html#allgemeine_variablen">
55     Allgemeine Variablen, die in allen Vorlagen vorhanden sind</a><br>
56
57    <ol>
58     <li><a href="dokumentenvorlagen-und-variablen.html#allgemein_stammdaten">
59       Stammdaten von Kunden und Lieferanten</a></li>
60
61     <li><a href="dokumentenvorlagen-und-variablen.html#allgemein_bearbeiter">
62       Informationen &uuml;ber den Bearbeiter</a></li>
63
64     <li><a href="dokumentenvorlagen-und-variablen.html#allgemein_verkaeufer">
65       Informationen &uuml;ber den Verk&auml;ufer</a></li>
66
67     <li><a href="dokumentenvorlagen-und-variablen.html#allgemein_steuern">
68       Variablen f&uuml;r jede Steuer</a></li>
69    </ol>
70   </li>
71
72   <li><a href="dokumentenvorlagen-und-variablen.html#invoice">
73     Variablen in Rechnungen</a>
74
75    <ol>
76     <li><a href="dokumentenvorlagen-und-variablen.html#invoice_allgemein">
77       Allgemeine Variablen</a></li>
78
79     <li><a href="dokumentenvorlagen-und-variablen.html#invoice_posten">
80       Variablen f&uuml;r jeden Posten auf der Rechnung</a></li>
81
82     <li><a href="dokumentenvorlagen-und-variablen.html#invoice_zahlungen">
83       Variablen f&uuml;r die Zahlungseing&auml;nge</a></li>
84
85     <li><a href="dokumentenvorlagen-und-variablen.html#invoice_benutzerdefinierte_variablen_vc">
86       Benutzerdefinierte Kunden- und Lieferantenvariablen</a></li>
87    </ol>
88   </li>
89
90   <li><a href="dokumentenvorlagen-und-variablen.html#dunning">
91     Variablen in Mahnungen und Rechnungen &uuml;ber Mahngeb&uuml;hren</a>
92
93    <ol>
94     <li><a href="dokumentenvorlagen-und-variablen.html#dunning_vorlagennamen">
95       Namen der Vorlagen</a></li>
96
97     <li><a href="dokumentenvorlagen-und-variablen.html#dunning_allgemein">
98       Allgemeine Variablen in Mahnungen</a></li>
99
100     <li><a href="dokumentenvorlagen-und-variablen.html#dunning_details">
101       Variablen f&uuml;r jede gemahnte Rechnung in einer Mahnung</a></li>
102
103     <li><a href="dokumentenvorlagen-und-variablen.html#dunning_invoice">
104       Variablen in automatisch erzeugten Rechnungen &uuml;ber Mahngeb&uuml;hren</a></li>
105    </ol>
106   </li>
107
108   <li><a href="dokumentenvorlagen-und-variablen.html#anderevorlagen">
109     Variablen in anderen Vorlagen</a>
110
111    <ol>
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&auml;tigungen und Lieferantenauftr&auml;ge</a></li>
114     <li><a href="dokumentenvorlagen-und-variablen.html#anderevorlagen_delivery_orders">Lieferscheine (Verkauf und Einkauf)</a></li>
115    </ol>
116   </li>
117
118   <li><a href="dokumentenvorlagen-und-variablen.html#bloecke">
119     Bl&ouml;cke, bedingte Anweisungen und Schleifen</a>
120
121    <ol>
122     <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_if">
123       Der <code>if</code>-Block</a></li>
124
125     <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_foreach">
126       Die <code>foreach</code>-Schleife</a></li>
127
128     <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_pagebreak">
129       Der <code>pagebreak</code>-Block</a></li>
130    </ol>
131   </li>
132
133   <li><a href="dokumentenvorlagen-und-variablen.html#markup">
134     Markup-Code, der innerhalb von Formularen zur Textformatierung verwendet
135     werden kann</a></li>
136
137  </ol>
138
139  <hr>
140
141  <h2><a name="einfuehrung">Einf&uuml;hrung</a></h2>
142
143  <p>Dies ist eine Auflistung der Standard-Dokumentenvorlagen und aller
144   zur Bearbeitung verf&uuml;gbaren Variablen. Eine Variable wird in
145   einer Vorlage durch ihren Inhalt ersetzt, wenn sie in der Form
146   <code>&lt;%variablenname%&gt;</code> verwendet wird. F&uuml;r LaTeX-
147   und HTML-Vorlagen kann man die Form dieser Tags auch
148   <a href="dokumentenvorlagen-und-variablen.html#tag_style">
149    ver&auml;ndern</a>.
150  </p>
151
152  <p>Einige Zahlenwerte werden auch in unformatierter Form zur Verf&uuml;gung
153   gestellt (also z.B. 35 statt 35,00 oder 12.3 statt 12,30). Der Dezimaltrenner
154   ist dabei also immer ein Punkt unabhaengig vom eingestellten Zahlenformat.
155   Diese Variabelen kann man mit der Erweiterung _num (f&uuml;r numeric) aufrufen
156   (also z.B. netprice = 12,30 -- netprice_num = 12.3). Variabeln die zus&auml;tzlich
157   unformatiert zur Verf&uuml;gung stehen sind unten als variable[_num] gelistet.
158   Die Eckigen Klammern weisen also auf eine optionale Verw&auml;ndung der Erweiterung hin.
159   </p>
160
161  <p>Fr&uuml;her wurde hier nur &uuml;ber LaTeX gesprochen. Inzwischen
162   unterst&uuml;tzt Lx-Office aber auch OpenDocument-Vorlagen. Sofern
163   es nicht ausdr&uuml;cklich eingeschr&auml;nkt wird, gilt das im
164   Folgenden gesagte f&uuml;r alle Vorlagenarten.</p>
165
166  <p>Insgesamt sind technisch gesehen eine ganze Menge mehr Variablen
167   verf&uuml;gbar als hier aufgelistet werden. Die meisten davon k&ouml;nnen
168   allerdings innerhalb einer solchen Vorlage nicht sinnvoll verwendet
169   werden. Wenn eine Auflistung dieser Variablen gewollt ist, so kann diese wie
170   folgt erhalten werden:</p>
171
172  <ol>
173
174   <li><code>SL/Form.pm</code> &ouml;ffnen und am Anfang die Zeile
175    <pre>"use Data::Dumper;"</pre> einf&uuml;gen.</li>
176
177   <li>In <code>Form.pm</code> die Funktion <code>parse_template</code>
178    suchen und hier die Zeile <pre>print(STDERR Dumper($self));</pre>
179    einf&uuml;gen.</li>
180
181   <li>Einmal per Browser die gew&uuml;nschte Vorlage "benutzen", z.B. ein PDF
182    f&uuml;r eine Rechnung erzeugen.</li>
183
184   <li>Im <code>error.log</code> vom Apache steht die Ausgabe der Variablen
185    <code>$self</code> in der Form <code>'key' =&gt; 'value',</code>. Alle
186    <code>key</code>s sind verf&uuml;gbar.</li>
187
188  </ol>
189
190  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
191    zum Inhaltsverzeichnis</a></small><br>
192  <hr>
193
194  <h2><a name="tag_style">
195    Anfang und Ende der Tags ver&auml;ndern</a></h2>
196
197  <p>Der Standardstil f&uuml;r Tags sieht vor, dass ein Tag mit dem
198   Kleinerzeichen und einem Prozentzeichen beginnt und mit dem
199   Prozentzeichen und dem Gr&ouml;&szlig;erzeichen endet,
200   beispielsweise <code>&lt;%customer%&gt;</code>. Da diese Form aber
201   z.B. in LaTeX zu Problemen f&uuml;hren kann, weil das Prozentzeichen
202   dort Kommentare einleitet, kann pro HTML- oder
203   LaTeX-Dokumentenvorlage der Stil umgestellt werden.</p>
204
205  <p>Dazu werden in die Datei Zeilen geschrieben, die mit dem f&uuml;r
206   das Format g&uuml;ltigen Kommentarzeichen anfangen,
207   dann <code>config:</code> enthalten, die entsprechende Option setzen
208   und bei HTML-Dokumentenvorlagen mit dem Kommentarendzeichen
209   enden. Beispiel f&uuml;r LaTeX:</p>
210
211  <p><code>% config: tag-style=($ $)</code></p>
212
213  <p>Dies w&uuml;rde Lx-Office dazu veranlassen, Variablen zu ersetzen,
214   wenn sie wie folgt aussehen: <code>($customer$)</code>. Das
215   &auml;quivalente Beispiel f&uuml;r HTML-Dokumentenvorlagen sieht so
216   aus:</p>
217
218  <p><code>&lt;!-- config: tag-style=($ $) --&gt;</code></p>
219
220  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
221    zum Inhaltsverzeichnis</a></small><br>
222  <hr>
223
224  <h2><a name="zuordnung_dateinamen">
225    Zuordnung von den Dateinamen zu den Funktionen</a></h2>
226
227  <p>Diese folgende kurze Auflistung zeigt, welche Vorlage bei welcher
228   Funktion ausgelesen wird. Dabei ist die Dateiendung &quot;.ext&quot;
229   geeignet zu ersetzen: &quot;.tex&quot; f&uuml; LaTeX-Vorlagen und
230   &quot;.odt&quot; f&uuml;r OpenDocument-Vorlagen.</p>
231
232  <p>
233   <table border="1">
234    <tr>
235     <th>Dateiname</th>
236     <th>Bedeutung</th>
237    </tr>
238    <tr>
239     <td><code>bin_list.ext</code></td>
240     <td>Lagerliste</td>
241    </tr>
242    <tr>
243     <td><code>check.ext</code></td>
244     <td>?</td>
245    </tr>
246    <tr>
247     <td><code>invoice.ext</code></td>
248     <td>Rechnung</td>
249    </tr>
250    <tr>
251     <td><code>packing_list.ext</code></td>
252     <td>Packliste</td>
253    </tr>
254    <tr>
255     <td><code>pick_list.ext</code></td>
256     <td>Sammelliste</td>
257    </tr>
258    <tr>
259     <td><code>purchase_delivery_order.ext</code></td>
260     <td>Lieferschein (Einkauf)</td>
261    </tr>
262    <tr>
263     <td><code>purcharse_order.ext</code></td>
264     <td>Bestellung an Lieferanten</td>
265    </tr>
266    <tr>
267     <td><code>request_quotation.ext</code></td>
268     <td>Anfrage an Lieferanten</td>
269    </tr>
270    <tr>
271     <td><code>sales_delivery_order.ext</code></td>
272     <td>Lieferschein (Verkauf)</td>
273    </tr>
274    <tr>
275     <td><code>sales_order.ext</code></td>
276     <td>Bestellung</td>
277    </tr>
278    <tr>
279     <td><code>sales_quotation.ext</code></td>
280     <td>Angebot an Kunden</td>
281    </tr>
282    <tr>
283     <td><code>zahlungserinnerung.ext</code></td>
284     <td>Mahnung (Dateiname im Programm konfigurierbar)</td>
285    </tr>
286    <tr>
287     <td><code>zahlungserinnerung_invoice.ext</code></td>
288     <td>Rechnung &uuml;ber Mahngeb&uuml;hren (Dateiname im Programm konfigurierbar)</td>
289    </tr>
290   </table>
291  </p>
292
293  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
294    zum Inhaltsverzeichnis</a></small><br>
295  <hr>
296
297  <h2><a name="allgemeine_variablen">
298    Allgemeine Variablen, die in allen Vorlagen vorhanden sind</a></h2>
299
300  <h3><a name="allgemein_stammdaten">
301    Stammdaten von Kunden und Lieferanten:</a></h3>
302
303  <p>
304   <table border="1">
305    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
306    <tr>
307     <td><code>account_number</code></td>
308     <td>Kontonummer</td>
309    </tr>
310    <tr>
311     <td><code>bank</code></td>
312     <td>Name der Bank</td>
313    </tr>
314    <tr>
315     <td><code>bank_code</code></td>
316     <td>Bankleitzahl</td>
317    </tr>
318    <tr>
319     <td><code>bic</code></td>
320     <td>Bank-Identifikations-Code (Bank Identifier Code, BIC)</td>
321    </tr>
322    <tr>
323     <td><code>business</code></td>
324     <td>Kunden-/Lieferantentyp</td>
325    </tr>
326    <tr>
327     <td><code>city</code></td>
328     <td>Stadt</td>
329    </tr>
330    <tr>
331     <td><code>contact</code></td>
332     <td>Kontakt</td>
333    </tr>
334    <tr>
335     <td><code>country</code></td>
336     <td>Land</td>
337    </tr>
338    <tr>
339     <td><code>cp_email</code></td>
340     <td>Email des Ansprechpartners</td>
341    </tr>
342    <tr>
343     <td><code>cp_givenname</code></td>
344     <td>Vorname des Ansprechpartners</td>
345    </tr>
346    <tr>
347     <td><code>cp_greeting</code></td>
348     <td>Anrede des Ansprechpartners</td>
349    </tr>
350    <tr>
351     <td><code>cp_name</code></td>
352     <td>Name des Ansprechpartners</td>
353    </tr>
354    <tr>
355     <td><code>cp_phone1</code></td>
356     <td>Telefonnummer 1 des Ansprechpartners</td>
357    </tr>
358    <tr>
359     <td><code>cp_phone2</code></td>
360     <td>Telefonnummer 2 des Ansprechpartners</td>
361    </tr>
362    <tr>
363     <td><code>cp_title</code></td>
364     <td>Titel des Ansprechpartners</td>
365    </tr>
366    <tr>
367     <td><code>creditlimit</code></td>
368     <td>Kreditlimit</td>
369    </tr>
370    <tr>
371     <td><code>customeremail</code></td>
372     <td>Email des Kunden; nur f&uuml;r Kunden</td>
373    </tr>
374    <tr>
375     <td><code>customerfax</code></td>
376     <td>Faxnummer des Kunden; nur f&uuml;r Kunden</td>
377    </tr>
378    <tr>
379     <td><code>customernotes</code></td>
380     <td>Bemerkungen beim Kunden; nur f&uuml;r Kunden</td>
381    </tr>
382    <tr>
383     <td><code>customernumber</code></td>
384     <td>Kundennummer; nur f&uuml;r Kunden</td>
385    </tr>
386    <tr>
387     <td><code>customerphone</code></td>
388     <td>Telefonnummer des Kunden; nur f&uuml;r Kunden</td>
389    </tr>
390    <tr>
391     <td><code>discount</code></td>
392     <td>Rabatt</td>
393    </tr>
394    <tr>
395     <td><code>email</code></td>
396     <td>Emailadresse</td>
397    </tr>
398    <tr>
399     <td><code>fax</code></td>
400     <td>Faxnummer</td>
401    </tr>
402    <tr>
403     <td><code>homepage</code></td>
404     <td>Homepage</td>
405    </tr>
406    <tr>
407     <td><code>iban</code></td>
408     <td>Internationale Kontonummer (International Bank Account Number, IBAN)</td>
409    </tr>
410    <tr>
411     <td><code>language</code></td>
412     <td>Sprache</td>
413    </tr>
414    <tr>
415     <td><code>name</code></td>
416     <td>Firmenname</td>
417    </tr>
418    <tr>
419     <td><code>payment_description</code></td>
420     <td>Name der Zahlart</td>
421    </tr>
422    <tr>
423     <td><code>payment_terms</code></td>
424     <td>Zahlungskonditionen</td>
425    </tr>
426    <tr>
427     <td><code>phone</code></td>
428     <td>Telefonnummer</td>
429    </tr>
430    <tr>
431     <td><code>shiptocity</code></td>
432     <td>Stadt (Lieferadresse)
433      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
434    </tr>
435    <tr>
436     <td><code>shiptocontact</code></td>
437     <td>Kontakt (Lieferadresse)
438      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
439    </tr>
440    <tr>
441     <td><code>shiptocountry</code></td>
442     <td>Land (Lieferadresse)
443      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
444    </tr>
445    <tr>
446     <td><code>shiptodepartment1</code></td>
447     <td>Abteilung 1 (Lieferadresse)
448      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
449    </tr>
450    <tr>
451     <td><code>shiptodepartment2</code></td>
452     <td>Abteilung 2 (Lieferadresse)
453      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
454    </tr>
455    <tr>
456     <td><code>shiptoemail</code></td>
457     <td>Email (Lieferadresse)
458      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
459    </tr>
460    <tr>
461     <td><code>shiptofax</code></td>
462     <td>Fax (Lieferadresse)
463      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
464    </tr>
465    <tr>
466     <td><code>shiptoname</code></td>
467     <td>Firmenname (Lieferadresse)
468      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
469    </tr>
470    <tr>
471     <td><code>shiptophone</code></td>
472     <td>Telefonnummer (Lieferadresse)
473      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
474    </tr>
475    <tr>
476     <td><code>shiptostreet</code></td>
477     <td>Stra&szlig;e und Hausnummer (Lieferadresse)
478      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
479    </tr>
480    <tr>
481     <td><code>shiptozipcode</code></td>
482     <td>Postleitzahl (Lieferadresse)
483      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
484    </tr>
485    <tr>
486     <td><code>street</code></td>
487     <td>Stra&szlig;e und Hausnummer</td>
488    </tr>
489    <tr>
490     <td><code>taxnumber</code></td>
491     <td>Steuernummer</td>
492    </tr>
493    <tr>
494     <td><code>ustid</code></td>
495     <td>Usatzsteuer-Identifikationsnummer</td>
496    </tr>
497    <tr>
498    <tr>
499     <td><code>vendoremail</code></td>
500     <td>Email des Lieferanten; nur f&uuml;r Lieferanten</td>
501    </tr>
502    <tr>
503     <td><code>vendorfax</code></td>
504     <td>Faxnummer des Lieferanten; nur f&uuml;r Lieferanten</td>
505    </tr>
506    <tr>
507     <td><code>vendornotes</code></td>
508     <td>Bemerkungen beim Lieferanten; nur f&uuml;r Lieferanten</td>
509    </tr>
510    <tr>
511     <td><code>vendornumber</code></td>
512     <td>Lieferantennummer; nur f&uuml;r Lieferanten</td>
513    </tr>
514    <tr>
515     <td><code>vendorphone</code></td>
516     <td>Telefonnummer des Lieferanten; nur f&uuml;r Lieferanten</td>
517    </tr>
518    <tr>
519     <td><code>zipcode</code></td>
520     <td>Postleitzahl</td>
521    </tr>
522   </table>
523  </p>
524
525  <p><a name="anmerkung_shipto"><em>Anmerkung</em></a>: Sind die
526   <code>shipto*</code>-Felder in den Stammdaten nicht eingetragen, so haben
527   die Variablen <code>shipto*</code> den gleichen Wert wie die die
528   entsprechenden Variablen der Lieferdaten. Das bedeutet, dass sich einige
529   <code>shipto*</code>-Variablen so nicht in den Stammdaten wiederfinden
530   sondern schlicht Kopien der Lieferdatenvariablen sind
531   (z.B. <code>shiptocontact</code>).</p>
532
533  <h3><a name="allgemein_bearbeiter">
534    Informationen &uuml;ber den Bearbeiter:</a></h3>
535
536  <p>
537   <table border="1">
538    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
539    <tr>
540     <td><code>employee_address</code></td>
541     <td>Adressfeld</td>
542    </tr>
543    <tr>
544     <td><code>employee_businessnumber</code></td>
545     <td>Firmennummer</td>
546    </tr>
547    <tr>
548     <td><code>employee_company</code></td>
549     <td>Firmenname</td>
550    </tr>
551    <tr>
552     <td><code>employee_co_ustid</code></td>
553     <td>Usatzsteuer-Identifikationsnummer</td>
554    </tr>
555    <tr>
556     <td><code>employee_duns</code></td>
557     <td>DUNS-Nummer</td>
558    </tr>
559    <tr>
560     <td><code>employee_email</code></td>
561     <td>Email</td>
562    </tr>
563    <tr>
564     <td><code>employee_fax</code></td>
565     <td>Fax</td>
566    </tr>
567    <tr>
568     <td><code>employee_name</code></td>
569     <td>voller Name</td>
570    </tr>
571    <tr>
572     <td><code>employee_signature</code></td>
573     <td>Signatur</td>
574    </tr>
575    <tr>
576     <td><code>employee_taxnumber</code></td>
577     <td>Steuernummer</td>
578    </tr>
579    <tr>
580     <td><code>employee_tel</code></td>
581     <td>Telefonnummer</td>
582    </tr>
583   </table>
584  </p>
585
586  <h3><a name="allgemein_verkaeufer">
587    Informationen &uuml;ber den Verk&auml;ufer (nur bei Verkaufsmasken):</a></h3>
588
589  <p>
590   <table border="1">
591    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
592    <tr>
593     <td><code>salesman_address</code></td>
594     <td>Adressfeld</td>
595    </tr>
596    <tr>
597     <td><code>salesman_businessnumber</code></td>
598     <td>Firmennummer</td>
599    </tr>
600    <tr>
601     <td><code>salesman_company</code></td>
602     <td>Firmenname</td>
603    </tr>
604    <tr>
605     <td><code>salesman_co_ustid</code></td>
606     <td>Usatzsteuer-Identifikationsnummer</td>
607    </tr>
608    <tr>
609     <td><code>salesman_duns</code></td>
610     <td>DUNS-Nummer</td>
611    </tr>
612    <tr>
613     <td><code>salesman_email</code></td>
614     <td>Email</td>
615    </tr>
616    <tr>
617     <td><code>salesman_fax</code></td>
618     <td>Fax</td>
619    </tr>
620    <tr>
621     <td><code>salesman_name</code></td>
622     <td>voller Name</td>
623    </tr>
624    <tr>
625     <td><code>salesman_signature</code></td>
626     <td>Signatur</td>
627    </tr>
628    <tr>
629     <td><code>salesman_taxnumber</code></td>
630     <td>Steuernummer</td>
631    </tr>
632    <tr>
633     <td><code>salesman_tel</code></td>
634     <td>Telefonnummer</td>
635    </tr>
636   </table>
637  </p>
638
639  <h3><a name="allgemein_steuern">
640    Variablen f&uuml;r die einzelnen Steuern:</a></h3>
641
642  <p>
643   <table border="1">
644    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
645    <tr>
646     <td><code>tax</code></td>
647     <td>Steuer</td>
648    </tr>
649    <tr>
650     <td><code>taxbase</code></td>
651     <td>zu versteuernder Betrag</td>
652    </tr>
653    <tr>
654     <td><code>taxdescription</code></td>
655     <td>Name der Steuer</td>
656    </tr>
657    <tr>
658     <td><code>taxrate</code></td>
659     <td>Steuersatz</td>
660    </tr>
661   </table>
662  </p>
663
664  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
665    zum Inhaltsverzeichnis</a></small><br>
666  <hr>
667
668  <h2><a name="invoice">Variablen in Rechnungen</a></h2>
669
670  <h3><a name="invoice_allgemein">Allgemeine Variablen:</a></h3>
671
672  <p>
673   <table border="1">
674    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
675    <tr>
676     <td><code>creditremaining</code></td>
677     <td>Verbleibender Kredit</td>
678    </tr>
679    <tr>
680     <td><code>currency</code></td>
681     <td>W&auml;hrung</td>
682    </tr>
683    <tr>
684     <td><code>cusordnumber</code></td>
685     <td>Bestellnummer beim Kunden</td>
686    </tr>
687    <tr>
688     <td><code>deliverydate</code></td>
689     <td>Lieferdatum</td>
690    </tr>
691    <tr>
692     <td><code>duedate</code></td>
693     <td>F&auml;lligkeitsdatum</td>
694    </tr>
695    <tr>
696     <td><code>globalprojectnumber</code></td>
697     <td>Projektnummer des ganzen Beleges</td>
698    </tr>
699    <tr>
700     <td><code>globalprojectdescription</code></td>
701     <td>Projekbeschreibung des ganzen Beleges</td>
702    </tr>
703    <tr>
704     <td><code>intnotes</code></td>
705     <td>Interne Bemerkungen</td>
706    </tr>
707    <tr>
708     <td><code>invdate</code></td>
709     <td>Rechnungsdatum</td>
710    </tr>
711    <tr>
712     <td><code>invnumber</code></td>
713     <td>Rechnungsnummer</td>
714    </tr>
715    <tr>
716     <td><code>invtotal</code></td>
717     <td>gesamter Rechnungsbetrag</td>
718    </tr>
719    <tr>
720     <td><code>notes</code></td>
721     <td>Bemerkungen der Rechnung</td>
722    </tr>
723    <tr>
724     <td><code>orddate</code></td>
725     <td>Auftragsdatum</td>
726    </tr>
727    <tr>
728     <td><code>ordnumber</code></td>
729     <td>Auftragsnummer, wenn die Rechnung aus einem Auftrag erstellt wurde</td>
730    </tr>
731    <tr>
732     <td><code>payment_description</code></td>
733     <td>Name der Zahlart</td>
734    </tr>
735    <tr>
736     <td><code>payment_terms</code></td>
737     <td>Zahlungskonditionen</td>
738    </tr>
739    <tr>
740     <td><code>quodate</code></td>
741     <td>Angebotsdatum</td>
742    </tr>
743    <tr>
744     <td><code>quonumber</code></td>
745     <td>Angebotsnummer</td>
746    </tr>
747    <tr>
748     <td><code>shippingpoint</code></td>
749     <td>Versandort</td>
750    </tr>
751    <tr>
752     <td><code>shipvia</code></td>
753     <td>Transportmittel</td>
754    </tr>
755    <tr>
756     <td><code>subtotal</code></td>
757     <td>Zwischensumme aller Posten ohne Steuern</td>
758    </tr>
759    <tr>
760     <td><code>sumcarriedforward</code></td>
761     <td>Zwischensumme aller bisher ausgegebenen Posten. Sollte nur in einem
762      <a href="dokumentenvorlagen-und-variablen.html#bloecke_pagebreak">
763       <code>pagebreak</code></a>-Block verwendet werden.</td>
764    </tr>
765    <tr>
766     <td><code>total</code></td>
767     <td>Restsumme der Rechnung (Summe abz&uuml;glich bereits bezahlter Posten)</td>
768    </tr>
769    <tr>
770     <td><code>transaction_description</code></td>
771     <td>Vorgangsbezeichnung</td>
772    </tr>
773    <tr>
774     <td><code>transdate</code></td>
775     <td>Auftragsdatum wenn die Rechnung aus einem Auftrag erstellt wurde</td>
776    </tr>
777   </table>
778  </p>
779
780  <h3><a name="invoice_posten">
781    Variablen f&uuml;r jeden Posten auf der Rechnung:</a></h3>
782
783  <p>
784   <table border="1">
785    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
786    <tr>
787     <td><code>bin</code></td>
788     <td>Stellage</td>
789    </tr>
790    <tr>
791     <td><code>description</code></td>
792     <td>Artikelbeschreibung</td>
793    </tr>
794    <tr>
795     <td><code>discount[_num]</code></td>
796     <td>Rabatt als Betrag</td>
797    </tr>
798    <tr>
799     <td><code>discount_sub[_num]</code></td>
800     <td>Zwischensumme mit Rabatt</td>
801    </tr>
802    <tr>
803     <td><code>drawing</code></td>
804     <td>Zeichnung</td>
805    </tr>
806    <tr>
807     <td><code>ean</code></td>
808     <td>EAN-Code</td>
809    </tr>
810    <tr>
811     <td><code>image</code></td>
812     <td>Grafik</td>
813    </tr>
814    <tr>
815     <td><code>linetotal[_num]</code></td>
816     <td>Zeilensumme (Anzahl * Einzelpreis)</td>
817    </tr>
818    <tr>
819     <td><code>linetotal_raw[_num]</code></td>
820     <td>Zeilensumme (Anzahl * Einzelpreis) gerundet auf 8 Stellen nach dem Komma (statt 2)</td>
821    </tr>
822    <tr>
823     <td><code>longdescription</code></td>
824     <td>Langtext</td>
825    </tr>
826    <tr>
827     <td><code>microfiche</code></td>
828     <td>Mikrofilm</td>
829    </tr>
830    <tr>
831     <td><code>netprice[_num]</code></td>
832     <td>Nettopreis</td>
833    </tr>
834    <tr>
835     <td><code>nodiscount_linetotal[_num]</code></td>
836     <td>Zeilensumme ohne Rabatt</td>
837    </tr>
838    <tr>
839     <td><code>nodiscount_sub[_num]</code></td>
840     <td>Zwischensumme ohne Rabatt</td>
841    </tr>
842    <tr>
843     <td><code>number</code></td>
844     <td>Artikelnummer</td>
845    </tr>
846    <tr>
847     <td><code>ordnumber_oe</code></td>
848     <td>Auftragsnummer des Originalauftrags, wenn die Rechnung aus einem Sammelauftrag erstellt wurde</td>
849    </tr>
850    <tr>
851    <td><code>p_discount</code></td>
852     <td>Rabatt in Prozent</td>
853    </tr>
854    <tr>
855     <td><code>partnotes</code></td>
856     <td>Die beim Artikel gespeicherten Bemerkungen</td>
857    </tr>
858    <tr>
859     <td><code>partsgroup</code></td>
860     <td>Warengruppe</td>
861    </tr>
862    <tr>
863     <td><code>price_factor</code></td>
864     <td>Der Preisfaktor als Zahl, sofern einer eingestellt ist</td>
865    </tr>
866    <tr>
867     <td><code>price_factor_name</code></td>
868     <td>Der Name des Preisfaktors, sofern einer eingestellt ist</td>
869    </tr>
870    <tr>
871     <td><code>projectnumber</code></td>
872     <td>Projektnummer</td>
873    </tr>
874    <tr>
875     <td><code>projectdescription</code></td>
876     <td>Projektbeschreibung</td>
877    </tr>
878    <tr>
879     <td><code>qty[_num]</code></td>
880     <td>Anzahl</td>
881    </tr>
882    <tr>
883     <td><code>reqdate</code></td>
884     <td>Lieferdatum</td>
885    </tr>
886    <tr>
887     <td><code>runningnumber</code></td>
888     <td>Position auf der Rechnung (1, 2, 3...)</td>
889    </tr>
890    <tr>
891     <td><code>sellprice</code></td>
892     <td>Verkaufspreis</td>
893    </tr>
894    <tr>
895     <td><code>serialnumber</code></td>
896     <td>Seriennummer</td>
897    </tr>
898    <tr>
899     <td><code>tax_rate</code></td>
900     <td>Steuersatz</td>
901    </tr>
902    <tr>
903     <td><code>transdate_oe</code></td>
904     <td>Auftragsdatum des Originalauftrags, wenn die Rechnung aus einem Sammelauftrag erstellt wurde</td>
905    </tr>
906    <tr>
907     <td><code>unit</code></td>
908     <td>Einheit</td>
909    </tr>
910    <tr>
911     <td><code>weight</code></td>
912     <td>Gewicht</td>
913    </tr>
914   </table>
915  </p>
916
917  <p>F&uuml;r jeden Posten gibt es ein Unterarray mit den Informationen &uuml;ber
918   Lieferanten und Lieferantenartikelnummer. Diese m&uuml;ssen mit
919   einer <code>foreach</code>-Schleife ausgegeben werden, da f&uuml;r jeden
920   Artikel mehrere Lieferanteninformationen hinterlegt sein k&ouml;nnen. Die
921   Variablen daf&uuml;r lauten:</p>
922
923  <p>
924   <table border="1">
925    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
926    <tr>
927     <td><code>make</code></td>
928     <td>Lieferant</td>
929    </tr>
930    <tr>
931     <td><code>model</code></td>
932     <td>Lieferantenartikelnummer</td>
933    </tr>
934   </table>
935  </p>
936
937  <h3><a name="invoice_zahlungen">
938    Variablen f&uuml;r die einzelnen Zahlungseing&auml;nge:</a></h3>
939
940  <p>
941   <table border="1">
942    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
943    <tr>
944     <td><code>payment</code></td>
945     <td>Betrag</td>
946    </tr>
947    <tr>
948     <td><code>paymentaccount</code></td>
949     <td>Konto</td>
950    </tr>
951    <tr>
952     <td><code>paymentdate</code></td>
953     <td>Datum</td>
954    </tr>
955    <tr>
956     <td><code>paymentmemo</code></td>
957     <td>Memo</td>
958    </tr>
959    <tr>
960     <td><code>paymentsource</code></td>
961     <td>Beleg</td>
962    </tr>
963   </table>
964  </p>
965
966  <h3><a name="invoice_benutzerdefinierte_variablen_vc">
967    Benutzerdefinierte Kunden- und Lieferantenvariablen:</a></h3>
968
969  <p>
970   Die vom Benutzer definierten Variablen f&uuml;r Kunden und
971   Lieferanten stehen beim Ausdruck von Einkaufs- und Verkaufsbelegen
972   ebenfalls zur Verf&uuml;gung. Ihre Namen setzen sich aus dem
973   Pr&auml;fix <code>vc_cvar_</code> und dem vom Benutzer festgelegten
974   Variablennamen zusammen.</p>
975
976  <p>Beispiel: Der Benutzer hat eine Variable
977   namens <code>number_of_employees</code> definiert, die die Anzahl
978   der Mitarbeiter des Unternehmens enth&auml;lt. Diese Variable steht
979   dann unter dem Namen <code>vc_cvar_number_of_employees</code> zur
980   Verf&uuml;gung.</p>
981
982  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
983    zum Inhaltsverzeichnis</a></small><br>
984  <hr>
985
986  <h2><a name="dunning">Variablen in Mahnungen und Rechnungen &uuml;ber Mahngeb&uuml;hren</a></h2>
987
988  <h3><a name="dunning_vorlagennamen">Namen der Vorlagen</a></h3>
989
990  <p>Die Namen der Vorlagen werden im System-Men&uuml; vom Benutzer
991   eingegeben. Wird f&uuml;r ein Mahnlevel die Option zur automatischen
992   Erstellung einer Rechnung &uuml;ber die Mahngeb&uuml;hren und Zinsen
993   aktiviert, so wird der Name der Vorlage f&uuml;r diese Rechnung aus
994   dem Vorlagenname f&uuml;r diese Mahnstufe mit dem
995   Zusatz <code>_invoice</code> gebildet. Weiterhin werden die
996   K&uuml;rzel f&uuml;r die ausgew&auml;hlte Sprache und den
997   ausgew&auml;hlten Drucker angeh&auml;ngt.</p>
998
999  <h3><a name="dunning_allgemein">Allgemeine Variablen in Mahnungen:</a></h3>
1000
1001  <p>Die Variablen des Verk&auml;ufers stehen wie gewohnt
1002   als <code>employee_...</code> zur Verf&uuml;gung. Die Adressdaten des
1003   Kunden stehen als Variablen <code>name</code>, <code>street</code>,
1004   <code>zipcode</code>, <code>city</code>, <code>country</code>,
1005   <code>department_1</code>, <code>department_2</code>, und
1006   <code>email</code> zur Verf&uuml;gung.
1007  </p>
1008
1009  <p>Weitere Variablen beinhalten:</p>
1010
1011  <p>
1012   <table border="1">
1013    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
1014    <tr>
1015     <td><code>dunning_date</code></td>
1016     <td>Datum der Mahnung</td>
1017    </tr>
1018    <tr>
1019     <td><code>dunning_duedate</code></td>
1020     <td>F&auml;lligkeitsdatum f&uuml;r diese Mahhnung</td>
1021    </tr>
1022    <tr>
1023     <td><code>dunning_id</code></td>
1024     <td>Mahnungsnummer</td>
1025    </tr>
1026    <tr>
1027     <td><code>fee</code></td>
1028     <td>Kummulative Mahngeb&uuml;hren</td>
1029    </tr>
1030    <tr>
1031     <td><code>interest_rate</code></td>
1032     <td>Zinssatz per anno in Prozent</td>
1033    </tr>
1034    <tr>
1035     <td><code>total_amount</code></td>
1036     <td>Gesamter noch zu zahlender Betrag als <code>fee</code> + <code>total_interest</code> + <code>total_open_amount</code></td>
1037    </tr>
1038    <tr>
1039     <td><code>total_interest</code></td>
1040     <td>Zinsen per anno &uuml;ber alle Rechnungen</td>
1041    </tr>
1042    <tr>
1043     <td><code>total_open_amount</code></td>
1044     <td>Summe &uuml;ber alle offene Betr&auml;ge der Rechnungen</td>
1045    </tr>
1046   </table>
1047  </p>
1048
1049  <h3><a name="dunning_details">
1050    Variablen f&uuml;r jede gemahnte Rechnung in einer Mahnung:</a></h3>
1051
1052  <p>
1053   <table border="1">
1054    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
1055    <tr>
1056     <td><code>dn_amount</code></td>
1057     <td>Rechnungssumme (brutto)</td>
1058    </tr>
1059    <tr>
1060     <td><code>dn_duedate</code></td>
1061     <td>Originales F&auml;lligkeitsdatum der Rechnung</td>
1062    </tr>
1063    <tr>
1064     <td><code>dn_dunning_date</code></td>
1065     <td>Datum der Mahnung</td>
1066    </tr>
1067    <tr>
1068     <td><code>dn_dunning_duedate</code></td>
1069     <td>F&auml;lligkeitsdatum der Mahnung</td>
1070    </tr>
1071    <tr>
1072     <td><code>dn_fee</code></td>
1073     <td>Kummulative Mahngeb&uuml;hr</td>
1074    </tr>
1075    <tr>
1076     <td><code>dn_interest</code></td>
1077     <td>Zinsen per anno f&uuml;r diese Rechnung</td>
1078    </tr>
1079    <tr>
1080     <td><code>dn_invnumber</code></td>
1081     <td>Rechnungsnummer</td>
1082    </tr>
1083    <tr>
1084     <td><code>dn_linetotal</code></td>
1085     <td>Noch zu zahlender Betrag (ergibt sich aus <code>dn_open_amount + dn_fee + dn_interest</code>)</td>
1086    </tr>
1087    <tr>
1088     <td><code>dn_netamount</code></td>
1089     <td>Rechnungssumme (netto)</td>
1090    </tr>
1091    <tr>
1092     <td><code>dn_open_amount</code></td>
1093     <td>Offener Rechnungsbetrag</td>
1094    </tr>
1095    <tr>
1096     <td><code>dn_ordnumber</code></td>
1097     <td>Bestellnummer</td>
1098    </tr>
1099    <tr>
1100     <td><code>dn_transdate</code></td>
1101     <td>Rechnungsdatum</td>
1102    </tr>
1103   </table>
1104  </p>
1105
1106  <h3><a name="dunning_invoice">Variablen in automatisch erzeugten
1107    Rechnungen &uuml;ber Mahngeb&uuml;hren</a></h3>
1108
1109  <p>Die Variablen des Verk&auml;ufers stehen wie gewohnt
1110   als <code>employee_...</code> zur Verf&uuml;gung. Die Adressdaten des
1111   Kunden stehen als Variablen <code>name</code>, <code>street</code>,
1112   <code>zipcode</code>, <code>city</code>, <code>country</code>,
1113   <code>department_1</code>, <code>department_2</code>, und
1114   <code>email</code> zur Verf&uuml;gung.
1115  </p>
1116
1117  <p>Weitere Variablen beinhalten:</p>
1118
1119  <p>
1120   <table border="1">
1121    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
1122    <tr>
1123     <td><code>duedate</code></td>
1124     <td>F&auml;lligkeitsdatum der Rechnung</td>
1125    </tr>
1126    <tr>
1127     <td><code>dunning_id</code></td>
1128     <td>Mahnungsnummer</td>
1129    </tr>
1130    <tr>
1131     <td><code>fee</code></td>
1132     <td>Mahngeb&uuml;hren</td>
1133    </tr>
1134    <tr>
1135     <td><code>interest</code></td>
1136     <td>Zinsen</td>
1137    </tr>
1138    <tr>
1139     <td><code>invamount</code></td>
1140     <td>Rechnungssumme (ergibt sich aus <code>fee + interest</code>)</td>
1141    </tr>
1142    <tr>
1143     <td><code>invdate</code></td>
1144     <td>Rechnungsdatum</td>
1145    </tr>
1146    <tr>
1147     <td><code>invnumber</code></td>
1148     <td>Rechnungsnummer</td>
1149    </tr>
1150   </table>
1151  </p>
1152
1153  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
1154    zum Inhaltsverzeichnis</a></small><br>
1155  <hr>
1156
1157  <h2><a name="anderevorlagen">
1158    Variablen in anderen Vorlagen</a></h2>
1159
1160  <p>Die Variablen in anderen Vorlagen sind &auml;hnlich wie in der
1161   Rechnung. Allerdings hei&szlig;en die Variablen, die mit <code>inv</code>
1162   beginnen, jetzt anders. Bei den Angeboten fangen sie mit <code>quo</code>
1163   f&uuml;r "quotation" an: <code>quodate</code> f&uuml;r Angebotsdatum
1164   etc. Bei Bestellungen wiederum fangen sie mit <code>ord</code> f&uuml;r
1165   "order" an: <code>ordnumber</code> f&uuml;r Bestellnummer etc.</p>
1166
1167  <p>Manche Variablen sind in anderen Vorlagen hingegen gar nicht vorhanden wie
1168   z.B. die f&uuml;r bereits verbuchte Zahlungseing&auml;nge. Dies sind
1169   Variablen, die vom Gesch&auml;ftsablauf her in der entsprechenden Vorlage
1170   keine Bedeutung haben oder noch nicht belegt sein k&ouml;nnen.</p>
1171
1172  <p>Im Folgenden werden nur wichtige Unterschiede zu den Variablen in
1173   Rechnungen aufgef&uuml;hrt.</p>
1174
1175  <h3><a name="anderevorlagen_quotations">Angebote und Preisanfragen</a></h3>
1176
1177  <p>
1178   <table border="1">
1179    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
1180    <tr>
1181     <td><code>quonumber</code></td>
1182     <td>Angebots- bzw. Anfragenummer</td>
1183    </tr>
1184    <tr>
1185     <td><code>reqdate</code></td>
1186     <td>G&uuml;ltigkeitsdatum (bei Angeboten) bzw. Lieferdatum (bei Preisanfragen)</td>
1187    </tr>
1188    <tr>
1189     <td><code>transdate</code></td>
1190     <td>Angebots- bzw. Anfragedatum</td>
1191    </tr>
1192   </table>
1193  </p>
1194
1195  <h3><a name="anderevorlagen_orders">Auftragsbest&auml;tigungen und Lieferantenauftr&auml;ge</a></h3>
1196
1197  <p>
1198   <table border="1">
1199    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
1200    <tr>
1201     <td><code>ordnumber</code></td>
1202     <td>Auftragsnummer</td>
1203    </tr>
1204    <tr>
1205     <td><code>reqdate</code></td>
1206     <td>Lieferdatum</td>
1207    </tr>
1208    <tr>
1209     <td><code>transdate</code></td>
1210     <td>Auftragsdatum</td>
1211    </tr>
1212   </table>
1213  </p>
1214
1215  <h3><a name="anderevorlagen_delivery_orders">Lieferscheine (Verkauf und Einkauf)</a></h3>
1216
1217  <p>
1218   <table border="1">
1219    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
1220    <tr>
1221     <td><code>cusordnumber</code></td>
1222     <td>Bestellnummer des Kunden (im Verkauf) bzw. Bestellnummer des Lieferanten (im Einkauf)</td>
1223    </tr>
1224    <tr>
1225     <td><code>donumber</code></td>
1226     <td>Lieferscheinnummer</td>
1227    </tr>
1228    <tr>
1229     <td><code>transdate</code></td>
1230     <td>Lieferscheindatum</td>
1231    </tr>
1232   </table>
1233  </p>
1234
1235  <p>F&uuml;r jede Position eines Lieferscheines gibt es ein Unterarray mit
1236   den Informationen dar&uuml;ber, von welchem Lager und Lagerplatz aus die
1237   Waren verschickt wurden (Verkaufslieferscheine) bzw. auf welchen
1238   Lagerplatz sie eingelagert wurden. Diese m&uuml;ssen mittels
1239   einer <code>foreach</code>-Schleife ausgegeben werden. Diese
1240   Variablen sind:</p>
1241
1242  <p>
1243   <table border="1">
1244    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
1245    <tr>
1246     <td><code>si_bin</code></td>
1247     <td>Lagerplatz</td>
1248    </tr>
1249    <tr>
1250     <td><code>si_chargenumber</code></td>
1251     <td>Chargennummer</td>
1252    </tr>
1253    <tr>
1254     <td><code>si_bestbefore</code></td>
1255     <td>Mindesthaltbarkeit</td>
1256    </tr>
1257    <tr>
1258     <td><code>si_number</code></td>
1259     <td>Artikelnummer</td>
1260    </tr>
1261    <tr>
1262     <td><code>si_qty</code></td>
1263     <td>Anzahl bzw. Menge</td>
1264    </tr>
1265    <tr>
1266     <td><code>si_runningnumber</code></td>
1267     <td>Positionsnummer (1, 2, 3 etc)</td>
1268    </tr>
1269    <tr>
1270     <td><code>si_unit</code></td>
1271     <td>Einheit</td>
1272    </tr>
1273    <tr>
1274     <td><code>si_warehouse</code></td>
1275     <td>Lager</td>
1276    </tr>
1277   </table>
1278  </p>
1279
1280  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
1281    zum Inhaltsverzeichnis</a></small><br>
1282  <hr>
1283
1284  <h2><a name="bloecke">
1285    Bl&ouml;cke, bedingte Anweisungen und Schleifen</a></h2>
1286
1287  <p>Der Parser kennt neben den Variablen einige weitere Konstrukte,
1288   die gesondert behandelt werden. Diese sind wie Variablennamen in
1289   spezieller Weise markiert: <code>&lt;%anweisung%&gt;
1290   ... &lt;%end%&gt;</code></p>
1291
1292  <p>Anmerkung zum <code>&lt;%end%&gt;</code>: Der besseren
1293   Verständlichkeit halber kann man nach dem <code>end</code> noch
1294   beliebig weitere Wörter schreiben, um so zu markieren, welche
1295   Anweisung (z.B. <code>if</code> oder <code>foreach</code>) damit
1296   abgeschlossen wird.</p>
1297
1298  <p>Beispiel: Lautet der Beginn eines Blockes
1299    z.B. <code class="blue">&lt;%if type ==
1300    &quot;sales_quotation&quot;%&gt;</code>, so könnte er mit
1301   <code class="blue">&lt;%end%&gt;</code> genauso abgeschlossen werden
1302   wie mit
1303   <code class="blue">&lt;%end if%&gt;</code> oder auch
1304   <code class="blue">&lt;%end type ==
1305   &quot;sales_quotation&quot;%&gt;</code>.</p>
1306
1307  <h3><a name="bloecke_if">Der <code>if</code>-Block</a></h3>
1308
1309  <p class="blue"><code>&lt;%if variablenname%&gt;<br>
1310    ...<br>
1311    &lt;%end%&gt;</code></p>
1312
1313  <p>Eine normale &quot;if-then&quot;-Bedingung. Die Zeilen zwischen
1314   dem &quot;if&quot; und dem &quot;end&quot; werden nur ausgegeben,
1315   wenn die Variable &quot;variablenname&quot; gesetzt und ungleich 0
1316   ist.</p>
1317
1318  <p>Die Bedingung kann auch negiert werden, indem das Wort
1319   &quot;not&quot; nach dem &quot;if&quot; verwendet
1320   wird. Beispiel: <code class="blue">&lt;%if not
1321   cp_greeting%&gt;</code></p>
1322
1323  <p>Zusätzlich zu dem einfachen Test, ob eine Variable gesetzt ist
1324   oder nicht, bietet dieser Block auch die Möglichkeit, den Inhalt
1325   einer Variablen mit einer festen Zeichenkette oder einer anderen
1326   Variablen zu vergleichen. Ob der Vergleich mit einer Zeichenkette
1327   oder einer anderen Variablen vorgenommen wird, hängt davon ab, ob
1328   die rechte Seite des Vergleichsoperators in Anführungszeichen
1329   gesetzt wird (Vergleich mit Zeichenkette) oder nicht (Vergleich mit
1330   anderer Variablen). Zwei Beispiele, die beide Vergleiche zeigen:</p>
1331
1332  <p><code class="blue">&lt;%if var1 == &quot;Wert&quot;%&gt;</code>
1333   testet die Variable &quot;var1&quot; auf Übereinstimmung mit der
1334   Zeichenkette &quot;Wert&quot;. Mittels &quot;!=&quot; anstelle von
1335   &quot;==&quot; würde auf Ungleichheit getestet.</p>
1336
1337  <p><code class="blue">&lt;%if var1 == var2%&gt;</code> testet die
1338   Variable &quot;var1&quot; auf Übereinstimmung mit der Variablen
1339   &quot;var2&quot;. Mittels &quot;!=&quot; anstelle von &quot;==&quot;
1340   würde auf Ungleichheit getestet.</p>
1341
1342  <p>Erfahrere Benutzer können neben der Tests auf (Un-)Gleichheit auch
1343   Tests auf Übereinstimmung mit regulären Ausdrücken ohne
1344   Berücksichtung der Groß- und Kleinschreibung durchführen. Dazu dient
1345   dieselbe Syntax wie oben nur mit &quot;=~&quot; und &quot;!~&quot;
1346   als Vergleichsoperatoren.</p>
1347
1348  <p>Beispiel für einen Test, ob die Variable &quot;intnotes&quot;
1349   (interne Bemerkungen) das Wort &quot;schwierig&quot; enthält:
1350   <code class="blue">&lt;%if intnotes =~
1351   &quot;schwierig&quot;%&gt;</code></p>
1352
1353  <h3><a name="bloecke_foreach">Die <code>foreach</code>-Schleife</a></h3>
1354
1355  <p class="blue"><code>&lt;%foreach variablenname%&gt;<br>
1356    ...<br>
1357    &lt;%end%&gt;</code></p>
1358
1359  <p>F&uuml;gt die Zeilen zwischen den beiden Anweisungen so oft ein, wie das
1360   Perl-Array der Variablen "variablenname" Elemente enth&auml;t. Dieses
1361   Konstrukt wird zur Ausgabe der einzelnen Posten einer Rechnung / eines
1362   Angebots sowie zur Ausgabe der Steuern benutzt. In jedem Durchlauf werden
1363   die <a href="dokumentenvorlagen-und-variablen.html#invoice_posten">zeilenbezogenen
1364   Variablen</a> jeweils auf den Wert f&uuml;r die aktuelle Position
1365   gesetzt.</p>
1366
1367  <p>Die Syntax sieht normalerweise wie folgt aus:</p>
1368
1369  <p class="blue"><code>&lt;%foreach number%&gt;<br>
1370    Position: &lt;%runningnumber%&gt;<br>
1371    Anzahl: &lt;%qty%&gt;<br>
1372    Artikelnummer: &lt;%number%&gt;<br>
1373    Beschreibung: &lt;%description%&gt;<br>
1374    ...<br>
1375    &lt;%end%&gt;</code></p>
1376
1377  <p>Besonderheit in OpenDocument-Vorlagen: Tritt ein
1378   <code>&lt;%foreach%&gt;</code>-Block innerhalb einer Tabellenzelle
1379   auf, so wird die komplette Tabellenzeile so oft wiederholt wie
1380   notwendig. Tritt er au&szlig;erhalb auf, so wird nur der Inhalt
1381   zwischen <code>&lt;%foreach%&gt;</code> und <code>&lt;%end%&gt;</code>
1382   wiederholt, nicht aber die komplette Zeile, in der er steht.</p>
1383
1384  <h3><a name="bloecke_pagebreak">Der <code>pagebreak</code>-Block</a></h3>
1385
1386  <p class="blue"><code>&lt;%pagebreak ZpZ ZeS ZzS%&gt;<br>
1387    ...<br>
1388    &lt;%end%&gt;</code></p>
1389
1390  <p>Dieser Block existiert nur in LaTeX-Vorlagen.</p>
1391
1392  <p>Dieser Block legt das Verhalten beim manuellen Einf&uuml;gen eines
1393   Seitenumbruchs fest. Normalerweise bricht LaTeX die Seiten selber um. Beim
1394   Rechnungsdruck ist das oft nicht gew&uuml;nscht, oder man m&ouml;chte im
1395   Falle eines Seitenumbruchs den &Uuml;bertrag etc. mit ausgeben. Deswegen
1396   versucht der Parser, manuell Seitenumbr&uuml;che einzuf&uuml;gen,
1397   w&auml;hrend er einen <code>foreach</code>-Block auswertet, weil hier die
1398   manuellen Seitenumbr&uuml;che erforderlich werden. Daf&uuml;r ben&ouml;tigt
1399   der Parser aber drei Informationen:</p>
1400
1401  <p>
1402   <ol>
1403    <li>Wieviele Zeichen passen bei der Variablen "description" pro Posten
1404     in eine Zeile? Das ist der Parameter "ZpZ" (Zeichen pro Zeile).</li>
1405    <li>Wieviele Zeilen/Posten passen auf die erste Seite? Das
1406     ist der Parameter "ZeS" (Zeilen erste Seite).</li>
1407    <li>Wieviele Zeilen/Posten passen auf die zweite und alle nachfolgenden
1408     Seiten? Das ist der Parameter "ZzS" (Zeilen zweite Seite).</li>
1409   </ol>
1410  </p>
1411
1412  <p>Diese Parameter sind drei Zahlen, die manuell durch Verwendung von langen
1413   Warenbezeichnungen und Rechnungen mit vielen Posten bestimmt werden
1414   m&uuml;ssen.</p>
1415
1416  <p>&Uuml;blicherweise wird in diesem Block zuerst die aktuelle Tabelle
1417   geschlossen, eventuell Text eingef&uuml;gt (z.B. "Fortsetzung auf der
1418   n&auml;chsten Seite"), dann ein Seitenumbruch erzwungen, eventuell Text
1419   eingef&uuml;gt (z.B. "&Uuml;bertrag von der vorherigen Seite:
1420   &lt;%sumcarriedforward%&gt; EUR") und die Tabelle wieder ge&ouml;ffnet.</p>
1421
1422  <p>Wird kein manueller Seitenumbruch gew&uuml;scht, so kann dieser Block
1423   komplett entfallen.</p>
1424
1425  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
1426    zum Inhaltsverzeichnis</a></small><br>
1427  <hr>
1428
1429  <h2><a name="markup">
1430    Markup-Code, der innerhalb von Formularen zur Textformatierung
1431    verwendet werden kann</a></h2>
1432
1433  <p>Wenn der Benutzer innhalb von Formularen in Lx-Office Text anders
1434   formatiert haben m&ouml;chte, so ist dies begrenzt m&ouml;glich. Lx-Office
1435   unterst&uuml;tzt die Textformatierung mit HTML-&auml;hnlichen Tags. Der
1436   Benutzer kann z.B. bei der Artikelbeschreibung auf einer Rechnung Teile des
1437   Texts zwischen Start- und Endtags setzen. Dieser Teil wird dann automatisch
1438   in Anweisungen f&uuml;r das ausgew&auml;hlte Vorlagenformat (HTML oder
1439   PDF &uuml;ber LaTeX) umgesetzt.</p>
1440
1441  <p>Die unterst&uuml;tzen Formatierungen sind:</p>
1442
1443  <p>
1444   <table border="1">
1445    <tr><th>Formatierung</th><th>Auswirkung</th></tr>
1446    <tr>
1447     <td><code>&lt;b&gt;Text&lt;/b&gt;</code></td>
1448     <td>Text wird in <b>fettdruck</b> gesetzt.</td>
1449    </tr>
1450    <tr>
1451     <td><code>&lt;i&gt;Text&lt;/i&gt;</code></td>
1452     <td>Text wird <i>kursiv</i> gesetzt.</td>
1453    </tr>
1454    <tr>
1455     <td><code>&lt;u&gt;Text&lt;/u&gt;</code></td>
1456     <td>Text wird <u>unterstrichen</u>.</td>
1457    </tr>
1458    <tr>
1459     <td><code>&lt;s&gt;Text&lt;/s&gt;</code></td>
1460     <td>Text wird <s>durchgestrichen</s>. Diese Formatierung ist nicht bei der
1461      Ausgabe als PDF &uuml;ber LaTeX verf&uuml;gbar.</td>
1462    </tr>
1463    <tr>
1464     <td><code>&lt;pagebreak&gt;</code></td>
1465     <td>Erzwingt einen Seitenumbruch (siehe unten).</td>
1466    </tr>
1467   </table>
1468  </p>
1469
1470  <p>Eine Besonderheit ist der Befehl <code>&lt;pagebreak&gt;</code>,
1471   der nur in LaTeX-Vorlagen funktioniert und in anderen Vorlagen
1472   einfach gel&ouml;scht wird. Dieser erzwingt unabh&auml;ngig von der
1473   im <a
1474   href="dokumentenvorlagen-und-variablen.html#bloecke_pagebreak">pagebreak-Block</a>
1475   voreingestellten Werte einen Seitenumbruch nach der aktuellen
1476   Rechnungsposition. Dementsprechend funktioniert er nur innerhalb von
1477   <code>&lt;%foreach...%&gt;</code>-Schleifen. Weiterhin ben&ouml;tigt
1478   er kein Endtag.</p>
1479
1480  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
1481    zum Inhaltsverzeichnis</a></small><br>
1482  <hr>
1483
1484 </body>
1485 </html>