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