Bloeder Bug: eine zu gefräßige INSERT legt zu allen Konten taxkeys an, was aber nicht...
[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_bearbeiter">
59       Informationen &uuml;ber den Bearbeiter</a></li>
60
61     <li><a href="dokumentenvorlagen-und-variablen.html#allgemein_verkaeufer">
62       Informationen &uuml;ber den Verk&auml;ufer</a></li>
63
64     <li><a href="dokumentenvorlagen-und-variablen.html#allgemein_steuern">
65       Variablen f&uuml;r jede Steuer</a></li>
66    </ol>
67   </li>
68
69   <li><a href="dokumentenvorlagen-und-variablen.html#invoice">
70     Variablen in Rechnungen</a>
71
72    <ol>
73     <li><a href="dokumentenvorlagen-und-variablen.html#invoice_allgemein">
74       Allgemeine Variablen</a></li>
75
76     <li><a href="dokumentenvorlagen-und-variablen.html#invoice_posten">
77       Variablen f&uuml;r jeden Posten auf der Rechnung</a></li>
78
79     <li><a href="dokumentenvorlagen-und-variablen.html#invoice_zahlungen">
80       Variablen f&uuml;r die Zahlungseing&auml;nge</a></li>
81    </ol>
82   </li>
83
84   <li><a href="dokumentenvorlagen-und-variablen.html#dunning">
85     Variablen in Mahnungen und Rechnungen &uuml;ber Mahngeb&uuml;hren</a>
86
87    <ol>
88     <li><a href="dokumentenvorlagen-und-variablen.html#dunning_vorlagennamen">
89       Namen der Vorlagen</a></li>
90
91     <li><a href="dokumentenvorlagen-und-variablen.html#dunning_allgemein">
92       Allgemeine Variablen in Mahnungen</a></li>
93
94     <li><a href="dokumentenvorlagen-und-variablen.html#dunning_details">
95       Variablen f&uuml;r jede gemahnte Rechnung in einer Mahnung</a></li>
96
97     <li><a href="dokumentenvorlagen-und-variablen.html#dunning_invoice">
98       Variablen in automatisch erzeugten Rechnungen &uuml;ber Mahngeb&uuml;hren</a></li>
99    </ol>
100   </li>
101
102   <li><a href="dokumentenvorlagen-und-variablen.html#anderevorlagen">
103     Variablen in anderen Vorlagen</a></li>
104
105   <li><a href="dokumentenvorlagen-und-variablen.html#bloecke">
106     Bl&ouml;cke, bedingte Anweisungen und Schleifen</a>
107
108    <ol>
109     <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_ifnot">
110       Der <code>if not</code>-Block</a></li>
111
112     <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_if">
113       Der <code>if</code>-Block</a></li>
114
115     <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_foreach">
116       Die <code>foreach</code>-Schleife</a></li>
117
118     <li><a href="dokumentenvorlagen-und-variablen.html#bloecke_pagebreak">
119       Der <code>pagebreak</code>-Block</a></li>
120    </ol>
121   </li>
122
123   <li><a href="dokumentenvorlagen-und-variablen.html#markup">
124     Markup-Code, der innerhalb von Formularen zur Textformatierung verwendet
125     werden kann</a></li>
126
127  </ol>
128
129  <hr>
130
131  <h2><a name="einfuehrung">Einf&uuml;hrung</a></h2>
132
133  <p>Dies ist eine Auflistung der Standard-Dokumentenvorlagen und aller
134   zur Bearbeitung verf&uuml;gbaren Variablen. Eine Variable wird in
135   einer Vorlage durch ihren Inhalt ersetzt, wenn sie in der Form
136   <code>&lt;%variablenname%&gt;</code> verwendet wird.</p>
137
138  <p>Fr&uuml;her wurde hier nur &uuml;ber LaTeX gesprochen. Inzwischen
139   unterst&uuml;tzt Lx-Office aber auch OpenDocument-Vorlagen. Sofern
140   es nicht ausdr&uuml;cklich eingeschr&auml;nkt wird, gilt das im
141   Folgenden gesagte f&uuml;r alle Vorlagenarten.</p>
142
143  <p>Insgesamt sind technisch gesehen eine ganze Menge mehr Variablen
144   verf&uuml;gbar als hier aufgelistet werden. Die meisten davon k&ouml;nnen
145   allerdings innerhalb einer solchen Vorlage nicht sinnvoll verwendet
146   werden. Wenn eine Auflistung dieser Variablen gewollt ist, so kann diese wie
147   folgt erhalten werden:</p>
148
149  <ol>
150
151   <li><code>SL/Form.pm</code> &ouml;ffnen und am Anfang die Zeile
152    <pre>"use Data::Dumper;"</pre> einf&uuml;gen.</li>
153
154   <li>In <code>Form.pm</code> die Funktion <code>parse_template</code>
155    suchen und hier die Zeile <pre>print(STDERR Dumper($self));</pre>
156    einf&uuml;gen.</li>
157
158   <li>Einmal per Browser die gew&uuml;nschte Vorlage "benutzen", z.B. ein PDF
159    f&uuml;r eine Rechnung erzeugen.</li>
160
161   <li>Im <code>error.log</code> vom Apache steht die Ausgabe der Variablen
162    <code>$self</code> in der Form <code>'key' =&gt; 'value',</code>. Alle
163    <code>key</code>s sind verf&uuml;gbar.</li>
164
165  </ol>
166
167  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
168    zum Inhaltsverzeichnis</a></small><br>
169  <hr>
170
171  <h2><a name="zuordnung_dateinamen">
172    Zuordnung von den Dateinamen zu den Funktionen</a></h2>
173
174  <p>Diese folgende kurze Auflistung zeigt, welche Vorlage bei welcher
175   Funktion ausgelesen wird. Dabei ist die Dateiendung &quot;.ext&quot;
176   geeignet zu ersetzen: &quot;.tex&quot; f&uuml; LaTeX-Vorlagen und
177   &quot;.odt&quot; f&uuml;r OpenDocument-Vorlagen.</p>
178
179  <ul>
180   <li><code>bin_list.ext</code> -- Lagerliste</li>
181   <li><code>check.ext</code> -- ?</li>
182   <li><code>invoice.ext</code> -- Rechnung</li>
183   <li><code>packing_list.ext</code> -- Verpackungsliste</li>
184   <li><code>pick_list.ext</code> -- Sammelliste</li>
185   <li><code>purcharse_order.ext</code> -- Bestellung an Lieferanten</li>
186   <li><code>request_quotation.ext</code> -- Anfrage an Lieferanten</li>
187   <li><code>sales_order.ext</code> -- Bestellung</li>
188   <li><code>sales_quotation.ext</code> -- Angebot an Kunden</li>
189  </ul>
190
191  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
192    zum Inhaltsverzeichnis</a></small><br>
193  <hr>
194
195  <h2><a name="allgemeine_variablen">
196    Allgemeine Variablen, die in allen Vorlagen vorhanden sind</a></h2>
197
198  <h3><a name="allgemein_stammdaten">
199    Stammdaten von Kunden und Lieferanten:</a></h3>
200
201  <p>
202   <table border="1">
203    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
204    <tr>
205     <td><code>account_number</code></td>
206     <td>Kontonummer</td>
207    </tr>
208    <tr>
209     <td><code>bank</code></td>
210     <td>Name der Bank</td>
211    </tr>
212    <tr>
213     <td><code>bank_code</code></td>
214     <td>Bankleitzahl</td>
215    </tr>
216    <tr>
217     <td><code>business</code></td>
218     <td>Kunden-/Lieferantentyp</td>
219    </tr>
220    <tr>
221     <td><code>city</code></td>
222     <td>Stadt</td>
223    </tr>
224    <tr>
225     <td><code>contact</code></td>
226     <td>Kontakt</td>
227    </tr>
228    <tr>
229     <td><code>country</code></td>
230     <td>Land</td>
231    </tr>
232    <tr>
233     <td><code>cp_email</code></td>
234     <td>Email des Ansprechpartners</td>
235    </tr>
236    <tr>
237     <td><code>cp_givenname</code></td>
238     <td>Vorname des Ansprechpartners</td>
239    </tr>
240    <tr>
241     <td><code>cp_greeting</code></td>
242     <td>Anrede des Ansprechpartners</td>
243    </tr>
244    <tr>
245     <td><code>cp_name</code></td>
246     <td>Name des Ansprechpartners</td>
247    </tr>
248    <tr>
249     <td><code>cp_phone1</code></td>
250     <td>Telefonnummer 1 des Ansprechpartners</td>
251    </tr>
252    <tr>
253     <td><code>cp_phone2</code></td>
254     <td>Telefonnummer 2 des Ansprechpartners</td>
255    </tr>
256    <tr>
257     <td><code>cp_title</code></td>
258     <td>Titel des Ansprechpartners</td>
259    </tr>
260    <tr>
261     <td><code>creditlimit</code></td>
262     <td>Kreditlimit</td>
263    </tr>
264    <tr>
265     <td><code>customeremail</code></td>
266     <td>Email des Kunden; nur f&uuml;r Kunden</td>
267    </tr>
268    <tr>
269     <td><code>customerfax</code></td>
270     <td>Faxnummer des Kunden; nur f&uuml;r Kunden</td>
271    </tr>
272    <tr>
273     <td><code>customernotes</code></td>
274     <td>Bemerkungen beim Kunden; nur f&uuml;r Kunden</td>
275    </tr>
276    <tr>
277     <td><code>customernumber</code></td>
278     <td>Kundennummer; nur f&uuml;r Kunden</td>
279    </tr>
280    <tr>
281     <td><code>customerphone</code></td>
282     <td>Telefonnummer des Kunden; nur f&uuml;r Kunden</td>
283    </tr>
284    <tr>
285     <td><code>discount</code></td>
286     <td>Rabatt</td>
287    </tr>
288    <tr>
289     <td><code>email</code></td>
290     <td>Emailadresse</td>
291    </tr>
292    <tr>
293     <td><code>fax</code></td>
294     <td>Faxnummer</td>
295    </tr>
296    <tr>
297     <td><code>homepage</code></td>
298     <td>Homepage</td>
299    </tr>
300    <tr>
301     <td><code>language</code></td>
302     <td>Sprache</td>
303    </tr>
304    <tr>
305     <td><code>name</code></td>
306     <td>Firmenname</td>
307    </tr>
308    <tr>
309     <td><code>payment_terms</code></td>
310     <td>Zahlungskonditionen</td>
311    </tr>
312    <tr>
313     <td><code>phone</code></td>
314     <td>Telefonnummer</td>
315    </tr>
316    <tr>
317     <td><code>shiptocity</code></td>
318     <td>Stadt (Lieferadresse)
319      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
320    </tr>
321    <tr>
322     <td><code>shiptocontact</code></td>
323     <td>Kontakt (Lieferadresse)
324      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
325    </tr>
326    <tr>
327     <td><code>shiptocountry</code></td>
328     <td>Land (Lieferadresse)
329      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
330    </tr>
331    <tr>
332     <td><code>shiptodepartment1</code></td>
333     <td>Abteilung 1 (Lieferadresse)
334      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
335    </tr>
336    <tr>
337     <td><code>shiptodepartment2</code></td>
338     <td>Abteilung 2 (Lieferadresse)
339      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
340    </tr>
341    <tr>
342     <td><code>shiptoemail</code></td>
343     <td>Email (Lieferadresse)
344      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
345    </tr>
346    <tr>
347     <td><code>shiptofax</code></td>
348     <td>Fax (Lieferadresse)
349      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
350    </tr>
351    <tr>
352     <td><code>shiptoname</code></td>
353     <td>Firmenname (Lieferadresse)
354      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
355    </tr>
356    <tr>
357     <td><code>shiptophone</code></td>
358     <td>Telefonnummer (Lieferadresse)
359      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
360    </tr>
361    <tr>
362     <td><code>shiptostreet</code></td>
363     <td>Straße und Hausnummer (Lieferadresse)
364      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
365    </tr>
366    <tr>
367     <td><code>shiptozipcode</code></td>
368     <td>Postleitzahl (Lieferadresse)
369      <a href="dokumentenvorlagen-und-variablen.html#anmerkung_shipto">*</a></td>
370    </tr>
371    <tr>
372     <td><code>street</code></td>
373     <td>Straße und Hausnummer</td>
374    </tr>
375    <tr>
376     <td><code>taxnumber</code></td>
377     <td>Steuernummer</td>
378    </tr>
379    <tr>
380     <td><code>vendoremail</code></td>
381     <td>Email des Lieferanten; nur f&uuml;r Lieferanten</td>
382    </tr>
383    <tr>
384     <td><code>vendorfax</code></td>
385     <td>Faxnummer des Lieferanten; nur f&uuml;r Lieferanten</td>
386    </tr>
387    <tr>
388     <td><code>vendornotes</code></td>
389     <td>Bemerkungen beim Lieferanten; nur f&uuml;r Lieferanten</td>
390    </tr>
391    <tr>
392     <td><code>vendornumber</code></td>
393     <td>Lieferantennummer; nur f&uuml;r Lieferanten</td>
394    </tr>
395    <tr>
396     <td><code>vendorphone</code></td>
397     <td>Telefonnummer des Lieferanten; nur f&uuml;r Lieferanten</td>
398    </tr>
399    <tr>
400     <td><code>zipcode</code></td>
401     <td>Postleitzahl</td>
402    </tr>
403   </table>
404  </p>
405
406  <p><a name="anmerkung_shipto"><em>Anmerkung</em></a>: Sind die
407   <code>shipto*</code>-Felder in den Stammdaten nicht eingetragen, so haben
408   die Variablen <code>shipto*</code> den gleichen Wert wie die die
409   entsprechenden Variablen der Lieferdaten. Das bedeutet, dass sich einige
410   <code>shipto*</code>-Variablen so nicht in den Stammdaten wiederfinden
411   sondern schlicht Kopien der Lieferdatenvariablen sind
412   (z.B. <code>shiptocontact</code>).</p>
413
414  <h3><a name="allgemein_bearbeiter">
415    Informationen &uuml;ber den Bearbeiter:</a></h3>
416
417  <p>
418   <table border="1">
419    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
420    <tr>
421     <td><code>employee_address</code></td>
422     <td>Adressfeld</td>
423    </tr>
424    <tr>
425     <td><code>employee_businessnumber</code></td>
426     <td>Firmennummer</td>
427    </tr>
428    <tr>
429     <td><code>employee_company</code></td>
430     <td>Firmenname</td>
431    </tr>
432    <tr>
433     <td><code>employee_co_ustid</code></td>
434     <td>Usatzsteuer-Identifikationsnummer</td>
435    </tr>
436    <tr>
437     <td><code>employee_duns</code></td>
438     <td>DUNS-Nummer</td>
439    </tr>
440    <tr>
441     <td><code>employee_email</code></td>
442     <td>Email</td>
443    </tr>
444    <tr>
445     <td><code>employee_fax</code></td>
446     <td>Fax</td>
447    </tr>
448    <tr>
449     <td><code>employee_name</code></td>
450     <td>voller Name</td>
451    </tr>
452    <tr>
453     <td><code>employee_signature</code></td>
454     <td>Signatur</td>
455    </tr>
456    <tr>
457     <td><code>employee_taxnumber</code></td>
458     <td>Steuernummer</td>
459    </tr>
460    <tr>
461     <td><code>employee_tel</code></td>
462     <td>Telefonnummer</td>
463    </tr>
464   </table>
465  </p>
466
467  <h3><a name="allgemein_verkaeufer">
468    Informationen &uuml;ber den Verk&auml;fer (nur bei Verkaufsmasken):</a></h3>
469
470  <p>
471   <table border="1">
472    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
473    <tr>
474     <td><code>salesman_address</code></td>
475     <td>Adressfeld</td>
476    </tr>
477    <tr>
478     <td><code>salesman_businessnumber</code></td>
479     <td>Firmennummer</td>
480    </tr>
481    <tr>
482     <td><code>salesman_company</code></td>
483     <td>Firmenname</td>
484    </tr>
485    <tr>
486     <td><code>salesman_co_ustid</code></td>
487     <td>Usatzsteuer-Identifikationsnummer</td>
488    </tr>
489    <tr>
490     <td><code>salesman_duns</code></td>
491     <td>DUNS-Nummer</td>
492    </tr>
493    <tr>
494     <td><code>salesman_email</code></td>
495     <td>Email</td>
496    </tr>
497    <tr>
498     <td><code>salesman_fax</code></td>
499     <td>Fax</td>
500    </tr>
501    <tr>
502     <td><code>salesman_name</code></td>
503     <td>voller Name</td>
504    </tr>
505    <tr>
506     <td><code>salesman_signature</code></td>
507     <td>Signatur</td>
508    </tr>
509    <tr>
510     <td><code>salesman_taxnumber</code></td>
511     <td>Steuernummer</td>
512    </tr>
513    <tr>
514     <td><code>salesman_tel</code></td>
515     <td>Telefonnummer</td>
516    </tr>
517   </table>
518  </p>
519
520  <h3><a name="allgemein_steuern">
521    Variablen f&uuml;r die einzelnen Steuern:</a></h3>
522
523  <p>
524   <table border="1">
525    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
526    <tr>
527     <td><code>tax</code></td>
528     <td>Steuer</td>
529    </tr>
530    <tr>
531     <td><code>taxbase</code></td>
532     <td>zu versteuernder Betrag</td>
533    </tr>
534    <tr>
535     <td><code>taxdescription</code></td>
536     <td>Name der Steuer</td>
537    </tr>
538    <tr>
539     <td><code>taxrate</code></td>
540     <td>Steuersatz</td>
541    </tr>
542   </table>
543  </p>
544
545  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
546    zum Inhaltsverzeichnis</a></small><br>
547  <hr>
548
549  <h2><a name="invoice">Variablen in Rechnungen</a></h2>
550
551  <h3><a name="invoice_allgemein">Allgemeine Variablen:</a></h3>
552
553  <p>
554   <table border="1">
555    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
556    <tr>
557     <td><code>creditremaining</code></td>
558     <td>Verbleibender Kredit</td>
559    </tr>
560    <tr>
561     <td><code>currency</code></td>
562     <td>Währung</td>
563    </tr>
564    <tr>
565     <td><code>cusordnumber</code></td>
566     <td>Bestellnummer beim Kunden</td>
567    </tr>
568    <tr>
569     <td><code>deliverydate</code></td>
570     <td>Lieferdatum</td>
571    </tr>
572    <tr>
573     <td><code>duedate</code></td>
574     <td>Fälligkeitsdatum</td>
575    </tr>
576    <tr>
577     <td><code>globalprojectnumber</code></td>
578     <td>Projektnummer des ganzen Beleges</td>
579    </tr>
580    <tr>
581     <td><code>intnotes</code></td>
582     <td>Interne Bemerkungen</td>
583    </tr>
584    <tr>
585     <td><code>invdate</code></td>
586     <td>Rechnungsdatum</td>
587    </tr>
588    <tr>
589     <td><code>invnumber</code></td>
590     <td>Rechnungsnummer</td>
591    </tr>
592    <tr>
593     <td><code>invtotal</code></td>
594     <td>gesamter Rechnungsbetrag</td>
595    </tr>
596    <tr>
597     <td><code>notes</code></td>
598     <td>Bemerkungen der Rechnung</td>
599    </tr>
600    <tr>
601     <td><code>orddate</code></td>
602     <td>Auftragsdatum</td>
603    </tr>
604    <tr>
605     <td><code>ordnumber</code></td>
606     <td>Auftragsnummer, wenn die Rechnung aus einem Auftrag erstellt wurde</td>
607    </tr>
608    <tr>
609     <td><code>payment_terms</code></td>
610     <td>Zahlungskonditionen</td>
611    </tr>
612    <tr>
613     <td><code>quodate</code></td>
614     <td>Angebotsdatum</td>
615    </tr>
616    <tr>
617     <td><code>quonumber</code></td>
618     <td>Angebotsnummer</td>
619    </tr>
620    <tr>
621     <td><code>shippingpoint</code></td>
622     <td>Versandort</td>
623    </tr>
624    <tr>
625     <td><code>shipvia</code></td>
626     <td>Transportmittel</td>
627    </tr>
628    <tr>
629     <td><code>subtotal</code></td>
630     <td>Zwischensumme aller Posten ohne Steuern</td>
631    </tr>
632    <tr>
633     <td><code>sumcarriedforward</code></td>
634     <td>Zwischensumme aller bisher ausgegebenen Posten. Sollte nur in einem
635      <a href="dokumentenvorlagen-und-variablen.html#bloecke_pagebreak">
636       <code>pagebreak</code></a>-Block verwendet werden.</td>
637    </tr>
638    <tr>
639     <td><code>total</code></td>
640     <td>Restsumme der Rechnung (Summe abz&uuml;glich bereits bezahlter Posten)</td>
641    </tr>
642    <tr>
643     <td><code>transaction_description</code></td>
644     <td>Vorgangsbezeichnung</td>
645    </tr>
646    <tr>
647     <td><code>transdate</code></td>
648     <td>Auftragsdatum wenn die Rechnung aus einem Auftrag erstellt wurde</td>
649    </tr>
650   </table>
651  </p>
652
653  <h3><a name="invoice_posten">
654    Variablen f&uuml;r jeden Posten auf der Rechnung:</a></h3>
655
656  <p>
657   <table border="1">
658    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
659    <tr>
660     <td><code>assembly</code></td>
661     <td>Erzeugnis</td>
662    </tr>
663    <tr>
664     <td><code>bin</code></td>
665     <td>Stellage</td>
666    </tr>
667    <tr>
668     <td><code>deliverydate_oe</code></td>
669     <td>Lieferdatum</td>
670    </tr>
671    <tr>
672     <td><code>description</code></td>
673     <td>Artikelbeschreibung</td>
674    </tr>
675    <tr>
676     <td><code>discount</code></td>
677     <td>Rabatt als Betrag</td>
678    </tr>
679    <tr>
680     <td><code>linetotal</code></td>
681     <td>Zeilensumme (Anzahl * Einzelpreis)</td>
682    </tr>
683    <tr>
684     <td><code>listprice</code></td>
685     <td>Listenpreis</td>
686    </tr>
687    <tr>
688     <td><code>netprice</code></td>
689     <td>Nettopreis</td>
690    </tr>
691    <tr>
692     <td><code>number</code></td>
693     <td>Artikelnummer</td>
694    </tr>
695    <tr>
696     <td><code>ordnumber_oe</code></td>
697     <td>Auftragsnummer des Originalauftrags, wenn die Rechnung aus einem Sammelauftrag erstellt wurde</td>
698    </tr>
699    <tr>
700    <td><code>p_discount</code></td>
701     <td>Rabatt in Prozent</td>
702    </tr>
703    <tr>
704     <td><code>partnotes</code></td>
705     <td>Die beim Artikel gespeicherten Bemerkungen</td>
706    </tr>
707    <tr>
708     <td><code>partsgroup</code></td>
709     <td>Warengruppe</td>
710    </tr>
711    <tr>
712     <td><code>projectnumber</code></td>
713     <td>Projektnummer</td>
714    </tr>
715    <tr>
716     <td><code>qty</code></td>
717     <td>Anzahl</td>
718    </tr>
719    <tr>
720     <td><code>runningnumber</code></td>
721     <td>Position auf der Rechnung (1, 2, 3...)</td>
722    </tr>
723    <tr>
724     <td><code>sellprice</code></td>
725     <td>Verkaufspreis</td>
726    </tr>
727    <tr>
728     <td><code>serialnumber</code></td>
729     <td>Seriennummer</td>
730    </tr>
731    <tr>
732     <td><code>transdate_oe</code></td>
733     <td>Auftragsdatum des Originalauftrags, wenn die Rechnung aus einem Sammelauftrag erstellt wurde</td>
734    </tr>
735    <tr>
736     <td><code>unit</code></td>
737     <td>Einheit</td>
738    </tr>
739   </table>
740  </p>
741
742  <h3><a name="invoice_zahlungen">
743    Variablen f&uuml;r die einzelnen Zahlungseingänge:</a></h3>
744
745  <p>
746   <table border="1">
747    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
748    <tr>
749     <td><code>datepaid</code></td>
750     <td>Datum</td>
751    </tr>
752    <tr>
753     <td><code>memo</code></td>
754     <td>Memo</td>
755    </tr>
756    <tr>
757     <td><code>paid</code></td>
758     <td>Betrag</td>
759    </tr>
760    <tr>
761     <td><code>source</code></td>
762     <td>Beleg</td>
763    </tr>
764    <tr>
765     <td><code>exchangerate</code></td>
766     <td>Wechselkurs</td>
767    </tr>
768    <tr>
769     <td><code>forex</code></td>
770     <td>Konto</td>
771    </tr>
772   </table>
773  </p>
774
775  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
776    zum Inhaltsverzeichnis</a></small><br>
777  <hr>
778
779  <h2><a name="dunning">Variablen in Mahnungen und Rechnungen &uuml;ber Mahngeb&uuml;hren</a></h2>
780
781  <h3><a name="dunning_vorlagennamen">Namen der Vorlagen</a></h3>
782
783  <p>Die Namen der Vorlagen werden im System-Men&uuml; vom Benutzer
784   eingegeben. Wird f&uuml;r ein Mahnlevel die Option zur automatischen
785   Erstellung einer Rechnung &uuml;ber die Mahngeb&uuml;hren und Zinsen
786   aktiviert, so wird der Name der Vorlage f&uuml;r diese Rechnung aus
787   dem Vorlagenname f&uuml;r diese Mahnstufe mit dem
788   Zusatz <code>_invoice</code> gebildet. Weiterhin werden die
789   K&uuml;rzel f&uuml;r die ausgew&auml;hlte Sprache und den
790   ausgew&auml;hlten Drucker angeh&auml;ngt.</p>
791
792  <h3><a name="dunning_allgemein">Allgemeine Variablen in Mahnungen:</a></h3>
793
794  <p>Die Variablen des Verkäufers stehen wie gewohnt
795   als <code>employee_...</code> zur Verfügung. Die Adressdaten des
796   Kunden stehen als Variablen <code>name</code>, <code>street</code>,
797   <code>zipcode</code>, <code>city</code>, <code>country</code>,
798   <code>department_1</code>, <code>department_2</code>, und
799   <code>email</code> zur Verfügung.
800  </p>
801
802  <p>Weitere Variablen beinhalten:</p>
803
804  <p>
805   <table border="1">
806    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
807    <tr>
808     <td><code>dunning_date</code></td>
809     <td>Datum der Mahnung</td>
810    </tr>
811    <tr>
812     <td><code>dunning_duedate</code></td>
813     <td>F&auml;lligkeitsdatum f&uuml;r diese Mahhnung</td>
814    </tr>
815    <tr>
816     <td><code>fee</code></td>
817     <td>Kummulative Mahngebühren</td>
818    </tr>
819    <tr>
820     <td><code>interest_rate</code></td>
821     <td>Zinssatz per anno in Prozent</td>
822    </tr>
823    <tr>
824     <td><code>total_amount</code></td>
825     <td>Gesamter noch zu zahlender Betrag als <code>fee</code> + <code>total_interest</code> + <code>total_open_amount</code></td>
826    </tr>
827    <tr>
828     <td><code>total_interest</code></td>
829     <td>Zinsen per anno &uuml;ber alle Rechnungen</td>
830    </tr>
831    <tr>
832     <td><code>total_open_amount</code></td>
833     <td>Summe &uuml;ber alle offene Betr&auml;ge der Rechnungen</td>
834    </tr>
835   </table>
836  </p>
837
838  <h3><a name="dunning_details">
839    Variablen f&uuml;r jede gemahnte Rechnung in einer Mahnung:</a></h3>
840
841  <p>
842   <table border="1">
843    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
844    <tr>
845     <td><code>dn_amount</code></td>
846     <td>Rechnungssumme (brutto)</td>
847    </tr>
848    <tr>
849     <td><code>dn_duedate</code></td>
850     <td>Originales F&auml;lligkeitsdatum der Rechnung</td>
851    </tr>
852    <tr>
853     <td><code>dn_dunning_date</code></td>
854     <td>Datum der Mahnung</td>
855    </tr>
856    <tr>
857     <td><code>dn_dunning_duedate</code></td>
858     <td>F&auml;lligkeitsdatum der Mahnung</td>
859    </tr>
860    <tr>
861     <td><code>dn_fee</code></td>
862     <td>Kummulative Mahngeb&uuml;hr</td>
863    </tr>
864    <tr>
865     <td><code>dn_interest</code></td>
866     <td>Zinsen per anno f&uuml;r diese Rechnung</td>
867    </tr>
868    <tr>
869     <td><code>dn_invnumber</code></td>
870     <td>Rechnungsnummer</td>
871    </tr>
872    <tr>
873     <td><code>dn_linetotal</code></td>
874     <td>Noch zu zahlender Betrag (ergibt sich aus <code>dn_open_amount + dn_fee + dn_interest</code>)</td>
875    </tr>
876    <tr>
877     <td><code>dn_netamount</code></td>
878     <td>Rechnungssumme (netto)</td>
879    </tr>
880    <tr>
881     <td><code>dn_open_amount</code></td>
882     <td>Offener Rechnungsbetrag</td>
883    </tr>
884    <tr>
885     <td><code>dn_ordnumber</code></td>
886     <td>Bestellnummer</td>
887    </tr>
888    <tr>
889     <td><code>dn_transdate</code></td>
890     <td>Rechnungsdatum</td>
891    </tr>
892   </table>
893  </p>
894
895  <h3><a name="dunning_invoice">Variablen in automatisch erzeugten
896    Rechnungen &uuml;ber Mahngeb&uuml;hren</a></h3>
897
898  <p>Die Variablen des Verkäufers stehen wie gewohnt
899   als <code>employee_...</code> zur Verfügung. Die Adressdaten des
900   Kunden stehen als Variablen <code>name</code>, <code>street</code>,
901   <code>zipcode</code>, <code>city</code>, <code>country</code>,
902   <code>department_1</code>, <code>department_2</code>, und
903   <code>email</code> zur Verfügung.
904  </p>
905
906  <p>Weitere Variablen beinhalten:</p>
907
908  <p>
909   <table border="1">
910    <tr><th>Variablenname</th><th>Bedeutung</th></tr>
911    <tr>
912     <td><code>duedate</code></td>
913     <td>Fälligkeitsdatum der Rechnung</td>
914    </tr>
915    <tr>
916     <td><code>dunning_id</code></td>
917     <td>Mahnungsnummer</td>
918    </tr>
919    <tr>
920     <td><code>fee</code></td>
921     <td>Mahngeb&uuml;hren</td>
922    </tr>
923    <tr>
924     <td><code>interest</code></td>
925     <td>Zinsen</td>
926    </tr>
927    <tr>
928     <td><code>invamount</code></td>
929     <td>Rechnungssumme (ergibt sich aus <code>fee + interest</code>)</td>
930    </tr>
931    <tr>
932     <td><code>invdate</code></td>
933     <td>Rechnungsdatum</td>
934    </tr>
935    <tr>
936     <td><code>invnumber</code></td>
937     <td>Rechnungsnummer</td>
938    </tr>
939   </table>
940  </p>
941
942  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
943    zum Inhaltsverzeichnis</a></small><br>
944  <hr>
945
946  <h2><a name="anderevorlagen">
947    Variablen in anderen Vorlagen</a></h2>
948
949  <p>Die Variablen in anderen Vorlagen sind &auml;hnlich wie in der
950   Rechnung. Allerdings hei&szlig;en die Variablen, die mit <code>inv</code>
951   beginnen, jetzt anders. Bei den Angeboten fangen sie mit <code>quo</code>
952   f&uuml;r "quotation" an: <code>quodate</code> f&uuml;r Angebotsdatum
953   etc. Bei Bestellungen wiederum fangen sie mit <code>ord</code> f&uuml;r
954   "order" an: <code>ordnumber</code> f&uuml;r Bestellnummer etc.</p>
955
956  <p>Manche Variablen sind in anderen Vorlagen hingegen gar nicht vorhanden wie
957   z.B. die f&uuml;r bereits verbuchte Zahlungseing&auml;nge. Dies sind
958   Variablen, die vom Gesch&auml;ftsablauf her in der entsprechenden Vorlage
959   keine Bedeutung haben oder noch nicht belegt sein k&ouml;nnen.</p>
960
961  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
962    zum Inhaltsverzeichnis</a></small><br>
963  <hr>
964
965  <h2><a name="bloecke">
966    Bl&ouml;cke, bedingte Anweisungen und Schleifen</a></h2>
967
968  <p>Der Parser kennt neben den Variablen einige weitere Konstrukte, die
969   gesondert behandelt werden. Diese sind wie Variablennamen in spezieller
970   Weise markiert: <code>&lt;%anweisung%&gt;</code></p>
971
972  <h3><a name="bloecke_ifnot">Der <code>if not</code>-Block</a></h3>
973
974  <p class="blue"><code>&lt;%if not variablenname%&gt;<br>
975    ...<br>
976    &lt;%end&gt;</code></p>
977
978  <p>Eine normale "if-not-then"-Bedingung. Die Zeilen zwischen dem "if not" und
979   dem "end" werden nur ausgegeben, wenn die Variable "variablenname" nicht
980   gesetzt oder gleich 0 ist.</p>
981
982  <h3><a name="bloecke_if">Der <code>if</code>-Block</a></h3>
983
984  <p class="blue"><code>&lt;%if variablenname%&gt;<br>
985    ...<br>
986    &lt;%end&gt;</code></p>
987
988  <p>Eine normale "if-then"-Bedingung. Die Zeilen zwischen dem "if" und dem
989   "end" werden nur ausgegeben, wenn die Variable "variablenname" gesetzt und
990   ungleich 0 ist.</p>
991
992  <h3><a name="bloecke_foreach">Die <code>foreach</code>-Schleife</a></h3>
993
994  <p class="blue"><code>&lt;%foreach variablenname%&gt;<br>
995    ...<br>
996    &lt;%end&gt;</code></p>
997
998  <p>F&uuml;gt die Zeilen zwischen den beiden Anweisungen so oft ein, wie das
999   Perl-Array der Variablen "variablenname" Elemente enth&auml;t. Dieses
1000   Konstrukt wird zur Ausgabe der einzelnen Posten einer Rechnung / eines
1001   Angebots sowie zur Ausgabe der Steuern benutzt. In jedem Durchlauf werden
1002   die <a href="dokumentenvorlagen-und-variablen.html#invoice_posten">zeilenbezogenen
1003   Variablen</a> jeweils auf den Wert f&uuml;r die aktuelle Position
1004   gesetzt.</p>
1005
1006  <p>Die Syntax sieht normalerweise wie folgt aus:</p>
1007
1008  <p class="blue"><code>&lt;%foreach number%&gt;<br>
1009    Position: &lt;%runningnumber%&gt;<br>
1010    Anzahl: &lt;%qty%&gt;<br>
1011    Artikelnummer: &lt;%number%&gt;<br>
1012    Beschreibung: &lt;%description%&gt;<br>
1013    ...<br>
1014    &lt;%end&gt;</code></p>
1015
1016  <p>Besonderheit in OpenDocument-Vorlagen: Tritt ein
1017   <code>&lt;foreach&gt;</code>-Block innerhalb einer Tabellenzelle
1018   auf, so wird die komplette Tabellenzeile so oft wiederholt wie
1019   notwendig. Tritt er au&szlig;erhalb auf, so wird nur der Inhalt
1020   zwischen <code>&lt;foreach&gt;</code> und <code>&lt;end&gt;</code>
1021   wiederholt, nicht aber die komplette Zeile, in der er steht.</p>
1022
1023  <h3><a name="bloecke_pagebreak">Der <code>pagebreak</code>-Block</a></h3>
1024
1025  <p class="blue"><code>&lt;%pagebreak ZpZ ZeS ZzS%&gt;<br>
1026    ...<br>
1027    &lt;%end&gt;</code></p>
1028
1029  <p>Dieser Block existiert nur in LaTeX-Vorlagen.</p>
1030
1031  <p>Dieser Block legt das Verhalten beim manuellen Einf&uuml;gen eines
1032   Seitenumbruchs fest. Normalerweise bricht LaTeX die Seiten selber um. Beim
1033   Rechnungsdruck ist das oft nicht gew&uuml;nscht, oder man m&ouml;chte im
1034   Falle eines Seitenumbruchs den &Uuml;bertrag etc. mit ausgeben. Deswegen
1035   versucht der Parser, manuell Seitenumbr&uuml;che einzuf&uuml;gen,
1036   w&auml;hrend er einen <code>foreach</code>-Block auswertet, weil hier die
1037   manuellen Seitenumbr&uuml;che erforderlich werden. Daf&uuml;r ben&ouml;tigt
1038   der Parser aber drei Informationen:</p>
1039
1040  <p>
1041   <ol>
1042    <li>Wieviele Zeichen passen bei der Variablen "description" pro Posten
1043     in eine Zeile? Das ist der Parameter "ZpZ" (Zeichen pro Zeile).</li>
1044    <li>Wieviele Zeilen/Posten passen auf die erste Seite? Das
1045     ist der Parameter "ZeS" (Zeilen erste Seite).</li>
1046    <li>Wieviele Zeilen/Posten passen auf die zweite und alle nachfolgenden
1047     Seiten? Das ist der Parameter "ZzS" (Zeilen zweite Seite).</li>
1048   </ol>
1049  </p>
1050
1051  <p>Diese Parameter sind drei Zahlen, die manuell durch Verwendung von langen
1052   Warenbezeichnungen und Rechnungen mit vielen Posten bestimmt werden
1053   m&uuml;ssen.</p>
1054
1055  <p>&Uuml;blicherweise wird in diesem Block zuerst die aktuelle Tabelle
1056   geschlossen, eventuell Text eingef&uuml;gt (z.B. "Fortsetzung auf der
1057   n&auml;chsten Seite"), dann ein Seitenumbruch erzwungen, eventuell Text
1058   eingef&uuml;gt (z.B. "&Uuml;bertrag von der vorherigen Seite:
1059   &lt;%sumcarriedforward%&gt; EUR") und die Tabelle wieder ge&ouml;ffnet.</p>
1060
1061  <p>Wird kein manueller Seitenumbruch gew&uuml;scht, so kann dieser Block
1062   komplett entfallen.</p>
1063
1064  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
1065    zum Inhaltsverzeichnis</a></small><br>
1066  <hr>
1067
1068  <h2><a name="markup">
1069    Markup-Code, der innerhalb von Formularen zur Textformatierung
1070    verwendet werden kann</a></h2>
1071
1072  <p>Wenn der Benutzer innhalb von Formularen in Lx-Office Text anders
1073   formatiert haben m&ouml;chte, so ist dies begrenzt m&ouml;glich. Lx-Office
1074   unterst&uuml;tzt die Textformatierung mit HTML-&auml;hnlichen Tags. Der
1075   Benutzer kann z.B. bei der Artikelbeschreibung auf einer Rechnung Teile des
1076   Texts zwischen Start- und Endtags setzen. Dieser Teil wird dann automatisch
1077   in Anweisungen f&uuml;r das ausgew&auml;hlte Vorlagenformat (HTML oder
1078   PDF &uuml;ber LaTeX) umgesetzt.</p>
1079
1080  <p>Die unterst&uuml;tzen Formatierungen sind:</p>
1081
1082  <p>
1083   <table border="1">
1084    <tr><th>Formatierung</th><th>Auswirkung</th></tr>
1085    <tr>
1086     <td><code>&lt;b&gt;Text&lt;/b&gt;</code></td>
1087     <td>Text wird in <b>fettdruck</b> gesetzt.</td>
1088    </tr>
1089    <tr>
1090     <td><code>&lt;i&gt;Text&lt;/i&gt;</code></td>
1091     <td>Text wird <i>kursiv</i> gesetzt.</td>
1092    </tr>
1093    <tr>
1094     <td><code>&lt;u&gt;Text&lt;/u&gt;</code></td>
1095     <td>Text wird <u>unterstrichen</u>.</td>
1096    </tr>
1097    <tr>
1098     <td><code>&lt;s&gt;Text&lt;/s&gt;</code></td>
1099     <td>Text wird <s>durchgestrichen</s>. Diese Formatierung ist nicht bei der
1100      Ausgabe als PDF &uuml;ber LaTeX verf&uuml;gbar.</td>
1101    </tr>
1102    <tr>
1103     <td><code>&lt;pagebreak&gt;</code></td>
1104     <td>Erzwingt einen Seitenumbruch (siehe unten).</td>
1105    </tr>
1106   </table>
1107  </p>
1108
1109  <p>Eine Besonderheit ist der Befehl <code>&lt;pagebreak&gt;</code>,
1110   der nur in LaTeX-Vorlagen funktioniert und in anderen Vorlagen
1111   einfach gel&ouml;scht wird. Dieser erzwingt unabh&auml;ngig von der
1112   im <a
1113   href="dokumentenvorlagen-und-variablen.html#bloecke_pagebreak">pagebreak-Block</a>
1114   voreingestellten Werte einen Seitenumbruch nach der aktuellen
1115   Rechnungsposition. Dementsprechend funktioniert er nur innerhalb von
1116   <code>&lt;foreach...&gt;</code>-Schleifen. Weiterhin ben&ouml;tigt er kein
1117   Endtag.</p>
1118
1119  <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
1120    zum Inhaltsverzeichnis</a></small><br>
1121  <hr>
1122
1123 </body>
1124 </html>