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