Beim Aufrufen der Masken für Dialogbuchen, Debitoren- und Kreditorenrechnungen wird...
[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#allgemeine_variablen">
52     Allgemeine Variablen, die in allen Vorlagen vorhanden sind</a><br>
53
54    <ol>
55     <li><a href="dokumentenvorlagen-und-variablen.html#allgemein_stammdaten">
56       Stammdaten von Kunden und Lieferanten</a></li>
57
58     <li><a href="dokumentenvorlagen-und-variablen.html#allgemein_verkaeufer">
59       Informationen &uuml;ber den Verk&auml;ufer</a></li>
60
61     <li><a href="dokumentenvorlagen-und-variablen.html#allgemein_steuern">
62       Variablen f&uuml;r jede Steuer</a></li>
63    </ol>
64   </li>
65
66   <li><a href="dokumentenvorlagen-und-variablen.html#invoice">
67     Variablen in Rechnungen</a>
68
69    <ol>
70     <li><a href="dokumentenvorlagen-und-variablen.html#invoice_allgemein">
71       Allgemeine Variablen</a></li>
72
73     <li><a href="dokumentenvorlagen-und-variablen.html#invoice_posten">
74       Variablen f&uuml;r jeden Posten auf der Rechnung</a></li>
75
76     <li><a href="dokumentenvorlagen-und-variablen.html#invoice_zahlungen">
77       Variablen f&uuml;r die Zahlungseing&auml;nge</a></li>
78    </ol>
79   </li>
80
81   <li><a href="dokumentenvorlagen-und-variablen.html#anderevorlagen">
82     Variablen in anderen Vorlagen</a></li>
83
84   <li><a href="dokumentenvorlagen-und-variablen.html#bloecke">
85     Bl&ouml;cke, bedingte Anweisungen und Schleifen</a>
86
87    <ol>
88     <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_ifnot">
89       Der <code>if not</code>-Block</a></li>
90
91     <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_if">
92       Der <code>if</code>-Block</a></li>
93
94     <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_foreach">
95       Die <code>foreach</code>-Schleife</a></li>
96
97     <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_pagebreak">
98       Der <code>pagebreak</code>-Block</a></li>
99    </ol>
100   </li>
101
102   <li><a href="dokumentenvorlagen-und-variablen.html#markup">
103     Markup-Code, der innerhalb von Formularen zur Textformatierung verwendet
104     werden kann</a></li>
105
106  </ol>
107
108  <hr>
109
110  <h2><a name="einfuehrung">Einf&uuml;hrung</a></h2>
111
112  <p>Dies ist eine Auflistung der Standard-Dokumentenvorlagen und aller
113   zur Bearbeitung verf&uuml;gbaren Variablen. Eine Variable wird in
114   einer Vorlage durch ihren Inhalt ersetzt, wenn sie in der Form
115   <code>&lt;%variablenname%&gt;</code> verwendet wird.</p>
116
117  <p>Fr&uuml;her wurde hier nur &uuml;ber LaTeX gesprochen. Inzwischen
118   unterst&uuml;tzt Lx-Office aber auch OpenDocument-Vorlagen. Sofern
119   es nicht ausdr&uuml;cklich eingeschr&auml;nkt wird, gilt das im
120   Folgenden gesagte f&uuml;r alle Vorlagenarten.</p>
121
122  <p>Insgesamt sind technisch gesehen eine ganze Menge mehr Variablen
123   verf&uuml;gbar als hier aufgelistet werden. Die meisten davon k&ouml;nnen
124   allerdings innerhalb einer solchen Vorlage nicht sinnvoll verwendet
125   werden. Wenn eine Auflistung dieser Variablen gewollt ist, so kann diese wie
126   folgt erhalten werden:</p>
127
128  <ol>
129
130   <li><code>SL/Form.pm</code> &ouml;ffnen und am Anfang die Zeile
131    <pre>"use Data::Dumper;"</pre> einf&uuml;gen.</li>
132
133   <li>In <code>Form.pm</code> die Funktion <code>parse_template</code>
134    suchen und hier die Zeile <pre>print(STDERR Dumper($self));</pre>
135    einf&uuml;gen.</li>
136
137   <li>Einmal per Browser die gew&uuml;nschte Vorlage "benutzen", z.B. ein PDF
138    f&uuml;r eine Rechnung erzeugen.</li>
139
140   <li>Im <code>error.log</code> vom Apache steht die Ausgabe der Variablen
141    <code>$self</code> in der Form <code>'key' =&gt; 'value',</code>. Alle
142    <code>key</code>s sind verf&uuml;gbar.</li>
143
144  </ol>
145
146  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
147    zum Inhaltsverzeichnis</a></small><br>
148  <hr>
149
150  <h2><a name="zuordnung_dateinamen">
151    Zuordnung von den Dateinamen zu den Funktionen</a></h2>
152
153  <p>Diese folgende kurze Auflistung zeigt, welche Vorlage bei welcher
154   Funktion ausgelesen wird. Dabei ist die Dateiendung &quot;.ext&quot;
155   geeignet zu ersetzen: &quot;.tex&quot; f&uuml; LaTeX-Vorlagen und
156   &quot;.odt&quot; f&uuml;r OpenDocument-Vorlagen.</p>
157
158  <ul>
159   <li><code>bin_list.ext</code> -- Lagerliste</li>
160   <li><code>check.ext</code> -- ?</li>
161   <li><code>invoice.ext</code> -- Rechnung</li>
162   <li><code>packing_list.ext</code> -- Verpackungsliste</li>
163   <li><code>pick_list.ext</code> -- Sammelliste</li>
164   <li><code>purcharse_order.ext</code> -- Bestellung an Lieferanten</li>
165   <li><code>request_quotation.ext</code> -- Anfrage an Lieferanten</li>
166   <li><code>sales_order.ext</code> -- Bestellung</li>
167   <li><code>sales_quotation.ext</code> -- Angebot an Kunden</li>
168  </ul>
169
170  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
171    zum Inhaltsverzeichnis</a></small><br>
172  <hr>
173
174  <h2><a name="allgemeine_variablen">
175    Allgemeine Variablen, die in allen Vorlagen vorhanden sind</a></h2>
176
177  <h3><a name="allgemein_stammdaten">
178    Stammdaten von Kunden und Lieferanten:</a></h3>
179
180  <p>
181   <table border="1">
182    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
183    <tr>
184     <td><code>account_number</code></td>
185     <td>Kontonummer</td>
186    </tr>
187    <tr>
188     <td><code>bank</code></td>
189     <td>Name der Bank</td>
190    </tr>
191    <tr>
192     <td><code>bank_code</code></td>
193     <td>Bankleitzahl</td>
194    </tr>
195    <tr>
196     <td><code>business</code></td>
197     <td>Kundentyp</td>
198    </tr>
199    <tr>
200     <td><code>city</code></td>
201     <td>Stadt</td>
202    </tr>
203    <tr>
204     <td><code>contact</code></td>
205     <td>Kontakt</td>
206    </tr>
207    <tr>
208     <td><code>country</code></td>
209     <td>Land</td>
210    </tr>
211    <tr>
212     <td><code>cp_email</code></td>
213     <td>Email des Ansprechpartners</td>
214    </tr>
215    <tr>
216     <td><code>cp_givenname</code></td>
217     <td>Vorname des Ansprechpartners</td>
218    </tr>
219    <tr>
220     <td><code>cp_greeting</code></td>
221     <td>Anrede des Ansprechpartners</td>
222    </tr>
223    <tr>
224     <td><code>cp_name</code></td>
225     <td>Name des Ansprechpartners</td>
226    </tr>
227    <tr>
228     <td><code>cp_phone1</code></td>
229     <td>Telefonnummer 1 des Ansprechpartners</td>
230    </tr>
231    <tr>
232     <td><code>cp_phone2</code></td>
233     <td>Telefonnummer 2 des Ansprechpartners</td>
234    </tr>
235    <tr>
236     <td><code>cp_title</code></td>
237     <td>Titel des Ansprechpartners</td>
238    </tr>
239    <tr>
240     <td><code>creditlimit</code></td>
241     <td>Kreditlimit</td>
242    </tr>
243    <tr>
244     <td><code>customernumber</code></td>
245     <td>Kundennummer; nur f&uuml;r Kunden</td>
246    </tr>
247    <tr>
248     <td><code>customernotes</code></td>
249     <td>Bemerkungen beim Kunden; nur f&uuml;r Kunden</td>
250    </tr>
251    <tr>
252     <td><code>discount</code></td>
253     <td>Rabatt</td>
254    </tr>
255    <tr>
256     <td><code>email</code></td>
257     <td>Emailadresse</td>
258    </tr>
259    <tr>
260     <td><code>fax</code></td>
261     <td>Faxnummer</td>
262    </tr>
263    <tr>
264     <td><code>homepage</code></td>
265     <td>Homepage</td>
266    </tr>
267    <tr>
268     <td><code>language</code></td>
269     <td>Sprache</td>
270    </tr>
271    <tr>
272     <td><code>name</code></td>
273     <td>Firmenname</td>
274    </tr>
275    <tr>
276     <td><code>payment_terms</code></td>
277     <td>Zahlungskonditionen</td>
278    </tr>
279    <tr>
280     <td><code>phone</code></td>
281     <td>Telefonnummer</td>
282    </tr>
283    <tr>
284     <td><code>shiptocity</code></td>
285     <td>Stadt (Lieferadresse)
286      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
287    </tr>
288    <tr>
289     <td><code>shiptocontact</code></td>
290     <td>Kontakt (Lieferadresse)
291      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
292    </tr>
293    <tr>
294     <td><code>shiptocountry</code></td>
295     <td>Land (Lieferadresse)
296      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
297    </tr>
298    <tr>
299     <td><code>shiptodepartment1</code></td>
300     <td>Abteilung 1 (Lieferadresse)
301      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
302    </tr>
303    <tr>
304     <td><code>shiptodepartment2</code></td>
305     <td>Abteilung 2 (Lieferadresse)
306      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
307    </tr>
308    <tr>
309     <td><code>shiptoemail</code></td>
310     <td>Email (Lieferadresse)
311      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
312    </tr>
313    <tr>
314     <td><code>shiptofax</code></td>
315     <td>Fax (Lieferadresse)
316      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
317    </tr>
318    <tr>
319     <td><code>shiptoname</code></td>
320     <td>Firmenname (Lieferadresse)
321      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
322    </tr>
323    <tr>
324     <td><code>shiptophone</code></td>
325     <td>Telefonnummer (Lieferadresse)
326      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
327    </tr>
328    <tr>
329     <td><code>shiptostreet</code></td>
330     <td>Straße und Hausnummer (Lieferadresse)
331      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
332    </tr>
333    <tr>
334     <td><code>shiptozipcode</code></td>
335     <td>Postleitzahl (Lieferadresse)
336      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
337    </tr>
338    <tr>
339     <td><code>street</code></td>
340     <td>Straße und Hausnummer</td>
341    </tr>
342    <tr>
343     <td><code>taxnumber</code></td>
344     <td>Steuernummer</td>
345    </tr>
346    <tr>
347     <td><code>vendoremail</code></td>
348     <td>Email des Lieferanten; nur f&uuml;r Lieferanten</td>
349    </tr>
350    <tr>
351     <td><code>vendorfax</code></td>
352     <td>Faxnummer des Lieferanten; nur f&uuml;r Lieferanten</td>
353    </tr>
354    <tr>
355     <td><code>vendornotes</code></td>
356     <td>Bemerkungen beim Lieferanten; nur f&uuml;r Lieferanten</td>
357    </tr>
358    <tr>
359     <td><code>vendornumber</code></td>
360     <td>Lieferantennummer; nur f&uuml;r Lieferanten</td>
361    </tr>
362    <tr>
363     <td><code>vendorphone</code></td>
364     <td>Telefonnummer des Lieferanten; nur f&uuml;r Lieferanten</td>
365    </tr>
366    <tr>
367     <td><code>zipcode</code></td>
368     <td>Postleitzahl</td>
369    </tr>
370   </table>
371  </p>
372
373  <p><a name="anmerkung_shipto"><em>Anmerkung</em></a>: Sind die
374   <code>shipto*</code>-Felder in den Stammdaten nicht eingetragen, so haben
375   die Variablen <code>shipto*</code> den gleichen Wert wie die die
376   entsprechenden Variablen der Lieferdaten. Das bedeutet, dass sich einige
377   <code>shipto*</code>-Variablen so nicht in den Stammdaten wiederfinden
378   sondern schlicht Kopien der Lieferdatenvariablen sind
379   (z.B. <code>shiptocontact</code>).</p>
380
381  <h3><a name="allgemein_verkaeufer">
382    Informationen &uuml;ber den Verkäufer:</a></h3>
383
384  <p>
385   <table border="1">
386    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
387    <tr>
388     <td><code>employee_address</code></td>
389     <td>Adressfeld</td>
390    </tr>
391    <tr>
392     <td><code>employee_businessnumber</code></td>
393     <td>Firmennummer</td>
394    </tr>
395    <tr>
396     <td><code>employee_company</code></td>
397     <td>Firmenname</td>
398    </tr>
399    <tr>
400     <td><code>employee_co_ustid</code></td>
401     <td>Usatzsteuer-Identifikationsnummer</td>
402    </tr>
403    <tr>
404     <td><code>employee_duns</code></td>
405     <td>DUNS-Nummer</td>
406    </tr>
407    <tr>
408     <td><code>employee_email</code></td>
409     <td>Email</td>
410    </tr>
411    <tr>
412     <td><code>employee_fax</code></td>
413     <td>Fax</td>
414    </tr>
415    <tr>
416     <td><code>employee_name</code></td>
417     <td>voller Name</td>
418    </tr>
419    <tr>
420     <td><code>employee_signature</code></td>
421     <td>Signatur</td>
422    </tr>
423    <tr>
424     <td><code>employee_taxnumber</code></td>
425     <td>Steuernummer</td>
426    </tr>
427    <tr>
428     <td><code>employee_tel</code></td>
429     <td>Telefonnummer</td>
430    </tr>
431   </table>
432  </p>
433
434  <h3><a name="allgemein_steuern">
435    Variablen f&uuml;r die einzelnen Steuern:</a></h3>
436
437  <p>
438   <table border="1">
439    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
440    <tr>
441     <td><code>tax</code></td>
442     <td>Steuer</td>
443    </tr>
444    <tr>
445     <td><code>taxbase</code></td>
446     <td>zu versteuernder Betrag</td>
447    </tr>
448    <tr>
449     <td><code>taxdescription</code></td>
450     <td>Name der Steuer</td>
451    </tr>
452    <tr>
453     <td><code>taxrate</code></td>
454     <td>Steuersatz</td>
455    </tr>
456   </table>
457  </p>
458
459  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
460    zum Inhaltsverzeichnis</a></small><br>
461  <hr>
462
463  <h2><a name="invoice">Variablen in Rechnungen</a></h2>
464
465  <h3><a name="invoice_allgemein">Allgemeine Variablen:</a></h3>
466
467  <p>
468   <table border="1">
469    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
470    <tr>
471     <td><code>creditremaining</code></td>
472     <td>Verbleibender Kredit</td>
473    </tr>
474    <tr>
475     <td><code>currency</code></td>
476     <td>Währung</td>
477    </tr>
478    <tr>
479     <td><code>cusordnumber</code></td>
480     <td>Bestellnummer beim Kunden</td>
481    </tr>
482    <tr>
483     <td><code>deliverydate</code></td>
484     <td>Lieferdatum</td>
485    </tr>
486    <tr>
487     <td><code>duedate</code></td>
488     <td>Fälligkeitsdatum</td>
489    </tr>
490    <tr>
491     <td><code>intnotes</code></td>
492     <td>Interne Bemerkungen</td>
493    </tr>
494    <tr>
495     <td><code>invdate</code></td>
496     <td>Rechnungsdatum</td>
497    </tr>
498    <tr>
499     <td><code>invnumber</code></td>
500     <td>Rechnungsnummer</td>
501    </tr>
502    <tr>
503     <td><code>invtotal</code></td>
504     <td>gesamter Rechnungsbetrag</td>
505    </tr>
506    <tr>
507     <td><code>notes</code></td>
508     <td>Bemerkungen der Rechnung</td>
509    </tr>
510    <tr>
511     <td><code>ordnumber</code></td>
512     <td>Auftragsnummer, wenn die Rechnung aus einem Auftrag erstellt wurde</td>
513    </tr>
514    <tr>
515     <td><code>payment_terms</code></td>
516     <td>Zahlungskonditionen</td>
517    </tr>
518    <tr>
519     <td><code>quonumber</code></td>
520     <td>Angebotsnummer</td>
521    </tr>
522    <tr>
523     <td><code>shippingpoint</code></td>
524     <td>Versandort</td>
525    </tr>
526    <tr>
527     <td><code>shipvia</code></td>
528     <td>Transportmittel</td>
529    </tr>
530    <tr>
531     <td><code>subtotal</code></td>
532     <td>Zwischensumme aller Posten ohne Steuern</td>
533    </tr>
534    <tr>
535     <td><code>sumcarriedforward</code></td>
536     <td>Zwischensumme aller bisher ausgegebenen Posten. Sollte nur in einem
537      <a href="dokumentenvorlagen-und-variablen.html#bloecke_pagebreak">
538       <code>pagebreak</code></a>-Block verwendet werden.</td>
539    </tr>
540    <tr>
541     <td><code>total</code></td>
542     <td>Restsumme der Rechnung (Summe abz&uuml;glich bereits bezahlter Posten)</td>
543    </tr>
544    <tr>
545     <td><code>transdate</code></td>
546     <td>Auftragsdatum wenn die Rechnung aus einem Auftrag erstellt wurde</td>
547    </tr>
548   </table>
549  </p>
550
551  <h3><a name="invoice_posten">
552    Variablen f&uuml;r jeden Posten auf der Rechnung:</a></h3>
553
554  <p>
555   <table border="1">
556    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
557    <tr>
558     <td><code>assembly</code></td>
559     <td>Erzeugnis</td>
560    </tr>
561    <tr>
562     <td><code>bin</code></td>
563     <td>Stellage</td>
564    </tr>
565    <tr>
566     <td><code>deliverydate_oe</code></td>
567     <td>Lieferdatum</td>
568    </tr>
569    <tr>
570     <td><code>description</code></td>
571     <td>Artikelbeschreibung</td>
572    </tr>
573    <tr>
574     <td><code>discount</code></td>
575     <td>Rabatt als Betrag</td>
576    </tr>
577    <tr>
578     <td><code>linetotal</code></td>
579     <td>Zeilensumme (Anzahl * Einzelpreis)</td>
580    </tr>
581    <tr>
582     <td><code>listprice</code></td>
583     <td>Listenpreis</td>
584    </tr>
585    <tr>
586     <td><code>netprice</code></td>
587     <td>Nettopreis</td>
588    </tr>
589    <tr>
590     <td><code>number</code></td>
591     <td>Artikelnummer</td>
592    </tr>
593    <tr>
594     <td><code>ordnumber_oe</code></td>
595     <td>Auftragsnummer des Originalauftrags, wenn die Rechnung aus einem Sammelauftrag erstellt wurde</td>
596    </tr>
597    <tr>
598    <td><code>p_discount</code></td>
599     <td>Rabatt in Prozent</td>
600    </tr>
601    <tr>
602     <td><code>partnotes</code></td>
603     <td>Die beim Artikel gespeicherten Bemerkungen</td>
604    </tr>
605    <tr>
606     <td><code>partsgroup</code></td>
607     <td>Warengruppe</td>
608    </tr>
609    <tr>
610     <td><code>projectnumber</code></td>
611     <td>Projektnummer</td>
612    </tr>
613    <tr>
614     <td><code>qty</code></td>
615     <td>Anzahl</td>
616    </tr>
617    <tr>
618     <td><code>runningnumber</code></td>
619     <td>Position auf der Rechnung (1, 2, 3...)</td>
620    </tr>
621    <tr>
622     <td><code>sellprice</code></td>
623     <td>Verkaufspreis</td>
624    </tr>
625    <tr>
626     <td><code>serialnumber</code></td>
627     <td>Seriennummer</td>
628    </tr>
629    <tr>
630     <td><code>transdate_oe</code></td>
631     <td>Auftragsdatum des Originalauftrags, wenn die Rechnung aus einem Sammelauftrag erstellt wurde</td>
632    </tr>
633    <tr>
634     <td><code>unit</code></td>
635     <td>Einheit</td>
636    </tr>
637   </table>
638  </p>
639
640  <h3><a name="invoice_zahlungen">
641    Variablen f&uuml;r die einzelnen Zahlungseingänge:</a></h3>
642
643  <p>
644   <table border="1">
645    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
646    <tr>
647     <td><code>datepaid</code></td>
648     <td>Datum</td>
649    </tr>
650    <tr>
651     <td><code>memo</code></td>
652     <td>Memo</td>
653    </tr>
654    <tr>
655     <td><code>paid</code></td>
656     <td>Betrag</td>
657    </tr>
658    <tr>
659     <td><code>source</code></td>
660     <td>Beleg</td>
661    </tr>
662    <tr>
663     <td><code>exchangerate</code></td>
664     <td>Wechselkurs</td>
665    </tr>
666    <tr>
667     <td><code>forex</code></td>
668     <td>Konto</td>
669    </tr>
670   </table>
671  </p>
672
673  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
674    zum Inhaltsverzeichnis</a></small><br>
675  <hr>
676
677  <h2><a name="anderevorlagen">
678    Variablen in anderen Vorlagen</a></h2>
679
680  <p>Die Variablen in anderen Vorlagen sind &auml;hnlich wie in der
681   Rechnung. Allerdings hei&szlig;en die Variablen, die mit <code>inv</code>
682   beginnen, jetzt anders. Bei den Angeboten fangen sie mit <code>quo</code>
683   f&uuml;r "quotation" an: <code>quodate</code> f&uuml;r Angebotsdatum
684   etc. Bei Bestellungen wiederum fangen sie mit <code>ord</code> f&uuml;r
685   "order" an: <code>ordnumber</code> f&uuml;r Bestellnummer etc.</p>
686
687  <p>Manche Variablen sind in anderen Vorlagen hingegen gar nicht vorhanden wie
688   z.B. die f&uuml;r bereits verbuchte Zahlungseing&auml;nge. Dies sind
689   Variablen, die vom Gesch&auml;ftsablauf her in der entsprechenden Vorlage
690   keine Bedeutung haben oder noch nicht belegt sein k&ouml;nnen.</p>
691
692  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
693    zum Inhaltsverzeichnis</a></small><br>
694  <hr>
695
696  <h2><a name="bloecke">
697    Bl&ouml;cke, bedingte Anweisungen und Schleifen</a></h2>
698
699  <p>Der Parser kennt neben den Variablen einige weitere Konstrukte, die
700   gesondert behandelt werden. Diese sind wie Variablennamen in spezieller
701   Weise markiert: <code>&lt;%anweisung%&gt;</code></p>
702
703  <h3><a name="bloecke_ifnot">Der <code>if not</code>-Block</a></h3>
704
705  <p class="blue"><code>&lt;%if not variablenname%&gt;<br>
706    ...<br>
707    &lt;%end&gt;</code></p>
708
709  <p>Eine normale "if-not-then"-Bedingung. Die Zeilen zwischen dem "if not" und
710   dem "end" werden nur ausgegeben, wenn die Variable "variablenname" nicht
711   gesetzt oder gleich 0 ist.</p>
712
713  <h3><a name="bloecke_if">Der <code>if</code>-Block</a></h3>
714
715  <p class="blue"><code>&lt;%if variablenname%&gt;<br>
716    ...<br>
717    &lt;%end&gt;</code></p>
718
719  <p>Eine normale "if-then"-Bedingung. Die Zeilen zwischen dem "if" und dem
720   "end" werden nur ausgegeben, wenn die Variable "variablenname" gesetzt und
721   ungleich 0 ist.</p>
722
723  <h3><a name="bloecke_foreach">Die <code>foreach</code>-Schleife</a></h3>
724
725  <p class="blue"><code>&lt;%foreach variablenname%&gt;<br>
726    ...<br>
727    &lt;%end&gt;</code></p>
728
729  <p>F&uuml;gt die Zeilen zwischen den beiden Anweisungen so oft ein, wie das
730   Perl-Array der Variablen "variablenname" Elemente enth&auml;t. Dieses
731   Konstrukt wird zur Ausgabe der einzelnen Posten einer Rechnung / eines
732   Angebots sowie zur Ausgabe der Steuern benutzt. In jedem Durchlauf werden
733   die <a href="dokumentenvorlagen-und-variablen.html#invoice_posten">zeilenbezogenen
734   Variablen</a> jeweils auf den Wert f&uuml;r die aktuelle Position
735   gesetzt.</p>
736
737  <p>Die Syntax sieht normalerweise wie folgt aus:</p>
738
739  <p class="blue"><code>&lt;%foreach number%&gt;<br>
740    Position: &lt;%runningnumber%&gt;<br>
741    Anzahl: &lt;%qty%&gt;<br>
742    Artikelnummer: &lt;%number%&gt;<br>
743    Beschreibung: &lt;%description%&gt;<br>
744    ...<br>
745    &lt;%end&gt;</code></p>
746
747  <p>Besonderheit in OpenDocument-Vorlagen: Tritt ein
748   <code>&lt;foreach&gt;</code>-Block innerhalb einer Tabellenzelle
749   auf, so wird die komplette Tabellenzeile so oft wiederholt wie
750   notwendig. Tritt er au&szlig;erhalb auf, so wird nur der Inhalt
751   zwischen <code>&lt;foreach&gt;</code> und <code>&lt;end&gt;</code>
752   wiederholt, nicht aber die komplette Zeile, in der er steht.</p>
753
754  <h3><a name="bloecke_pagebreak">Der <code>pagebreak</code>-Block</a></h3>
755
756  <p class="blue"><code>&lt;%pagebreak ZpZ ZeS ZzS%&gt;<br>
757    ...<br>
758    &lt;%end&gt;</code></p>
759
760  <p>Dieser Block existiert nur in LaTeX-Vorlagen.</p>
761
762  <p>Dieser Block legt das Verhalten beim manuellen Einf&uuml;gen eines
763   Seitenumbruchs fest. Normalerweise bricht LaTeX die Seiten selber um. Beim
764   Rechnungsdruck ist das oft nicht gew&uuml;nscht, oder man m&ouml;chte im
765   Falle eines Seitenumbruchs den &Uuml;bertrag etc. mit ausgeben. Deswegen
766   versucht der Parser, manuell Seitenumbr&uuml;che einzuf&uuml;gen,
767   w&auml;hrend er einen <code>foreach</code>-Block auswertet, weil hier die
768   manuellen Seitenumbr&uuml;che erforderlich werden. Daf&uuml;r ben&ouml;tigt
769   der Parser aber drei Informationen:</p>
770
771  <p>
772   <ol>
773    <li>Wieviele Zeichen passen bei der Variablen "description" pro Posten
774     in eine Zeile? Das ist der Parameter "ZpZ" (Zeichen pro Zeile).</li>
775    <li>Wieviele Zeilen/Posten passen auf die erste Seite? Das
776     ist der Parameter "ZeS" (Zeilen erste Seite).</li>
777    <li>Wieviele Zeilen/Posten passen auf die zweite und alle nachfolgenden
778     Seiten? Das ist der Parameter "ZzS" (Zeilen zweite Seite).</li>
779   </ol>
780  </p>
781
782  <p>Diese Parameter sind drei Zahlen, die manuell durch Verwendung von langen
783   Warenbezeichnungen und Rechnungen mit vielen Posten bestimmt werden
784   m&uuml;ssen.</p>
785
786  <p>&Uuml;blicherweise wird in diesem Block zuerst die aktuelle Tabelle
787   geschlossen, eventuell Text eingef&uuml;gt (z.B. "Fortsetzung auf der
788   n&auml;chsten Seite"), dann ein Seitenumbruch erzwungen, eventuell Text
789   eingef&uuml;gt (z.B. "&Uuml;bertrag von der vorherigen Seite:
790   &lt;%sumcarriedforward%&gt; EUR") und die Tabelle wieder ge&ouml;ffnet.</p>
791
792  <p>Wird kein manueller Seitenumbruch gew&uuml;scht, so kann dieser Block
793   komplett entfallen.</p>
794
795  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
796    zum Inhaltsverzeichnis</a></small><br>
797  <hr>
798
799  <h2><a name="markup">
800    Markup-Code, der innerhalb von Formularen zur Textformatierung
801    verwendet werden kann</a></h2>
802
803  <p>Wenn der Benutzer innhalb von Formularen in Lx-Office Text anders
804   formatiert haben m&ouml;chte, so ist dies begrenzt m&ouml;glich. Lx-Office
805   unterst&uuml;tzt die Textformatierung mit HTML-&auml;hnlichen Tags. Der
806   Benutzer kann z.B. bei der Artikelbeschreibung auf einer Rechnung Teile des
807   Texts zwischen Start- und Endtags setzen. Dieser Teil wird dann automatisch
808   in Anweisungen f&uuml;r das ausgew&auml;hlte Vorlagenformat (HTML oder
809   PDF &uuml;ber LaTeX) umgesetzt.</p>
810
811  <p>Die unterst&uuml;tzen Formatierungen sind:</p>
812
813  <p>
814   <table border="1">
815    <tr><th>Formatierung</th><th>Auswirkung</th></tr>
816    <tr>
817     <td><code>&lt;b&gt;Text&lt;/b&gt;</code></td>
818     <td>Text wird in <b>fettdruck</b> gesetzt.</td>
819    </tr>
820    <tr>
821     <td><code>&lt;i&gt;Text&lt;/i&gt;</code></td>
822     <td>Text wird <i>kursiv</i> gesetzt.</td>
823    </tr>
824    <tr>
825     <td><code>&lt;u&gt;Text&lt;/u&gt;</code></td>
826     <td>Text wird <u>unterstrichen</u>.</td>
827    </tr>
828    <tr>
829     <td><code>&lt;s&gt;Text&lt;/s&gt;</code></td>
830     <td>Text wird <s>durchgestrichen</s>. Diese Formatierung ist nicht bei der
831      Ausgabe als PDF &uuml;ber LaTeX verf&uuml;gbar.</td>
832    </tr>
833    <tr>
834     <td><code>&lt;pagebreak&gt;</code></td>
835     <td>Erzwingt einen Seitenumbruch (siehe unten).</td>
836    </tr>
837   </table>
838  </p>
839
840  <p>Eine Besonderheit ist der Befehl <code>&lt;pagebreak&gt;</code>,
841   der nur in LaTeX-Vorlagen funktioniert und in anderen Vorlagen
842   einfach gel&ouml;scht wird. Dieser erzwingt unabh&auml;ngig von der
843   im <a
844   href="dokumentenvorlagen-und-variablen.html#bloecke_pagebreak">pagebreak-Block</a>
845   voreingestellten Werte einen Seitenumbruch nach der aktuellen
846   Rechnungsposition. Dementsprechend funktioniert er nur innerhalb von
847   <code>&lt;foreach...&gt;</code>-Schleifen. Weiterhin ben&ouml;tigt er kein
848   Endtag.</p>
849
850  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
851    zum Inhaltsverzeichnis</a></small><br>
852  <hr>
853
854 </body>
855 </html>