Revision 5cb6779a
Von Jan Büren vor mehr als 1 Jahr hinzugefügt
doc/html/ch02s02.html | ||
---|---|---|
1 | 1 |
<html><head> |
2 | 2 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
3 |
<title>2.2. Benötigte Software und Pakete</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="next" href="ch02s03.html" title="2.3. Installation mittels Ansible"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.2. Benötigte Software und Pakete</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.2. Benötigte Software und Pakete"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Ben%C3%B6tigte-Software-und-Pakete"></a>2.2. Benötigte Software und Pakete</h2></div></div></div><div class="sect2" title="2.2.1. Betriebssystem"><div class="titlepage"><div><div><h3 class="title"><a name="Betriebssystem"></a>2.2.1. Betriebssystem</h3></div></div></div><p>kivitendo ist für Linux konzipiert, und sollte auf jedem |
|
3 |
<title>2.2. Benötigte Software und Pakete</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="next" href="ch02s03.html" title="2.3. Installation mittels Ansible auf Ubuntu 22.04"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.2. Benötigte Software und Pakete</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.2. Benötigte Software und Pakete"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Ben%C3%B6tigte-Software-und-Pakete"></a>2.2. Benötigte Software und Pakete</h2></div></div></div><div class="sect2" title="2.2.1. Betriebssystem"><div class="titlepage"><div><div><h3 class="title"><a name="Betriebssystem"></a>2.2.1. Betriebssystem</h3></div></div></div><p>kivitendo ist für Linux konzipiert, und sollte auf jedem
|
|
4 | 4 |
unixoiden Betriebssystem zum Laufen zu kriegen sein. Getestet ist |
5 | 5 |
diese Version im speziellen auf Debian und Ubuntu, grundsätzlich wurde |
6 | 6 |
bei der Auswahl der Pakete aber darauf Rücksicht genommen, dass es |
... | ... | |
212 | 212 |
<code class="literal">Postgres Trigram-Index</code> Für datenbankoptimierte Suchanfragen. Bspw. im Paket <code class="literal">postgresql-contrib</code> enthalten</p></li></ul></div><p>Debian und Ubuntu: </p><pre class="programlisting">apt install postgresql-contrib poppler-utils</pre><p> |
213 | 213 |
</p><p>Fedora: </p><pre class="programlisting">dnf install poppler-utils postgresql-contrib</pre><p> |
214 | 214 |
</p><p>openSUSE:</p><pre class="programlisting">Nicht notwendig, da poppler-utils bereits i.v.m. kivitendo-erp installiert wird</pre><p> |
215 |
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 2. Installation und Grundkonfiguration </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.3. Installation mittels Ansible</td></tr></table></div></body></html> |
|
215 |
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 2. Installation und Grundkonfiguration </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.3. Installation mittels Ansible auf Ubuntu 22.04</td></tr></table></div></body></html> |
doc/html/ch02s03.html | ||
---|---|---|
1 | 1 |
<html><head> |
2 | 2 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
3 |
<title>2.3. Installation mittels Ansible</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s02.html" title="2.2. Benötigte Software und Pakete"><link rel="next" href="ch02s04.html" title="2.4. Manuelle Installation des Programmpaketes"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.3. Installation mittels Ansible</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s02.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s04.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.3. Installation mittels Ansible"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Installation mittels Ansible"></a>2.3. Installation mittels Ansible</h2></div></div></div><p> |
|
4 |
Kivitendo lässt sich auch mithilfe von Ansible installieren. |
|
5 |
</p><p> |
|
3 |
<title>2.3. Installation mittels Ansible auf Ubuntu 22.04</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s02.html" title="2.2. Benötigte Software und Pakete"><link rel="next" href="ch02s04.html" title="2.4. Manuelle Installation des Programmpaketes"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.3. Installation mittels Ansible auf Ubuntu 22.04</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s02.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s04.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.3. Installation mittels Ansible auf Ubuntu 22.04"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Installation mittels Ansible"></a>2.3. Installation mittels Ansible auf Ubuntu 22.04</h2></div></div></div><p> |
|
6 | 4 |
Ansible ist ein Open-Source-Automatisierungstool, das verwendet |
7 | 5 |
wird, um die Bereitstellung, Konfiguration und Verwaltung von |
8 | 6 |
IT-Systemen zu automatisieren. Dabei führt es Aufgaben über SSH auf |
9 | 7 |
entfernten Rechnern (Hosts) aus. Die Aufgaben werden dabei |
10 |
deklarativ als YAML Dateien, den sogenannten Playbooks , übergeben. |
|
11 |
</p><p> |
|
12 |
Um die installation von Kivitendo einfacher zu gestalten liegt ein |
|
13 |
Playbook im scripts Ordner, welches die Installation von Kivitendo |
|
14 |
auf einer Ubuntu Umgebung automatisiert. |
|
8 |
deklarativ als YAML Dateien, den sogenannten Playbooks, übergeben. |
|
9 |
Benötigt wird lediglich python und ansible ab Version 2.10. |
|
15 | 10 |
</p><p> |
16 |
Zur Installation mit Ansible liegt auf dem Git Repository im ansible |
|
17 |
Ordner mit dem benötigtem Playbook und Konfigurationsdateien. |
|
11 |
Alle benötigten Konfigurationsdateien und das Playbook sind auf dem kivitendo github Account |
|
12 |
unter dem Repository namens <a class="ulink" href="https://github.com/kivitendo/kivitendo-ansible" target="_top">kivitendo-ansible</a> verfügbar. |
|
13 |
Das Repo kann lokal mit folgendem git-Befehl "geklont" werden: |
|
14 |
</p><pre class="programlisting">git clone https://github.com/kivitendo/kivitendo-ansible</pre><p> |
|
15 |
In diesem Repository befindet sich auch eine Readme.md, die aktuelle Installationshinweise auf englisch enthält. |
|
18 | 16 |
</p><p> |
19 |
Um die installation zu starten wechseln sie zunächst in den Order |
|
20 |
<code class="literal">scripts/ansible</code> und führen dann folgenden Befehl |
|
21 |
aus. |
|
22 |
</p><pre class="programlisting"> |
|
23 |
ansible-playbook --ask-become-pass main.yaml --extra-vars"target=ZIEL_RECHNER" |
|
24 |
</pre><p> |
|
25 |
Der/die Hosts auf denen Kivitendo installiert werden soll wird in |
|
26 |
der Variable target übergeben. Als nächstes werden sie von Ansible |
|
17 |
Um die Installation zu starten, wechseln Sie dann zunächst in den erstellten Ordner 'kivitendo-ansible' und |
|
18 |
editieren die Datei inventory. |
|
19 |
|
|
20 |
</p><pre class="programlisting">cd kivitendo-ansible |
|
21 |
vim inventory</pre><p> |
|
22 |
|
|
23 |
Der/die Hosts auf denen Kivitendo installiert werden soll wird dann in |
|
24 |
dieser Datei ('inventory') eingefügt, bspw. die |
|
25 |
|
|
26 |
</p><pre class="programlisting">192.168.1.121</pre><p> |
|
27 |
oder als Namen: |
|
28 |
</p><pre class="programlisting">kivi.meine-lokale-domaene.de</pre><p> |
|
29 |
Zusätzliche Parameter könnten erforderlich sein, bspw. der Benutzer für den SSH-Login: |
|
30 |
</p><pre class="programlisting">kivi.meine-lokale-domaene.de ansible_user=myuser</pre><p> |
|
31 |
|
|
32 |
</p><p> |
|
33 |
Danach kann das Playbook mittels: |
|
34 |
</p><pre class="programlisting">ansible-playbook --ask-become main.yml</pre><p> |
|
35 |
ausgeführt werden, je nach Konfiguration wird man noch |
|
27 | 36 |
aufgefordert das BECOME password einzutragen, hierbei handelt es |
28 |
sich um das Passwort des nutzers, über den die Installation laufen |
|
29 |
wird. |
|
37 |
sich um das Passwort des Benutzers, über den die Installation dann auf dem Ziel-Rechner ausgeführt wird. |
|
30 | 38 |
</p><p> |
31 |
Nach ausführen des Playbooks ist Kivitendo über den Browser
|
|
39 |
Nach erfolgreichen Ausführen des Playbooks ist Kivitendo dann über den Browser
|
|
32 | 40 |
erreichbar unter |
33 | 41 |
<code class="literal">http://<IP des rechners>/kivitendo-erp/</code> |
34 | 42 |
|
... | ... | |
37 | 45 |
werden. Dies kann über die Weboberfläche getan werden, indem man |
38 | 46 |
sich mit dem Passwort <code class="literal">admin123</code> in der |
39 | 47 |
Administrationsoberfläche anmeldet. |
48 |
Weitere Details siehe Abschnitt "<a class="xref" href="ch02s09.html" title="2.9. Benutzerauthentifizierung und Administratorpasswort">Abschnitt 2.9, „Benutzerauthentifizierung und Administratorpasswort“</a>" |
|
40 | 49 |
</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s02.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s04.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.2. Benötigte Software und Pakete </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.4. Manuelle Installation des Programmpaketes</td></tr></table></div></body></html> |
doc/html/ch02s04.html | ||
---|---|---|
1 | 1 |
<html><head> |
2 | 2 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
3 |
<title>2.4. Manuelle Installation des Programmpaketes</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s03.html" title="2.3. Installation mittels Ansible"><link rel="next" href="ch02s05.html" title="2.5. kivitendo-Konfigurationsdatei"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.4. Manuelle Installation des Programmpaketes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s03.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s05.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.4. Manuelle Installation des Programmpaketes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Manuelle-Installation-des-Programmpaketes"></a>2.4. Manuelle Installation des Programmpaketes</h2></div></div></div><p>Der aktuelle Stable-Release, bzw. beta Release wird bei github |
|
3 |
<title>2.4. Manuelle Installation des Programmpaketes</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s03.html" title="2.3. Installation mittels Ansible auf Ubuntu 22.04"><link rel="next" href="ch02s05.html" title="2.5. kivitendo-Konfigurationsdatei"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.4. Manuelle Installation des Programmpaketes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s03.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s05.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.4. Manuelle Installation des Programmpaketes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Manuelle-Installation-des-Programmpaketes"></a>2.4. Manuelle Installation des Programmpaketes</h2></div></div></div><p>Der aktuelle Stable-Release, bzw. beta Release wird bei github
|
|
4 | 4 |
gehostet und kann <a class="ulink" href="https://github.com/kivitendo/kivitendo-erp/releases" target="_top">hier</a> |
5 | 5 |
heruntergeladen werden.</p><p>Das aktuelleste kivitendo ERP-Archiv |
6 | 6 |
(<code class="filename">kivitendo-erp-*.tgz</code>) wird dann im |
... | ... | |
65 | 65 |
Wende an: juhu tolle änderungen |
66 | 66 |
$ service apache2 restart # webserver starten! |
67 | 67 |
</pre><p> |
68 |
</p></td></tr></table></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s03.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s05.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.3. Installation mittels Ansible </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.5. kivitendo-Konfigurationsdatei</td></tr></table></div></body></html> |
|
68 |
</p></td></tr></table></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s03.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s05.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.3. Installation mittels Ansible auf Ubuntu 22.04 </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.5. kivitendo-Konfigurationsdatei</td></tr></table></div></body></html> |
doc/html/ch02s06.html | ||
---|---|---|
1 |
<html><head> |
|
2 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
|
3 |
<title>2.6. Anpassung der PostgreSQL-Konfiguration</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s05.html" title="2.5. kivitendo-Konfigurationsdatei"><link rel="next" href="ch02s07.html" title="2.7. Webserver-Konfiguration"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.6. Anpassung der PostgreSQL-Konfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s05.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s07.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.6. Anpassung der PostgreSQL-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Anpassung-der-PostgreSQL-Konfiguration"></a>2.6. Anpassung der PostgreSQL-Konfiguration</h2></div></div></div><p>PostgreSQL muss auf verschiedene Weisen angepasst werden.</p><p>Dies variert je nach eingesetzter Distribution, da distributionsabhängig unterschiedliche Strategien beim Upgrade der Postgres Version eingesetzt werden. |
|
4 |
Als Hinweis einige Links zu den drei Distribution (Stand Dezember 2018):</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> |
|
5 |
<a class="ulink" href="https://fedoraproject.org/wiki/PostgreSQL" target="_top">Fedora (Postgres-Installation unter Fedora)</a> |
|
6 |
</p></li><li class="listitem"><p> |
|
7 |
<a class="ulink" href="https://help.ubuntu.com/lts/serverguide/postgresql.html" target="_top">Ubuntu (Infos für Postgres für die aktuelle LTS Version)</a> |
|
8 |
</p></li><li class="listitem"><p> |
|
9 |
<a class="ulink" href="https://de.opensuse.org/PostgreSQL" target="_top">OpenSuSE (aktuell nur bis Version OpenSuSE 13 verifiziert)</a> |
|
10 |
</p></li></ul></div><div class="sect2" title="2.6.1. Zeichensätze/die Verwendung von Unicode/UTF-8"><div class="titlepage"><div><div><h3 class="title"><a name="Zeichens%C3%A4tze-die-Verwendung-von-UTF-8"></a>2.6.1. Zeichensätze/die Verwendung von Unicode/UTF-8</h3></div></div></div><p>kivitendo setzt zwingend voraus, dass die Datenbank |
|
11 |
Unicode/UTF-8 als Encoding einsetzt. Bei aktuellen |
|
12 |
Serverinstallationen braucht man hier meist nicht einzugreifen.</p><p>Das Encoding des Datenbankservers kann überprüft werden. Ist das |
|
13 |
Encoding der Datenbank "template1" "Unicode" bzw. "UTF-8", so braucht |
|
14 |
man nichts weiteres diesbezüglich unternehmen. Zum Testen:</p><pre class="programlisting">su postgres |
|
15 |
echo '\l' | psql |
|
16 |
exit </pre><p>Andernfalls ist es notwendig, einen neuen Datenbankcluster mit |
|
17 |
Unicode-Encoding anzulegen und diesen zu verwenden. Unter Debian und |
|
18 |
Ubuntu kann dies z.B. für PostgreSQL 9.3 mit dem folgenden Befehl |
|
19 |
getan werden:</p><pre class="programlisting">pg_createcluster --locale=de_DE.UTF-8 --encoding=UTF-8 9.3 clustername</pre><p>Die Datenbankversionsnummer muss an die tatsächlich verwendete |
|
20 |
Versionsnummer angepasst werden.</p><p>Unter anderen Distributionen gibt es ähnliche Methoden.</p><p>Das Encoding einer Datenbank kann in <span class="command"><strong>psql</strong></span> mit |
|
21 |
<code class="literal">\l</code> geprüft werden.</p></div><div class="sect2" title="2.6.2. Änderungen an Konfigurationsdateien"><div class="titlepage"><div><div><h3 class="title"><a name="%C3%84nderungen-an-Konfigurationsdateien"></a>2.6.2. Änderungen an Konfigurationsdateien</h3></div></div></div><p>In der Datei <code class="filename">postgresql.conf</code>, die je nach |
|
22 |
Distribution in verschiedenen Verzeichnissen liegen kann (z.B. |
|
23 |
<code class="filename">/var/lib/pgsql/data/</code> oder |
|
24 |
<code class="filename">/etc/postgresql/</code>), muss sichergestellt werden, |
|
25 |
dass TCP/IP-Verbindungen aktiviert sind. Das Verhalten wird über den |
|
26 |
Parameter <code class="varname">listen_address</code> gesteuert. Laufen |
|
27 |
PostgreSQL und kivitendo auf demselben Rechner, so kann dort der Wert |
|
28 |
<code class="literal">localhost</code> verwendet werden. Andernfalls müssen |
|
29 |
Datenbankverbindungen auch von anderen Rechnern aus zugelassen werden, |
|
30 |
was mit dem Wert <code class="literal">*</code> geschieht.</p><p>In der Datei <code class="filename">pg_hba.conf</code>, die im gleichen |
|
31 |
Verzeichnis wie die <code class="filename">postgresql.conf</code> zu finden |
|
32 |
sein sollte, müssen die Berechtigungen für den Zugriff geändert |
|
33 |
werden. Hier gibt es mehrere Möglichkeiten. Sinnvoll ist es nur die |
|
34 |
nötigen Verbindungen immer zuzulassen, für eine lokal laufende |
|
35 |
Datenbank zum Beispiel:</p><pre class="programlisting">local all kivitendo password |
|
36 |
host all kivitendo 127.0.0.1 255.255.255.255 password</pre></div><div class="sect2" title="2.6.3. Erweiterung für servergespeicherte Prozeduren"><div class="titlepage"><div><div><h3 class="title"><a name="Erweiterung-f%C3%BCr-servergespeicherte-Prozeduren"></a>2.6.3. Erweiterung für servergespeicherte Prozeduren</h3></div></div></div><p>In der Datenbank <code class="literal">template1</code> muss die |
|
37 |
Unterstützung für servergespeicherte Prozeduren eingerichet werden. |
|
38 |
Melden Sie sich dafür als Benutzer “postgres” an der Datenbank an: |
|
39 |
</p><pre class="programlisting">su - postgres |
|
40 |
psql template1</pre><p> führen Sie die folgenden Kommandos aus:</p><pre class="programlisting">CREATE EXTENSION IF NOT EXISTS plpgsql; |
|
41 |
\q</pre><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p> |
|
42 |
<code class="literal">CREATE EXTENSION</code> ist seit Version 9.1 die |
|
43 |
bevorzugte Syntax um die Sprache <code class="literal">plpgsql</code> |
|
44 |
anzulegen. In diesen Versionen ist die Extension meist auch schon |
|
45 |
vorhanden. Sollten Sie eine ältere Version von Postgres haben, |
|
46 |
benutzen Sie stattdessen den folgenden Befehl.</p><pre class="programlisting">CREATE LANGUAGE 'plpgsql'; |
|
47 |
\q</pre></td></tr></table></div></div><div class="sect2" title="2.6.4. Erweiterung für Trigram Prozeduren"><div class="titlepage"><div><div><h3 class="title"><a name="Erweiterung-f%C3%BCr-trigram"></a>2.6.4. Erweiterung für Trigram Prozeduren</h3></div></div></div><p>Ab Version 3.5.1 wird die Trigram-Index-Erweiterung benötigt. |
|
48 |
Diese wird mit dem SQL-Updatescript |
|
49 |
sql/Pg-upgrade2/trigram_extension.sql und Datenbank-Super-Benutzer |
|
50 |
Rechten automatisch installiert. Dazu braucht der |
|
51 |
DatenbankSuperbenutzer "postgres" ein Passwort.</p><pre class="programlisting">su - postgres |
|
52 |
psql |
|
53 |
\password postgres |
|
54 |
|
|
55 |
Eingabe Passwort |
|
56 |
\q</pre><p>Benutzername Postgres und Passwort können jetzt beim Anlegen |
|
57 |
einer Datenbank bzw. bei Updatescripten, die SuperuserRechte |
|
58 |
benötigen, eingegeben werden.</p><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p> |
|
59 |
<code class="literal">pg_trgm</code> ist je nach Distribution nicht im |
|
60 |
Standard-Paket von Postgres enthalten. Ein </p><pre class="programlisting">select * from pg_available_extensions where name ='pg_trgm';</pre><p> |
|
61 |
in template1 sollte entsprechend erfolgreich sein. Andernfalls muss |
|
62 |
das Paket nachinstalliert werden, bspw. bei debian/ubuntu |
|
63 |
</p><pre class="programlisting">apt install postgresql-contrib</pre><p> |
|
64 |
</p></td></tr></table></div></div><div class="sect2" title="2.6.5. Datenbankbenutzer anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Datenbankbenutzer-anlegen"></a>2.6.5. Datenbankbenutzer anlegen</h3></div></div></div><p>Wenn Sie nicht den Datenbanksuperuser “postgres” zum Zugriff |
|
65 |
benutzen wollen, so sollten Sie bei PostgreSQL einen neuen Benutzer |
|
66 |
anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen |
|
67 |
können:</p><p>Die Frage, ob der neue User Superuser sein soll, können Sie mit |
|
68 |
nein beantworten, genauso ist die Berechtigung neue User (Roles) zu |
|
69 |
generieren nicht nötig.</p><pre class="programlisting">su - postgres |
|
70 |
createuser -d -P kivitendo |
|
71 |
exit</pre><p>Wenn Sie später einen Datenbankzugriff konfigurieren, verändern |
|
72 |
Sie den evtl. voreingestellten Benutzer “postgres” auf “kivitendo” |
|
73 |
bzw. den hier gewählten Benutzernamen.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s05.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s07.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.5. kivitendo-Konfigurationsdatei </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.7. Webserver-Konfiguration</td></tr></table></div></body></html> |
doc/html/ch02s07.html | ||
---|---|---|
1 |
<html><head> |
|
2 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
|
3 |
<title>2.7. Webserver-Konfiguration</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s06.html" title="2.6. Anpassung der PostgreSQL-Konfiguration"><link rel="next" href="ch02s08.html" title="2.8. Der Task-Server"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.7. Webserver-Konfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s06.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s08.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.7. Webserver-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Apache-Konfiguration"></a>2.7. Webserver-Konfiguration</h2></div></div></div><div class="sect2" title="2.7.1. Grundkonfiguration mittels CGI"><div class="titlepage"><div><div><h3 class="title"><a name="d0e1254"></a>2.7.1. Grundkonfiguration mittels CGI</h3></div></div></div><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>Für einen deutlichen Performanceschub sorgt die Ausführung |
|
4 |
mittels FastCGI/FCGI. Die Einrichtung wird ausführlich im Abschnitt |
|
5 |
<a class="xref" href="ch02s07.html#Apache-Konfiguration.FCGI" title="2.7.2. Konfiguration für FastCGI/FCGI">Konfiguration für FastCGI/FCGI</a> beschrieben.</p></td></tr></table></div><p>Der Zugriff auf das Programmverzeichnis muss in der Apache |
|
6 |
Webserverkonfigurationsdatei <code class="literal">httpd.conf</code> eingestellt |
|
7 |
werden. Fügen Sie den folgenden Abschnitt dieser Datei oder einer |
|
8 |
anderen Datei hinzu, die beim Starten des Webservers eingelesen |
|
9 |
wird:</p><pre class="programlisting">AliasMatch ^/kivitendo-erp/[^/]+\.pl /var/www/kivitendo-erp/dispatcher.pl |
|
10 |
Alias /kivitendo-erp/ /var/www/kivitendo-erp/ |
|
11 |
|
|
12 |
<Directory /var/www/kivitendo-erp> |
|
13 |
AddHandler cgi-script .pl |
|
14 |
Options ExecCGI Includes FollowSymlinks |
|
15 |
</Directory> |
|
16 |
|
|
17 |
<Directory /var/www/kivitendo-erp/users> |
|
18 |
Require all granted |
|
19 |
</Directory></pre><p>Ersetzen Sie dabei die Pfade durch diejenigen, in die Sie vorher |
|
20 |
das kivitendo-Archiv entpacket haben.</p><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>Vor den einzelnen Optionen muss bei einigen Distributionen ein |
|
21 |
Plus ‘<code class="literal">+</code>’ gesetzt werden.</p><p>Bei einigen Distribution (Ubuntu ab 14.04, Debian ab 8.2) muss |
|
22 |
noch explizit das cgi-Modul mittels </p><pre class="programlisting">a2enmod cgi</pre><p> |
|
23 |
aktiviert werden.</p></td></tr></table></div><p>Auf einigen Webservern werden manchmal die Grafiken und |
|
24 |
Style-Sheets nicht ausgeliefert. In solchen Fällen hat es oft |
|
25 |
geholfen, die folgende Option in die Konfiguration aufzunehmen:</p><pre class="programlisting">EnableSendfile Off</pre></div><div class="sect2" title="2.7.2. Konfiguration für FastCGI/FCGI"><div class="titlepage"><div><div><h3 class="title"><a name="Apache-Konfiguration.FCGI"></a>2.7.2. Konfiguration für FastCGI/FCGI</h3></div></div></div><div class="sect3" title="2.7.2.1. Was ist FastCGI?"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.WasIstEs"></a>2.7.2.1. Was ist FastCGI?</h4></div></div></div><p>Direkt aus <a class="ulink" href="http://de.wikipedia.org/wiki/FastCGI" target="_top">Wikipedia</a> |
|
26 |
kopiert:</p><p> |
|
27 |
[<span class="citation"> FastCGI ist ein Standard für die Einbindung |
|
28 |
externer Software zur Generierung dynamischer Webseiten in einem |
|
29 |
Webserver. FastCGI ist vergleichbar zum Common Gateway Interface |
|
30 |
(CGI), wurde jedoch entwickelt, um dessen Performance-Probleme zu |
|
31 |
umgehen. </span>] |
|
32 |
</p></div><div class="sect3" title="2.7.2.2. Warum FastCGI?"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.Warum"></a>2.7.2.2. Warum FastCGI?</h4></div></div></div><p>Perl Programme (wie kivitendo eines ist) werden nicht statisch |
|
33 |
kompiliert. Stattdessen werden die Quelldateien bei jedem Start |
|
34 |
übersetzt, was bei kurzen Laufzeiten einen Großteil der Laufzeit |
|
35 |
ausmacht. Während SQL Ledger einen Großteil der Funktionalität in |
|
36 |
einzelne Module kapselt, um immer nur einen kleinen Teil laden zu |
|
37 |
müssen, ist die Funktionalität von kivitendo soweit gewachsen, dass |
|
38 |
immer mehr Module auf den Rest des Programms zugreifen. Zusätzlich |
|
39 |
benutzen wir umfangreiche Bibliotheken um Funktionaltät nicht selber |
|
40 |
entwickeln zu müssen, die zusätzliche Ladezeit kosten. All dies |
|
41 |
führt dazu dass ein kivitendo Aufruf der Kernmasken mittlerweile |
|
42 |
deutlich länger dauert als früher, und dass davon 90% für das Laden |
|
43 |
der Module verwendet wird.</p><p>Mit FastCGI werden nun die Module einmal geladen, und danach |
|
44 |
wird nur die eigentliche Programmlogik ausgeführt.</p></div><div class="sect3" title="2.7.2.3. Getestete Kombinationen aus Webservern und Plugin"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.WebserverUndPlugin"></a>2.7.2.3. Getestete Kombinationen aus Webservern und Plugin</h4></div></div></div><p>Folgende Kombinationen sind getestet:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Apache 2.4.7 (Ubuntu 14.04.2 LTS) und mod_fcgid.</p></li><li class="listitem"><p>Apache 2.4.18 (Ubuntu 16.04 LTS) und mod_fcgid</p></li><li class="listitem"><p>Apache 2.4.29 (Ubuntu 18.04 LTS) und mod_fcgid</p></li><li class="listitem"><p>Apache 2.4.41 (Ubuntu 20.04 LTS) und mod_fcgid</p></li></ul></div><p>Als Perl Backend wird das Modul <code class="filename">FCGI.pm</code> |
|
45 |
verwendet.</p><div class="warning" title="Warnung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warnung]" src="system/docbook-xsl/images/warning.png"></td><th align="left">Warnung</th></tr><tr><td align="left" valign="top"><p>FCGI-Versionen ab 0.69 und bis zu 0.71 inklusive sind extrem |
|
46 |
strict in der Behandlung von Unicode, und verweigern bestimmte |
|
47 |
Eingaben von kivitendo. Falls es Probleme mit Umlauten in Ihrer |
|
48 |
Installation gibt, muss zwingend Version 0.68 oder aber Version |
|
49 |
0.72 und neuer eingesetzt werden.</p><p>Mit <a class="ulink" href="http://www.cpan.org" target="_top">CPAN</a> lässt sie |
|
50 |
sich die Vorgängerversion wie folgt installieren:</p><pre class="programlisting">force install M/MS/MSTROUT/FCGI-0.68.tar.gz</pre></td></tr></table></div></div><div class="sect3" title="2.7.2.4. Konfiguration des Webservers"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.Konfiguration"></a>2.7.2.4. Konfiguration des Webservers</h4></div></div></div><p>Bevor Sie versuchen, eine kivitendo Installation unter FCGI |
|
51 |
laufen zu lassen, empfiehlt es sich die Installation ersteinmal |
|
52 |
unter CGI aufzusetzen. FCGI macht es nicht einfach Fehler zu |
|
53 |
debuggen die beim ersten aufsetzen auftreten können. Sollte die |
|
54 |
Installation schon funktionieren, lesen Sie weiter.</p><p>Zuerst muss das FastCGI-Modul aktiviert werden. Dies kann |
|
55 |
unter Debian/Ubuntu z.B. mit folgendem Befehl geschehen:</p><pre class="programlisting">a2enmod fcgid</pre><p>Die Konfiguration für die Verwendung von kivitendo mit FastCGI |
|
56 |
erfolgt durch Anpassung der vorhandenen <code class="function">Alias</code>- |
|
57 |
und <code class="function">Directory</code>-Direktiven. Dabei wird zwischen |
|
58 |
dem Installationspfad von kivitendo im Dateisystem |
|
59 |
("<code class="filename">/path/to/kivitendo-erp</code>") und der URL |
|
60 |
unterschieden, unter der kivitendo im Webbrowser erreichbar ist |
|
61 |
("<code class="filename">/url/for/kivitendo-erp</code>").</p><p>Folgender Konfigurationsschnipsel funktioniert mit |
|
62 |
mod_fastcgi:</p><pre class="programlisting">AliasMatch ^/url/for/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fcgi |
|
63 |
Alias /url/for/kivitendo-erp/ /path/to/kivitendo-erp/ |
|
64 |
|
|
65 |
<Directory /path/to/kivitendo-erp> |
|
66 |
AllowOverride All |
|
67 |
Options ExecCGI Includes FollowSymlinks |
|
68 |
Require all granted |
|
69 |
</Directory> |
|
70 |
|
|
71 |
<DirectoryMatch /path/to/kivitendo-erp/users> |
|
72 |
Require all denied |
|
73 |
</DirectoryMatch></pre><div class="warning" title="Warnung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warnung]" src="system/docbook-xsl/images/warning.png"></td><th align="left">Warnung</th></tr><tr><td align="left" valign="top"><p>Wer einen älteren Apache als Version 2.4 im Einsatz hat, |
|
74 |
muss entsprechend die Syntax der Directorydirektiven verändert. |
|
75 |
Statt</p><pre class="programlisting">Require all granted</pre><p>muß man Folgendes einstellen:</p><pre class="programlisting"> |
|
76 |
Order Allow,Deny |
|
77 |
Allow from All </pre><p>und statt</p><pre class="programlisting">Require all denied</pre><p>muss stehen:</p><pre class="programlisting"> |
|
78 |
Order Deny,Allow |
|
79 |
Deny from All </pre></td></tr></table></div><p>Seit mod_fcgid-Version 2.3.6 gelten sehr kleine Grenzen für |
|
80 |
die maximale Größe eines Requests. Diese sollte wie folgt |
|
81 |
hochgesetzt werden:</p><pre class="programlisting">FcgidMaxRequestLen 10485760</pre><p>Das Ganze sollte dann so aussehen:</p><pre class="programlisting">AddHandler fcgid-script .fpl |
|
82 |
AliasMatch ^/url/for/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fpl |
|
83 |
Alias /url/for/kivitendo-erp/ /path/to/kivitendo-erp/ |
|
84 |
FcgidMaxRequestLen 10485760 |
|
85 |
|
|
86 |
<Directory /path/to/kivitendo-erp> |
|
87 |
AllowOverride All |
|
88 |
Options ExecCGI Includes FollowSymlinks |
|
89 |
Require all granted |
|
90 |
</Directory> |
|
91 |
|
|
92 |
<DirectoryMatch /path/to/kivitendo-erp/users> |
|
93 |
Require all denied |
|
94 |
</DirectoryMatch></pre><p>Hierdurch wird nur ein zentraler Dispatcher gestartet. Alle |
|
95 |
Zugriffe auf die einzelnen Scripte werden auf diesen umgeleitet. |
|
96 |
Dadurch, dass zur Laufzeit öfter mal Scripte neu geladen werden, |
|
97 |
gibt es hier kleine Performance-Einbußen.</p><p>Es ist möglich, die gleiche kivitendo Version parallel unter |
|
98 |
CGI und FastCGI zu betreiben. Dafür bleiben die Directorydirektiven |
|
99 |
wie oben beschrieben, die URLs werden aber umgeleitet:</p><pre class="programlisting"># Zugriff über CGI |
|
100 |
Alias /url/for/kivitendo-erp /path/to/kivitendo-erp |
|
101 |
|
|
102 |
# Zugriff mit mod_fcgid: |
|
103 |
AliasMatch ^/url/for/kivitendo-erp-fcgid/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fpl |
|
104 |
Alias /url/for/kivitendo-erp-fcgid/ /path/to/kivitendo-erp/</pre><p>Dann ist unter <code class="filename">/url/for/kivitendo-erp/</code> |
|
105 |
die normale Version erreichbar, und unter |
|
106 |
<code class="constant">/url/for/kivitendo-erp-fcgid/</code> die |
|
107 |
FastCGI-Version.</p></div></div><div class="sect2" title="2.7.3. Authentifizierung mittels HTTP Basic Authentication"><div class="titlepage"><div><div><h3 class="title"><a name="d0e1408"></a>2.7.3. Authentifizierung mittels HTTP Basic Authentication</h3></div></div></div><p> |
|
108 |
Kivitendo unterstützt, dass Benutzerauthentifizierung über den Webserver mittels des »Basic«-HTTP-Authentifizierungs-Schema erfolgt |
|
109 |
(siehe <a class="ulink" href="https://tools.ietf.org/html/rfc7617" target="_top">RFC 7617</a>). Dazu ist es aber nötig, dass der dabei vom Client |
|
110 |
mitgeschickte Header <code class="constant">Authorization</code> vom Webserver an Kivitendo über die Umgebungsvariable |
|
111 |
<code class="constant">HTTP_AUTHORIZATION</code> weitergegeben wird, was standardmäßig nicht der Fall ist. Für Apache kann dies über die |
|
112 |
folgende Konfigurationsoption aktiviert werden: |
|
113 |
</p><pre class="programlisting">SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1</pre></div><div class="sect2" title="2.7.4. Aktivierung von mod_rewrite/directory_match für git basierte Installationen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e1424"></a>2.7.4. Aktivierung von mod_rewrite/directory_match für git basierte Installationen</h3></div></div></div><p> |
|
114 |
Aufgrund von aktuellen (Mitte 2020) Sicherheitswarnungen für git basierte Webanwendungen ist die mitausgelieferte .htaccess |
|
115 |
restriktiver geworden und verhindert somit das Auslesen von git basierten Daten. |
|
116 |
Für debian/ubuntu muss das Modul mod_rewrite einmalig so aktiviert werden: |
|
117 |
</p><pre class="programlisting">a2enmod rewrite</pre><p> |
|
118 |
Alternativ und für Installationen ohne Apache ist folgender Artikel interessant: |
|
119 |
<a class="ulink" href="https://www.cyberscan.io/blog/git-luecke" target="_top">git-lücke</a>. |
|
120 |
Anstelle des dort beschriebenen DirectoryMatch für Apache2 würden wir etwas weitergehend auch noch das Verzeichnis config miteinbeziehen |
|
121 |
sowie ferner auch die Möglichkeit nicht ausschließen, dass es in Unterverzeichnissen auch noch .git Repositories geben kann. |
|
122 |
Die Empfehlung für Apache 2.4 wäre damit: |
|
123 |
</p><pre class="programlisting"> |
|
124 |
<DirectoryMatch "/(\.git|config)/"> |
|
125 |
Require all denied |
|
126 |
</DirectoryMatch></pre><p> |
|
127 |
|
|
128 |
</p></div><div class="sect2" title="2.7.5. Weitergehende Konfiguration"><div class="titlepage"><div><div><h3 class="title"><a name="d0e1438"></a>2.7.5. Weitergehende Konfiguration</h3></div></div></div><p>Für einen deutlichen Sicherheitsmehrwert sorgt die Ausführung |
|
129 |
von kivitendo nur über https-verschlüsselten Verbindungen, sowie |
|
130 |
weiteren Zusatzmassnahmen, wie beispielsweise Basic Authenticate. Die |
|
131 |
Konfigurationsmöglichkeiten sprengen allerdings den Rahmen dieser |
|
132 |
Anleitung, hier ein Hinweis auf einen entsprechenden <a class="ulink" href="http://redmine.kivitendo-premium.de/boards/1/topics/142" target="_top">Foreneintrag |
|
133 |
(Stand Sept. 2015)</a> und einen aktuellen (Stand Mai 2017) <a class="ulink" href="https://mozilla.github.io/server-side-tls/ssl-config-generator/" target="_top"> |
|
134 |
SSL-Konfigurations-Generator</a>.</p></div><div class="sect2" title="2.7.6. Aktivierung von Apache2 modsecurity"><div class="titlepage"><div><div><h3 class="title"><a name="d0e1449"></a>2.7.6. Aktivierung von Apache2 modsecurity</h3></div></div></div><p>Aufgrund des OpenSource Charakters ist kivitendo nicht "out of the box" sicher. |
|
135 |
Organisatorisch empfehlen wir hier die enge Zusammenarbeit mit einem kivitendo Partner der auch in der |
|
136 |
Lage ist weiterführende Fragen in Bezug auf Datenschutz und Datensicherheit zu beantworten. |
|
137 |
Unabhängig davon empfehlen wir im Webserver Bereich die Aktivierung und Konfiguration des Moduls modsecurity für den Apache2, damit |
|
138 |
XSS und SQL-Injections verhindert werden.</p><p> Als Idee hierfür sei dieser Blog-Eintrag genannt: |
|
139 |
<a class="ulink" href="https://doxsec.wordpress.com/2017/06/11/using-modsecurity-web-application-firewall-to-prevent-sql-injection-and-xss-using-blocking-rules/" target="_top"> |
|
140 |
Test Apache2 modsecurity for SQL Injection</a>.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s06.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s08.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.6. Anpassung der PostgreSQL-Konfiguration </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.8. Der Task-Server</td></tr></table></div></body></html> |
doc/html/ch02s08.html | ||
---|---|---|
44 | 44 |
Links aus einem der Runlevel-Verzeichnisse heraus in den Boot-Prozess |
45 | 45 |
einzubinden. Da das bei neueren Linux-Distributionen aber nicht |
46 | 46 |
zwangsläufig funktioniert, werden auch Start-Scripte mitgeliefert, die |
47 |
anstelle eines symbolischen Links verwendet werden können.</p><div class="sect3" title="2.8.3.1. SystemV-basierende Systeme (z.B. ältere Debian, ältere openSUSE, ältere Fedora)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1488"></a>2.8.3.1. SystemV-basierende Systeme (z.B. ältere Debian, ältere
|
|
47 |
anstelle eines symbolischen Links verwendet werden können.</p><div class="sect3" title="2.8.3.1. SystemV-basierende Systeme (z.B. ältere Debian, ältere openSUSE, ältere Fedora)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1522"></a>2.8.3.1. SystemV-basierende Systeme (z.B. ältere Debian, ältere
|
|
48 | 48 |
openSUSE, ältere Fedora)</h4></div></div></div><p>Kopieren Sie die Datei |
49 | 49 |
<code class="filename">scripts/boot/system-v/kivitendo-task-server</code> |
50 | 50 |
nach <code class="filename">/etc/init.d/kivitendo-task-server</code>. Passen |
... | ... | |
52 | 52 |
<code class="literal">DAEMON=....</code>). Binden Sie das Script in den |
53 | 53 |
Boot-Prozess ein. Dies ist distributionsabhängig:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Debian-basierende Systeme:</p><pre class="programlisting">update-rc.d kivitendo-task-server defaults |
54 | 54 |
insserv kivitendo-task-server</pre></li><li class="listitem"><p>Ältere openSUSE und ältere Fedora:</p><pre class="programlisting">chkconfig --add kivitendo-task-server</pre></li></ul></div><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet |
55 |
werden:</p><pre class="programlisting">/etc/init.d/kivitendo-task-server start</pre></div><div class="sect3" title="2.8.3.2. Upstart-basierende Systeme (z.B. Ubuntu bis 14.04)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1517"></a>2.8.3.2. Upstart-basierende Systeme (z.B. Ubuntu bis 14.04)</h4></div></div></div><p>Kopieren Sie die Datei
|
|
55 |
werden:</p><pre class="programlisting">/etc/init.d/kivitendo-task-server start</pre></div><div class="sect3" title="2.8.3.2. Upstart-basierende Systeme (z.B. Ubuntu bis 14.04)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1551"></a>2.8.3.2. Upstart-basierende Systeme (z.B. Ubuntu bis 14.04)</h4></div></div></div><p>Kopieren Sie die Datei
|
|
56 | 56 |
<code class="filename">scripts/boot/upstart/kivitendo-task-server.conf</code> |
57 | 57 |
nach <code class="filename">/etc/init/kivitendo-task-server.conf</code>. |
58 | 58 |
Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile |
59 | 59 |
<code class="literal">exec ....</code>).</p><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet |
60 |
werden:</p><pre class="programlisting">service kivitendo-task-server start</pre></div><div class="sect3" title="2.8.3.3. systemd-basierende Systeme (z.B. neure openSUSE, neuere Fedora, neuere Ubuntu und neuere Debians)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1535"></a>2.8.3.3. systemd-basierende Systeme (z.B. neure openSUSE, neuere
|
|
60 |
werden:</p><pre class="programlisting">service kivitendo-task-server start</pre></div><div class="sect3" title="2.8.3.3. systemd-basierende Systeme (z.B. neure openSUSE, neuere Fedora, neuere Ubuntu und neuere Debians)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1569"></a>2.8.3.3. systemd-basierende Systeme (z.B. neure openSUSE, neuere
|
|
61 | 61 |
Fedora, neuere Ubuntu und neuere Debians)</h4></div></div></div><p>Kopieren Sie die Datei |
62 | 62 |
<code class="filename">scripts/boot/systemd/kivitendo-task-server.service</code> |
63 | 63 |
nach <code class="filename">/etc/systemd/system/</code>. Passen Sie in der |
doc/html/ch02s13.html | ||
---|---|---|
1 |
<html><head> |
|
2 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
|
3 |
<title>2.13. Drucken mit kivitendo</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s12.html" title="2.12. E-Mail-Versand aus kivitendo heraus"><link rel="next" href="ch02s14.html" title="2.14. OpenDocument-Vorlagen"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.13. Drucken mit kivitendo</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s12.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s14.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.13. Drucken mit kivitendo"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Drucken-mit-kivitendo"></a>2.13. Drucken mit kivitendo</h2></div></div></div><p>Das Drucksystem von kivitendo benutzt von Haus aus LaTeX-Vorlagen. |
|
4 |
Um drucken zu können, braucht der Server ein geeignetes LaTeX System. Am |
|
5 |
einfachsten ist dazu eine <code class="literal">texlive</code> Installation. Unter |
|
6 |
debianoiden Betriebssystemen installiert man die Pakete mit:</p><p> |
|
7 |
</p><pre class="programlisting">apt install texlive-base-bin texlive-latex-recommended texlive-fonts-recommended \ |
|
8 |
texlive-latex-extra texlive-lang-german ghostscript</pre><p> |
|
9 |
</p><p>Für Fedora benötigen Sie die folgenden Pakete:</p><p> |
|
10 |
</p><pre class="programlisting">dnf install texlive-collection-latex texlive-collection-latexextra \ |
|
11 |
texlive-collection-latexrecommended texlive-collection-langgerman \ |
|
12 |
texlive-collection-langenglish</pre><p> |
|
13 |
</p><p>Für openSUSE benötigen Sie die folgenden Pakete:</p><p> |
|
14 |
</p><pre class="programlisting">zypper install texlive-collection-latex texlive-collection-latexextra \ |
|
15 |
texlive-collection-latexrecommended texlive-collection-langgerman \ |
|
16 |
texlive-collection-langenglish</pre><p> |
|
17 |
</p><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>kivitendo erwartet eine aktuelle TeX Live Umgebung, um PDF/A zu erzeugen. Aktuelle Distributionen von 2020 erfüllen diese. Überprüfbar ist dies mit dem Aufruf des installation_check.pl mit Parameter -l:</p><p> |
|
18 |
</p><pre class="programlisting">scripts/installations_check.pl -l</pre><p> |
|
19 |
</p></td></tr></table></div><p>kivitendo bringt drei alternative Vorlagensätze mit:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>RB</p></li><li class="listitem"><p>marei</p></li><li class="listitem"><p>rev-odt</p></li></ul></div><p>Der ehemalige Druckvorlagensatz "f-tex" wurde mit der Version |
|
20 |
3.5.6 entfernt, da er nicht mehr gepflegt wird.</p><div class="sect2" title="2.13.1. Vorlagenverzeichnis anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Vorlagenverzeichnis-anlegen"></a>2.13.1. Vorlagenverzeichnis anlegen</h3></div></div></div><p>Es lässt sich ein initialer Vorlagensatz erstellen. Die |
|
21 |
LaTeX-System-Abhängigkeiten hierfür kann man prüfen mit:</p><pre class="programlisting">./scripts/installation_check.pl -lv</pre><p>Der Angemeldete Benutzer muss in einer Gruppe sein, die über das |
|
22 |
Recht "Konfiguration -> Mandantenverwaltung" verfügt. Siehe auch |
|
23 |
<a class="xref" href="ch02s10.html#Gruppen-anlegen" title="2.10.4. Gruppen anlegen">Abschnitt 2.10.4, „Gruppen anlegen“</a>.</p><p>Im Userbereich lässt sich unter: "<span class="guimenu">System</span> |
|
24 |
-> <span class="guisubmenu">Mandantenverwaltung</span> -> |
|
25 |
<span class="guimenuitem">Verschiedenes</span>" die Option "Neue |
|
26 |
Druckvorlagen aus Vorlagensatz erstellen" auswählen.</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p> |
|
27 |
<code class="option">Vorlagen auswählen</code>: Wählen Sie hier den |
|
28 |
Vorlagensatz aus, der kopiert werden soll |
|
29 |
(<code class="filename">RB</code>, <code class="filename">marei</code> oder |
|
30 |
<code class="filename">odt-rev</code>.)</p></li><li class="listitem"><p> |
|
31 |
<code class="option">Neuer Name</code>: Der Verzeichnisname für den |
|
32 |
neuen Vorlagensatz. Dieser kann im Rahmen der üblichen Bedingungen |
|
33 |
für Verzeichnisnamen frei gewählt werden.</p></li></ol></div><p>Nach dem Speichern wird das Vorlagenverzeichnis angelegt und ist |
|
34 |
für den aktuellen Mandanten ausgewählt. Der gleiche Vorlagensatz kann, |
|
35 |
wenn er mal angelegt ist, bei mehreren Mandanten verwendet werden. |
|
36 |
Eventuell müssen Anpassungen (Logo, Erscheinungsbild, etc) noch |
|
37 |
vorgenommen werden. Den Ordner findet man im Dateisystem unter |
|
38 |
<code class="filename">./templates/[Neuer Name]</code> |
|
39 |
</p></div><div class="sect2" title="2.13.2. Der Druckvorlagensatz marei"><div class="titlepage"><div><div><h3 class="title"><a name="Aufbau des marei Vorlagensatzes"></a>2.13.2. Der Druckvorlagensatz marei</h3></div></div></div><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="system/docbook-xsl/images/note.png"></td><th align="left"><a name="marei.document.link"></a>Anmerkung</th></tr><tr><td align="left" valign="top"><p>Die aktuelle Dokumentation inkl. dem Foliensatz vom kivi-Treffen im August 2023 befindet sich hier: |
|
40 |
<a class="ulink" href="https://peitex.de/materialien/2023-08-04_kivitendo/" target="_top"> https://peitex.de/materialien/2023-08-04_kivitendo/</a> |
|
41 |
|
|
42 |
</p></td></tr></table></div><div class="sect3" title="2.13.2.1. Quickstart – Wo kann was angepasst werden?"><div class="titlepage"><div><div><h4 class="title"><a name="Quickstart %E2%80%93 Wo kann was angepasst werden?"></a>2.13.2.1. Quickstart – Wo kann was angepasst werden?</h4></div></div></div><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="system/docbook-xsl/images/note.png"></td><th align="left"><a name="do-not-edit-marei"></a>Anmerkung</th></tr><tr><td align="left" valign="top"><p>In keinem Fall sollten Dateien mit der Endung <code class="filename">*.cls</code> oder <code class="filename">*.sty</code> geändert werden. Durch Änderungen an diesen Dateien verhindert man Updates auf neuer Versionen. |
|
43 |
Zwar kopiert kivitendo die Datei und bearbeitet diese beim Update nicht. Allerdings sind sämtliche Änderungen über die Konfigurationsdateien möglich und erhöhen die Wartbarkeit.</p></td></tr></table></div><div class="itemizedlist"><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>Pfad zu Angaben über Mandant*innen (default: firma)</p></li><li class="listitem"><p>Logo/Briefpapier, falls für alle Mandant*innen in gleicher Struktur. Sonst in der <code class="filename">ident.tex</code>.</p></li><li class="listitem"><p>Layout der Kopf/Fußzeile</p></li><li class="listitem"><p>innerhalb dieser Datei werden auch die folgenden Dateien geladen:</p></li><li class="listitem"><p> |
|
44 |
<code class="filename">firma/ident.tex</code> Mandant*innenspezifische Konfiguration, Adressdaten</p></li><li class="listitem"><p> |
|
45 |
<code class="filename">firma/$währungskürzel_account.tex</code> |
|
46 |
</p></li></ul></div><pre class="programlisting"> |
|
47 |
\begin{description} |
|
48 |
\item[deutsch.tex] Textschnipsel für Deutsch\\ |
|
49 |
Dafür eine Sprache mit Vorlagenkürzel DE anlegen |
|
50 |
\item[english.tex] Textschnipsel für Englisch\\ |
|
51 |
Dafür eine Sprache mit Vorlagenkürzel EN anlegen |
|
52 |
\end{description}</pre><ul class="itemizedlist" type="disc"><li class="listitem"><p> |
|
53 |
<code class="filename">insettings.tex</code> :</p></li><li class="listitem"><p>Sprache/Übersetzungen.\\Es muss mindestens eine Sprache angelegt werden!</p></li></ul></div><p>Alle dokumententypspezifischen Einstellungen müssen in der jeweiligen Template-Datei modifiziert werden.</p></div><div class="sect3" title="2.13.2.2. Aufbau"><div class="titlepage"><div><div><h4 class="title"><a name="Aufbau"></a>2.13.2.2. Aufbau</h4></div></div></div><p>Die Grundstruktur besteht je Dokumententyp aus einer Basisdatei und verschiedenen Setup-Dateien.</p><p>Die Basis wurde so überarbeitet, dass Dokumente nun generell auf |
|
54 |
der Dokumentenklasse <code class="filename">scrartcl.cls</code> basieren und |
|
55 |
das Paket <code class="filename">kiviletter.sty</code> benutzen.</p><p>Mandant*innenspezifische Konfiguration findet sich in der Datei <code class="filename">insettings.tex</code> und |
|
56 |
dem Ordner eines spezifischen Mandant*innen (default=*firma/*).</p></div><div class="sect3" title="2.13.2.3. Mandant*innen / Firma"><div class="titlepage"><div><div><h4 class="title"><a name="Mandant*innen / Firma"></a>2.13.2.3. Mandant*innen / Firma</h4></div></div></div><p>Um gleiche Vorlagen für verschiedene Firmen verwenden zu können, wird je |
|
57 |
nach dem Wert der Kivitendo-Variablen \kivivar{kivicompany} ein |
|
58 |
Firmenverzeichnis ausgewählt (siehe <code class="filename">insettings.tex</code>), in dem Briefkopf, |
|
59 |
Identitäten und Währungs-/Kontoeinstellungen hinterlegt sind. |
|
60 |
\kivivar{kivicompany} enthält den Namen des verwendeten Mandant*innendaten. |
|
61 |
Ist kein Firmenname eingetragen, so wird das |
|
62 |
generische Unterverzeichnis *firma* verwendet.</p></div><div class="sect3" title="2.13.2.4. Identitäten"><div class="titlepage"><div><div><h4 class="title"><a name="Identit%C3%A4ten"></a>2.13.2.4. Identitäten</h4></div></div></div><p>In jedem Firmen-Unterverzeichnis soll eine Datei <code class="filename">ident.tex</code> |
|
63 |
vorhanden sein, die mit |\newcommand| Werte für |\telefon|, |\fax|, |
|
64 |
|\firma|, |\strasse|, |\ort|, |\ustid|, |\email| und |\homepage| definiert.</p></div><div class="sect3" title="2.13.2.5. Währungen/Konten"><div class="titlepage"><div><div><h4 class="title"><a name="W%C3%A4hrungen/Konten"></a>2.13.2.5. Währungen/Konten</h4></div></div></div><p>Für jede Währung (siehe <code class="filename">insettings.tex</code>) soll eine Datei vorhanden |
|
65 |
sein, die das Währungssymbol (|\currency|) und folgende Angaben für |
|
66 |
ein Konto in dieser Währung enthält |\kontonummer|, |\bank|, |
|
67 |
|\bankleitzahl|, |\bic| und |\iban|. |
|
68 |
So kann in den Dokumenten je nach Währung ein anderes Konto |
|
69 |
angegeben werden. |
|
70 |
Nach demselben Schema können auch weitere, alternative Bankverbindungen |
|
71 |
angelegt werden, die dann in <code class="filename">insettings.tex</code> als Variable in der Fußzeile eingefügt werden.</p><p>Als Fallback (falls kivitendo keine Währung an das Druckvorlagen-System übergibt) |
|
72 |
ist Euro eingestellt. Dies lässt sich in der <code class="filename">insettings.tex</code> über das optionale Argument |
|
73 |
von |\setupCurrencyConfig| anpassen, z.B.</p><pre class="programlisting"> |
|
74 |
\setupCurrencyConfig[chf]{\identpath}{\lxcurrency}</pre><p>für Schweizer Franken als Standardwährung.</p></div><div class="sect3" title="2.13.2.6. Briefbogen/Logos"><div class="titlepage"><div><div><h4 class="title"><a name="Briefbogen/Logos"></a>2.13.2.6. Briefbogen/Logos</h4></div></div></div><p>Eine Hintergrundgrafik oder ein Logo kann in Abhängigkeit vom |
|
75 |
Medium (z.B. nur beim Verschicken mit E-Mail) eingebunden |
|
76 |
werden.</p><p>Desweiteren sind (auskommentierte) Beispiele enthalten für eine |
|
77 |
Grafik als Briefkopf, nur ein Logo, oder ein komplettes A4-PDF |
|
78 |
als Briefpapier.</p><p>Absolute Positionierung innerhalb des Brief-Layouts ist über die entsprechende Dokumentation des scrlayer-Paketes möglich. |
|
79 |
Da die Voreinstellungen bereits einige Sonderfälle automatisch berücksichtigen ist mit den Anpassungen Vorsicht geboten. |
|
80 |
Sämtliche Einstellungen sollten jedoch außerhalb der *.sty-Dateien vorgenommen werden. |
|
81 |
Anpassungen der <code class="filename">insettings.tex</code> betreffen hierbei alle Mandant*innen. Spezifischere Einstellungen sind über die zugehörige Konfigurationsdatei (<code class="filename">ident.tex</code>) möglich. |
|
82 |
In diesem Fall kann zum Ende der insettings eine weitere Konfigurationsdatei über die Verwendung von |\identpath| geladen werden. Ein Beispiel ist in der <code class="filename">insettings.tex</code> enthalten.</p></div><div class="sect3" title="2.13.2.7. Fußzeile"><div class="titlepage"><div><div><h4 class="title"><a name="Fu%C3%9Fzeile"></a>2.13.2.7. Fußzeile</h4></div></div></div><p>Die Tabelle im Fuß verwendet die Angaben aus <code class="filename">firma/ident.tex</code> und |
|
83 |
*firma/<code class="filename">\_account.tex</code>. Ihre Struktur wird in der <code class="filename">insettings.tex</code> definiert. |
|
84 |
Sie kann anschließend auch Mandant*innenspezifisch überschrieben werden.</p></div><div class="sect3" title="2.13.2.8. Seitenstil/Basislayout"><div class="titlepage"><div><div><h4 class="title"><a name="Seitenstil/Basislayout"></a>2.13.2.8. Seitenstil/Basislayout</h4></div></div></div><p>Das Seitenlayout wird über \pck{scrlayer-scrpage} bestimmt. Die ausführliche Dokumentation findet sich in \cite{scrguide}. |
|
85 |
Es existieren in der Datei <code class="filename">insettings.tex</code> einige Hinweise zu den Anpassungen. Die Basiskonfiguration ist ebenfalls dort eingetragen.</p><p>Neben den in Abschnitt \ref{sec:options} beschriebenen Optionen zum Abschalten der Fußzeile kann |
|
86 |
der Inhalt der Fußzeile über die \pck{scrlayer-scrpage} Makros, wie</p><pre class="programlisting"> |
|
87 |
\cfoot[|\meta{Inhalt auf der ersten Briefseite}|]{|\meta{Inhalt auf folgenden Briefseiten}|} </pre><p>geändert werden.</p><p>Die Kopfzeile unterscheidet sich von Dokumententyp zu Dokumententyp leicht, da diese über Datenbankvariablen befüllt wird. |
|
88 |
Hierfür wird das Makro |\ourhead| in der <code class="filename">insettings.tex</code> definiert.</p><pre class="programlisting"> |
|
89 |
\DescribeMacro{\ourhead}\marg{Bezeichner}\marg{Eintrag}\marg{Titel}\marg{Nummer}\marg{Datum} </pre><p>Diese Definition kann ebenfalls über die <code class="filename">insettings.tex</code> angepasst oder auch nachträglich überschrieben werden:</p><pre class="programlisting"> |
|
90 |
\newcommand{\ourhead}[5] {% |
|
91 |
\chead{% |
|
92 |
\makebox[\textwidth]{% |
|
93 |
\Ifstr{#1}{}{}{#1: #2 \hspace{0.7cm}}% |
|
94 |
#3% |
|
95 |
\Ifstr{#4}{}{}{~\nr: #4}% |
|
96 |
\Ifstr{#5}{}{}{\vom ~ #5}% |
|
97 |
\hspace{0.7cm} - \seite ~ \thepage/\letterlastpage ~-% |
|
98 |
}% |
|
99 |
}% |
|
100 |
} |
|
101 |
</pre><p>In der Standard-Einstellung sieht eine Kopfzeile mit obigen Aufruf dann folgendermaßen aus:</p><pre class="programlisting"> |
|
102 |
\newcommand{\ourhead}[5] {% |
|
103 |
\makebox[\textwidth]{% |
|
104 |
\Ifstr{#1}{}{}{#1: #2 \hspace{0.7cm}}% |
|
105 |
#3% |
|
106 |
\Ifstr{#4}{}{}{~\nr: #4}% |
|
107 |
\Ifstr{#5}{}{}{\vom ~ #5}% |
|
108 |
\hspace{0.7cm} - \seite ~ \thepage/\letterlastpage ~-% |
|
109 |
}% |
|
110 |
} |
|
111 |
|
|
112 |
\begingroup |
|
113 |
\def\letterlastpage{50} |
|
114 |
|
|
115 |
\ourhead{arg1}{arg2}{arg3}{arg4}{arg5} |
|
116 |
|
|
117 |
\smallskip |
|
118 |
Erzeugt mit dem Aufruf |
|
119 |
\ourhead{arg1}{arg2}{arg3}{arg4}{arg5} |
|
120 |
\endgroup </pre></div><div class="sect3" title="2.13.2.9. Absenderergänzung"><div class="titlepage"><div><div><h4 class="title"><a name="Absendererg%C3%A4nzung"></a>2.13.2.9. Absenderergänzung</h4></div></div></div><p>Die Absenderergänzung wird über die Variable |location| in der |kiviletter.sty| folgendermaßen belegt:</p><pre class="programlisting"> |
|
121 |
\setkomavar{location}{ |
|
122 |
\Ifkomavarempty{transaction}{}{{ |
|
123 |
\usekomafont{transaction} |
|
124 |
\usekomavar{transaction} |
|
125 |
} |
|
126 |
} |
|
127 |
\par |
|
128 |
\medskip |
|
129 |
\parbox{\useplength{locwidth}}{ |
|
130 |
\locationentry{date} |
|
131 |
\locationentry{myref} |
|
132 |
\locationentry{customer} |
|
133 |
\locationentry{yourref} |
|
134 |
\locationentry{delivery} |
|
135 |
\locationentry{quote} |
|
136 |
\locationentry{orderID} |
|
137 |
\locationentry{projectID} |
|
138 |
\locationentry{taxpoint} |
|
139 |
\locationentry[\ansprechpartner]{fromname} |
|
140 |
\locationentry{fromphone} |
|
141 |
\locationentry*{fromemail} |
|
142 |
} |
|
143 |
} </pre><p>Um die Reihenfolge der Variablenausgabe zu verändern, kann diese Definition als Basis in |
|
144 |
die <code class="filename">insettings.tex</code> oder <code class="filename">ident.tex</code> (Falls nur für eine Firma) kopiert und dort entsprechend modifiziert werden.</p><p>Das Vorgehen geht für alle vorbelegten Variablen analog.</p></div><div class="sect3" title="2.13.2.10. Allgemeine TeXnische Hinweise"><div class="titlepage"><div><div><h4 class="title"><a name="Allgemeine TeXnische Hinweise"></a>2.13.2.10. Allgemeine TeXnische Hinweise</h4></div></div></div><div class="sect4" title="2.13.2.10.1. Änderung der Basisschriftart"><div class="titlepage"><div><div><h5 class="title"><a name="%C3%84nderung der Basisschriftart"></a>2.13.2.10.1. Änderung der Basisschriftart</h5></div></div></div><p>\LaTeX{} kann grundsätzlich beliebige Schriftarten verwenden. Hierfür sollte allerdings immer darauf geachtet werden, |
|
145 |
dass die Lizenz der Schriftart das einbetten von Glyphen erlaubt. Dies liegt in der Verantwortung der Anwender*innen. |
|
146 |
Darüber hinaus ist wichtig, welches Kompilierungsprogramm verwendet werden muss. Um TrueType oder OpenType Schriftarten |
|
147 |
zu nutzen sollte |lualatex| verwendet werden. Bei Type1 Schriftarten, die speziell für \LaTeX{} installiert wurden, ist pdfLaTeX möglich. |
|
148 |
Da man heutzutage nur noch moderne Schriftformate Verwenden sollte, wird hier lediglich die Variante für |lualatex| aufgelistet.</p><p>Die Konfiguration läuft hierbei über das \pck{fontspec} Paket (Doku siehe \cite{fontspec}). |
|
149 |
Dann hängt es davon ab, ob die Basisschriftart eine Serifenschriftart ist oder nicht. |
|
150 |
In jedem Fall wird die Änderung entweder in der <code class="filename">insettings.tex</code>, sofern sie für alle |
|
151 |
Mandant*innen gelten soll oder in der Mantant*innenspezifischen Konfigurationsdatei gsesetzt.</p><div class="sect5" title="2.13.2.10.1.1. Änderung, falls es ein Schriftpaket gibt"><div class="titlepage"><div><div><h6 class="title"><a name="d0e2546"></a>2.13.2.10.1.1. Änderung, falls es ein Schriftpaket gibt</h6></div></div></div><p>Wenn möglich sollte die Schriftart über ein entsprechendes Konfigurationspaket gesetzt werden. |
|
152 |
Ob ein solches existiert kann man sehr leicht über eine Suche nach dem Namen unter \url{ctan.org} herausfinden.</p></div><div class="sect5" title="2.13.2.10.1.2. Änderung der Basisschriftart auf eine Schriftart mit Serifen"><div class="titlepage"><div><div><h6 class="title"><a name="d0e2551"></a>2.13.2.10.1.2. Änderung der Basisschriftart auf eine Schriftart mit Serifen</h6></div></div></div><pre class="programlisting"> |
|
153 |
\setmainfont{|\meta{Name der Schriftart, z.B. SourceSerifPro}|} </pre></div><div class="sect5" title="2.13.2.10.1.3. Änderung der Basisschriftart auf eine Schriftart ohne Serifen"><div class="titlepage"><div><div><h6 class="title"><a name="d0e2556"></a>2.13.2.10.1.3. Änderung der Basisschriftart auf eine Schriftart ohne Serifen</h6></div></div></div><pre class="programlisting"> |
|
154 |
\setsansfont{|\meta{Name der Schriftart, z.B. SourceSansPro}|} |
|
155 |
\renewcommand*{\familydefault}{\sfdefault} </pre></div></div><div class="sect4" title="2.13.2.10.2. Unterscheidungen durch String-Vergleich"><div class="titlepage"><div><div><h5 class="title"><a name="Unterscheidungen durch String-Vergleich"></a>2.13.2.10.2. Unterscheidungen durch String-Vergleich</h5></div></div></div><pre class="programlisting"> |
|
156 |
\Ifstr{\lxmedia}{printer}{Falls gedruckt werden soll} {sonst} </pre></div></div></div><div class="sect2" title="2.13.3. Der Druckvorlagensatz RB"><div class="titlepage"><div><div><h3 class="title"><a name="Vorlagen-RB"></a>2.13.3. Der Druckvorlagensatz RB</h3></div></div></div><p>Hierbei handelt es sich um einen vollständigen LaTeX |
|
157 |
Dokumentensatz mit alternativem Design. Die odt oder html-Varianten |
|
158 |
sind nicht gepflegt.</p><p>Die konzeptionelle Idee der Vorlagen wird <a class="ulink" href="http://www.kivitendo-support.de/vortraege/Lx-Office%20Anwendertreffen%20LaTeX-Druckvorlagen-Teil3-finale.pdf" target="_top">hier</a> |
|
159 |
auf Folie 5 bis 10 vorgestellt. Informationen zur Anpassung an die |
|
160 |
eigenen Firmendaten finden sich in der Datei Readme.tex im |
|
161 |
Vorlagenverzeichnis.</p><p>Eine kurze Übersicht der Features:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Mehrsprachenfähig, mit Deutscher und Englischer |
|
162 |
Übersetzung</p></li><li class="listitem"><p>Zentrale Konfigurationsdateien, die für alle Belege benutzt |
|
163 |
werden, z.B. für Kopf- und Fußzeilen, und Infos wie |
|
164 |
Bankdaten</p></li><li class="listitem"><p>mehrere vordefinierte Varianten für |
|
165 |
Logos/Hintergrundbilder</p></li><li class="listitem"><p>Berücksichtigung für Steuerzonen "EU mit USt-ID Nummer" oder |
|
166 |
"Außerhalb EU"</p></li></ul></div></div><div class="sect2" title="2.13.4. Der Druckvorlagensatz rev-odt"><div class="titlepage"><div><div><h3 class="title"><a name="Vorlagen-rev-odt"></a>2.13.4. Der Druckvorlagensatz rev-odt</h3></div></div></div><p>Hierbei handelt es sich um einen Dokumentensatz der mit |
|
167 |
odt-Vorlagen erstellt wurde. Es gibt in dem Verzeichnis eine |
|
168 |
Readme-Datei, die eventuell aktueller als die Dokumentation hier ist. |
|
169 |
Die odt-Vorlagen in diesem Verzeichnis "rev-odt" wurden von revamp-it, |
|
170 |
Zürich erstellt und werden laufend aktualisiert. Ein paar der |
|
171 |
Formulierungen in den Druckvorlagen entsprechen dem Schweizer |
|
172 |
Sprachgebrauch, z.B. "Offerte" oder "allfällig".</p><p>Hinweis zum Einsatz des Feldes "Land" bei den Stammdaten für |
|
173 |
KundInnen und LieferantInnen, sowie bei Lieferadressen: Die in diesem |
|
174 |
Vorlagensatz vorhandenen Vorlagen erwarten für "Land" das |
|
175 |
entsprechende Kürzel, das in Adressen vor die Postleitzahl gesetzt |
|
176 |
wird. Das Feld kann auch komplett leer bleiben. Wer dies anders |
|
177 |
handhaben möchte, muss die Vorlagen entsprechend anpassen.</p><p>odt-Vorlagen können mit LibreOffice oder OpenOffice editiert und |
|
178 |
den eigenen Bedürfnissen angepasst werden. Wichtig beim Editieren von |
|
179 |
if-Blöcken ist, dass immer der gesamte Block überschrieben werden muss |
|
180 |
und nicht nur Teile davon, da dies sonst oft zu einer odt-Datei führt, |
|
181 |
die vom Parser nicht korrekt gelesen werden kann.</p><p>Mahnungen können unter folgenden Einschränkungen mit den |
|
182 |
odt-Vorlagen im Vorlagensatz rev-odt erzeugt werden:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>als Druckoption steht nur 'PDF(OpenDocument/OASIS)' zur |
|
183 |
Verfügung, das heisst, die Mahnungen werden als PDF-Datei |
|
184 |
ausgegeben.</p></li><li class="listitem"><p>für jede Rechnung muss eine eigene Mahnung erzeugt werden |
|
185 |
(auch wenn bei einzelnen KundInnen mehrere überfällige Rechnungen |
|
186 |
vorhanden sind).</p></li></ul></div><p>Mehrere Mahnungen für eine Kundin / einen Kunden werden zu einer |
|
187 |
PDF-Datei zusammengefasst</p><p>Die Vorlagen zahlungserinnerung.odt sowie mahnung.odt sind für |
|
188 |
das Erstellen einer Zahlungserinnerung bzw. Mahnung selbst vorgesehen, |
|
189 |
die Vorlage mahnung_invoice.odt für das Erstellen einer Rechnung über |
|
190 |
die verrechneten Mahngebühren und Verzugszinsen.</p><p>Zur Zeit gibt es in kivitendo noch keine Möglichkeit, |
|
191 |
odt-Vorlagen bei Briefen und Pflichtenheften einzusetzen. |
|
192 |
Entsprechende Vorlagen sind deshalb nicht vorhanden.</p><p>Fehlermeldungen, Anregungen und Wünsche bitte senden an: |
|
193 |
empfang@revamp-it.ch</p></div><div class="sect2" title="2.13.5. Allgemeine Hinweise zu LaTeX Vorlagen"><div class="titlepage"><div><div><h3 class="title"><a name="allgemeine-hinweise-zu-latex"></a>2.13.5. Allgemeine Hinweise zu LaTeX Vorlagen</h3></div></div></div><p>In den allermeisten Installationen sollte das Drucken jetzt |
|
194 |
schon funktionieren. Sollte ein Fehler auftreten, wirft TeX sehr lange |
|
195 |
Fehlerbeschreibungen, der eigentliche Fehler ist immer die erste |
|
196 |
Zeile, die mit einem Ausrufezeichen anfängt. Häufig auftretende Fehler |
|
197 |
sind zum Beispiel:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>! LaTeX Error: File `eurosym.sty' not found. Die |
|
198 |
entsprechende LaTeX-Bibliothek wurde nicht gefunden. Das tritt vor |
|
199 |
allem bei Vorlagen aus der Community auf. Installieren Sie die |
|
200 |
entsprechenden Pakete.</p></li><li class="listitem"><p>! Package inputenc Error: Unicode char \u8:... set up for |
|
201 |
use with LaTeX. Dieser Fehler tritt auf, wenn sie versuchen mit |
|
202 |
einer Standardinstallation exotische utf8 Zeichen zu drucken. |
|
203 |
TeXLive unterstützt von Haus nur romanische Schriften und muss mit |
|
204 |
diversen Tricks dazu gebracht werden andere Zeichen zu |
|
205 |
akzeptieren. Adere TeX Systeme wie XeTeX schaffen hier |
|
206 |
Abhilfe.</p></li></ul></div><p>Wird gar kein Fehler angezeigt, sondern nur der Name des |
|
207 |
Templates, heißt das normalerweise, dass das LaTeX Binary nicht |
|
208 |
gefunden wurde. Prüfen Sie den Namen in der Konfiguration (Standard: |
|
209 |
<code class="literal">latexmk --pdflatex</code>), und stellen Sie sicher, dass |
|
210 |
latexmk (oder das von Ihnen verwendete System) vom Webserver ausgeführt |
|
211 |
werden darf.</p><p>Wenn sich das Problem nicht auf Grund der Ausgabe im Webbrowser |
|
212 |
verifizieren lässt:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>editiere [kivitendo-home]/config/kivitendo.conf und ändere |
|
213 |
"keep_temp_files" auf 1</p><p> |
|
214 |
</p><pre class="programlisting">keep_temp_files = 1;</pre><p> |
|
215 |
</p></li><li class="listitem"><p>bei fastcgi oder mod_perl den Webserver neu Starten</p></li><li class="listitem"><p>Nochmal einen Druckversuch im Webfrontend auslösen</p></li><li class="listitem"><p>wechsel in das users Verzeichnis von kivitendo</p><p> |
|
216 |
</p><pre class="programlisting">cd [kivitendo-home]/users</pre><p> |
|
217 |
</p></li><li class="listitem"><p>LaTeX Suchpfad anpassen:</p><p> |
|
218 |
</p><pre class="programlisting">export TEXINPUTS=".:[kivitendo-home]/templates/[aktuelles_template_verzeichniss]:"</pre><p> |
|
219 |
</p></li><li class="listitem"><p>Finde heraus, welche Datei kivitendo beim letzten Durchlauf |
|
220 |
erstellt hat</p><p> |
|
221 |
</p><pre class="programlisting">ls -lahtr ./1*.tex</pre><p> |
|
222 |
</p><p>Es sollte die letzte Datei ganz unten sein</p></li><li class="listitem"><p>für besseren Hinweis auf Fehler texdatei nochmals |
|
223 |
übersetzen</p><p> |
|
224 |
</p><pre class="programlisting">pdflatex ./1*.tex</pre><p> |
|
225 |
</p><p>in der *.tex datei nach dem Fehler suchen.</p></li></ul></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s12.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s14.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.12. E-Mail-Versand aus kivitendo heraus </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.14. OpenDocument-Vorlagen</td></tr></table></div></body></html> |
doc/html/ch02s14.html | ||
---|---|---|
5 | 5 |
erzeugen. kivitendo kann dabei sowohl neue OpenDocument-Dokumente als |
6 | 6 |
auch aus diesen direkt PDF-Dateien erzeugen. Nachfolgend ist die |
7 | 7 |
Verwendung mit LibreOffice beschrieben. Für die Verwendung mit |
8 |
OpenOffice müssen die Einstellungen allenfalls angepasst werden.</p><div class="sect2" title="2.14.1. Grundeinstellung"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2651"></a>2.14.1. Grundeinstellung</h3></div></div></div><p>Um die Unterstützung von OpenDocument-Vorlagen zu aktivieren,
|
|
8 |
OpenOffice müssen die Einstellungen allenfalls angepasst werden.</p><div class="sect2" title="2.14.1. Grundeinstellung"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2692"></a>2.14.1. Grundeinstellung</h3></div></div></div><p>Um die Unterstützung von OpenDocument-Vorlagen zu aktivieren,
|
|
9 | 9 |
muss in der Datei <code class="filename">config/kivitendo.conf</code> die |
10 | 10 |
Variable <code class="literal">opendocument</code>, im Abschnitt |
11 | 11 |
<code class="literal">print_templates</code>, auf <code class="literal">1</code> stehen. |
12 |
Dies ist die Standardeinstellung.</p></div><div class="sect2" title="2.14.2. Direkte Erzeugung von PDF-Dateien"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2668"></a>2.14.2. Direkte Erzeugung von PDF-Dateien</h3></div></div></div><p>Während die Erzeugung von reinen OpenDocument-Dateien keinerlei
|
|
12 |
Dies ist die Standardeinstellung.</p></div><div class="sect2" title="2.14.2. Direkte Erzeugung von PDF-Dateien"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2709"></a>2.14.2. Direkte Erzeugung von PDF-Dateien</h3></div></div></div><p>Während die Erzeugung von reinen OpenDocument-Dateien keinerlei
|
|
13 | 13 |
weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF |
14 | 14 |
LibreOffice oder OpenOffice benötigt.</p><p>Unter Debian kann dieses installiert werden mit:</p><pre class="programlisting">apt install libreoffice</pre><p>Der Pfad zu LibreOffice kann in der Datei |
15 | 15 |
<code class="filename">config/kivitendo.conf</code>, im Abschnitt |
16 | 16 |
<code class="literal">applications</code>, angepasst werden. Unter Debian sollte |
17 |
dies nicht notwendig sein.</p><div class="sect3" title="2.14.2.1. Variante 1)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2685"></a>2.14.2.1. Variante 1)</h4></div></div></div><p>In der Standardeinstellung wird LibreOffice für jedes Dokument
|
|
17 |
dies nicht notwendig sein.</p><div class="sect3" title="2.14.2.1. Variante 1)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2726"></a>2.14.2.1. Variante 1)</h4></div></div></div><p>In der Standardeinstellung wird LibreOffice für jedes Dokument
|
|
18 | 18 |
neu gestartet. Es ist keine weitere Konfiguration |
19 |
erforderlich.</p></div><div class="sect3" title="2.14.2.2. Variante 2)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2690"></a>2.14.2.2. Variante 2)</h4></div></div></div><p>Die zweite Variante startet ein LibreOffice, das auch nach der
|
|
19 |
erforderlich.</p></div><div class="sect3" title="2.14.2.2. Variante 2)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2731"></a>2.14.2.2. Variante 2)</h4></div></div></div><p>Die zweite Variante startet ein LibreOffice, das auch nach der
|
|
20 | 20 |
Umwandlung des Dokumentes gestartet bleibt. Bei weiteren |
21 | 21 |
Umwandlungen wird dann diese laufende Instanz benutzt. Der Vorteil |
22 | 22 |
ist, dass die Zeit zur Umwandlung möglicherweise reduziert wird, |
... | ... | |
29 | 29 |
<code class="literal">python_uno_path</code> in der Konfigurationsdatei |
30 | 30 |
<code class="filename">config/kivitendo.conf</code> dienen zur Anpassung der |
31 | 31 |
Python uno Pfade. Unter Debian sollte keine Anpassung notwendig |
32 |
sein.</p></div></div><div class="sect2" title="2.14.3. Vorbereitungen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2719"></a>2.14.3. Vorbereitungen</h3></div></div></div><div class="sect3" title="2.14.3.1. Adminbereich"><div class="titlepage"><div><div><h4 class="title"><a name="opendocument-druckvorlagen-mit-makros.vorbereitungen"></a>2.14.3.1. Adminbereich</h4></div></div></div><p>Damit beim Erstellen von Rechnungen und Aufträgen neben der
|
|
32 |
sein.</p></div></div><div class="sect2" title="2.14.3. Vorbereitungen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2760"></a>2.14.3. Vorbereitungen</h3></div></div></div><div class="sect3" title="2.14.3.1. Adminbereich"><div class="titlepage"><div><div><h4 class="title"><a name="opendocument-druckvorlagen-mit-makros.vorbereitungen"></a>2.14.3.1. Adminbereich</h4></div></div></div><p>Damit beim Erstellen von Rechnungen und Aufträgen neben der
|
|
33 | 33 |
Standardvorlage ohne Einzahlungsschein weitere Vorlagen (z.B. mit |
34 | 34 |
Einzahlungsschein) auswählbar sind, muss für jedes Vorlagen-Suffix |
35 | 35 |
ein Drucker eingerichtet werden:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Druckeradministration → Drucker hinzufügen</p></li><li class="listitem"><p>Mandant wählen</p></li><li class="listitem"><p>Druckerbeschreibung → aussagekräftiger Text: wird in der |
... | ... | |
38 | 38 |
Aufträgen oder Rechnungen als odt-Datei keine Bedeutung, darf |
39 | 39 |
aber nicht leer sein)</p></li><li class="listitem"><p>Vorlagenkürzel → besr bzw. selbst gewähltes Vorlagensuffix |
40 | 40 |
(muss genau der Zeichenfolge entsprechen, die zwischen |
41 |
"invoice_" bzw. "sales_order_" und ".odt" steht.)</p></li><li class="listitem"><p>speichern</p></li></ul></div></div><div class="sect3" title="2.14.3.2. Benutzereinstellungen"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2746"></a>2.14.3.2. Benutzereinstellungen</h4></div></div></div><p>Wer den Ausdruck mit Einzahlungsschein als Standardeinstellung
|
|
41 |
"invoice_" bzw. "sales_order_" und ".odt" steht.)</p></li><li class="listitem"><p>speichern</p></li></ul></div></div><div class="sect3" title="2.14.3.2. Benutzereinstellungen"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2787"></a>2.14.3.2. Benutzereinstellungen</h4></div></div></div><p>Wer den Ausdruck mit Einzahlungsschein als Standardeinstellung
|
|
42 | 42 |
im Rechnungs- bzw. Auftragsformular angezeigt haben möchte, kann |
43 | 43 |
dies persönlich für sich bei den Benutzereinstellungen |
44 | 44 |
konfigurieren:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Programm → Benutzereinstellungen → Druckoptionen</p></li><li class="listitem"><p>Standardvorlagenformat → OpenDocument/OASIS</p></li><li class="listitem"><p>Standardausgabekanal → Bildschirm</p></li><li class="listitem"><p>Standarddrucker → gewünschte Druckerbeschreibung auswählen |
45 |
(z.B. mit Einzahlungsschein Bank xy)</p></li><li class="listitem"><p>Anzahl Kopien → leer</p></li><li class="listitem"><p>speichern</p></li></ul></div></div><div class="sect3" title="2.14.3.3. Auswahl der Druckvorlage in kivitendo beim Erzeugen einer odt-Rechnung (analog bei Auftrag)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2770"></a>2.14.3.3. Auswahl der Druckvorlage in kivitendo beim Erzeugen einer
|
|
45 |
(z.B. mit Einzahlungsschein Bank xy)</p></li><li class="listitem"><p>Anzahl Kopien → leer</p></li><li class="listitem"><p>speichern</p></li></ul></div></div><div class="sect3" title="2.14.3.3. Auswahl der Druckvorlage in kivitendo beim Erzeugen einer odt-Rechnung (analog bei Auftrag)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2811"></a>2.14.3.3. Auswahl der Druckvorlage in kivitendo beim Erzeugen einer
|
|
46 | 46 |
odt-Rechnung (analog bei Auftrag)</h4></div></div></div><p>Im Fussbereich der Rechnungsmaske muss neben Rechnung, |
47 | 47 |
OpenDocument/OASIS und Bildschirm die im Adminbereich erstellte |
48 | 48 |
Druckerbeschreibung ausgewählt werden, falls diese nicht bereits bei |
49 | 49 |
den Benutzereinstellungen als persönlicher Standard gewählt |
50 |
wurde.</p></div></div><div class="sect2" title="2.14.4. Schweizer QR-Rechnung mit OpenDocument Vorlagen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2775"></a>2.14.4. Schweizer QR-Rechnung mit OpenDocument Vorlagen</h3></div></div></div><p>Mit der Version 3.6.0 unterstützt Kivitendo die Erstellung von
|
|
50 |
wurde.</p></div></div><div class="sect2" title="2.14.4. Schweizer QR-Rechnung mit OpenDocument Vorlagen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2816"></a>2.14.4. Schweizer QR-Rechnung mit OpenDocument Vorlagen</h3></div></div></div><p>Mit der Version 3.6.0 unterstützt Kivitendo die Erstellung von
|
|
51 | 51 |
Schweizer QR-Rechnungen gemäss <a class="ulink" href="https://www.paymentstandards.ch/dam/downloads/ig-qr-bill-de.pdf" target="_top">Swiss |
52 | 52 |
Payment Standards, Version 2.2</a>. Implementiert sind hierbei die |
53 | 53 |
Varianten:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> |
... | ... | |
55 | 55 |
QR-Referenz</strong></span> |
56 | 56 |
</p></li><li class="listitem"><p> |
57 | 57 |
<span class="bold"><strong>IBAN ohne Referenz</strong></span> |
58 |
</p></li></ul></div><div class="sect3" title="2.14.4.1. Einstellungen"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2796"></a>2.14.4.1. Einstellungen</h4></div></div></div><div class="sect4" title="2.14.4.1.1. Mandantenkonfiguration"><div class="titlepage"><div><div><h5 class="title"><a name="d0e2799"></a>2.14.4.1.1. Mandantenkonfiguration</h5></div></div></div><p>Unter <span class="emphasis"><em>System → Mandantenkonfiguration →
|
|
58 |
</p></li></ul></div><div class="sect3" title="2.14.4.1. Einstellungen"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2837"></a>2.14.4.1. Einstellungen</h4></div></div></div><div class="sect4" title="2.14.4.1.1. Mandantenkonfiguration"><div class="titlepage"><div><div><h5 class="title"><a name="d0e2840"></a>2.14.4.1.1. Mandantenkonfiguration</h5></div></div></div><p>Unter <span class="emphasis"><em>System → Mandantenkonfiguration →
|
|
59 | 59 |
Features</em></span>. Im Abschnitt <span class="emphasis"><em>Einkauf und |
60 | 60 |
Verkauf</em></span>, beim Punkt <span class="emphasis"><em>Verkaufsrechnungen mit |
61 | 61 |
Schweizer QR-Rechnung erzeugen</em></span>, die gewünschte Variante |
62 |
wählen.</p></div><div class="sect4" title="2.14.4.1.2. Konfiguration der Bankkonten"><div class="titlepage"><div><div><h5 class="title"><a name="d0e2813"></a>2.14.4.1.2. Konfiguration der Bankkonten</h5></div></div></div><p>Unter <span class="emphasis"><em>System → Bankkonten</em></span> muss bei
|
|
62 |
wählen.</p></div><div class="sect4" title="2.14.4.1.2. Konfiguration der Bankkonten"><div class="titlepage"><div><div><h5 class="title"><a name="d0e2854"></a>2.14.4.1.2. Konfiguration der Bankkonten</h5></div></div></div><p>Unter <span class="emphasis"><em>System → Bankkonten</em></span> muss bei
|
|
63 | 63 |
mindestens einem Bankkonto die Option <span class="emphasis"><em>Nutzung mit |
64 | 64 |
Schweizer QR-Rechnung</em></span> auf <span class="bold"><strong>Ja</strong></span> gestellt werden.</p><p>Die IBAN muss ohne Leerzeichen angegeben werden.</p><div class="tip" title="Tipp" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tipp]" src="system/docbook-xsl/images/tip.png"></td><th align="left">Tipp</th></tr><tr><td align="left" valign="top"><p>Für die Variante <span class="bold"><strong>QR-IBAN mit |
65 | 65 |
QR-Referenz</strong></span> muss dieses Konto unter IBAN eine gültige |
... | ... | |
67 | 67 |
unterscheidet sich von der regulären IBAN.</p><p>Zusätzlich muss eine gültige <span class="bold"><strong>Bankkonto |
68 | 68 |
Identifikationsnummer</strong></span> angegeben werden |
69 | 69 |
(6-stellig).</p><p>Diese werden von der jeweiligen Bank vergeben.</p></td></tr></table></div><p>Sind mehrere Konten ausgewählt wird das erste |
70 |
verwendet.</p></div><div class="sect4" title="2.14.4.1.3. Rechnungen ohne Betrag"><div class="titlepage"><div><div><h5 class="title"><a name="d0e2847"></a>2.14.4.1.3. Rechnungen ohne Betrag</h5></div></div></div><p>Für Rechnungen ohne Betrag (z.B. Spenden) kann, in der
|
|
70 |
verwendet.</p></div><div class="sect4" title="2.14.4.1.3. Rechnungen ohne Betrag"><div class="titlepage"><div><div><h5 class="title"><a name="d0e2888"></a>2.14.4.1.3. Rechnungen ohne Betrag</h5></div></div></div><p>Für Rechnungen ohne Betrag (z.B. Spenden) kann, in der
|
|
71 | 71 |
jeweiligen Rechnung, die Checkbox <span class="emphasis"><em>QR-Rechnung ohne |
72 | 72 |
Betrag</em></span> aktiviert werden. Diese Checkbox erscheint nur, |
73 | 73 |
wenn QR-Rechnungen in der Mandantenkonfiguration aktiviert sind |
74 | 74 |
(variante ausgewählt).</p><p>Dies wirkt sich lediglich auf den erzeugten QR-Code aus. Die |
75 |
Vorlage muss separat angepasst und ausgewählt werden.</p></div></div><div class="sect3" title="2.14.4.2. Adressdaten"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2857"></a>2.14.4.2. Adressdaten</h4></div></div></div><p>Die Adressdaten zum Zahlungsempfänger werden aus der
|
|
75 |
Vorlage muss separat angepasst und ausgewählt werden.</p></div></div><div class="sect3" title="2.14.4.2. Adressdaten"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2898"></a>2.14.4.2. Adressdaten</h4></div></div></div><p>Die Adressdaten zum Zahlungsempfänger werden aus der
|
|
76 | 76 |
Mandantenkonfiguration entnommen. Unter <span class="emphasis"><em>System → |
77 | 77 |
Mandantenkonfiguration → Verschiedenes</em></span>, Abschnitt |
78 | 78 |
<span class="emphasis"><em>Firmenname und -adresse.</em></span> |
... | ... | |
82 | 82 |
z.B. "Schweiz" oder "CH".</p><p>Die Adressdaten können in der Vorlage mit den jeweiligen |
83 | 83 |
Variablen eingetragen werden. Siehe auch: <a class="xref" href="ch03s03.html" title="3.3. Dokumentenvorlagen und verfügbare Variablen">Abschnitt 3.3, „Dokumentenvorlagen und verfügbare Variablen“</a> |
84 | 84 |
</p><p>Der erzeugte QR-Code verwendet Adress-Typ "K" (Kombinierte |
85 |
Adressfelder, 2 Zeilen).</p></div><div class="sect3" title="2.14.4.3. Referenznummer"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2878"></a>2.14.4.3. Referenznummer</h4></div></div></div><p>Die Referenznummer wird in Kivitendo erzeugt und setzt sich
|
|
85 |
Adressfelder, 2 Zeilen).</p></div><div class="sect3" title="2.14.4.3. Referenznummer"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2919"></a>2.14.4.3. Referenznummer</h4></div></div></div><p>Die Referenznummer wird in Kivitendo erzeugt und setzt sich
|
|
86 | 86 |
wiefolgt zusammen:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Bankkonto Identifikationsnummer (6-stellig)</p></li><li class="listitem"><p>Kundennummer (6-stellig, mit führenden Nullen |
87 | 87 |
aufgefüllt)</p></li><li class="listitem"><p>Rechnungsnummer (14-stellig, mit führenden Nullen |
88 | 88 |
aufgefüllt)</p></li><li class="listitem"><p>Prüfziffer (1-stellig, berechnet mittels modulo 10, |
89 | 89 |
rekursiv)</p></li></ul></div><p>Es sind lediglich Ziffern erlaubt. Allfällige Buchstaben und |
90 | 90 |
Sonderzeichen werden entfernt und fehlende Stellen werden mit |
91 |
führenden Nullen aufgefüllt.</p></div><div class="sect3" title="2.14.4.4. Vorlage"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2898"></a>2.14.4.4. Vorlage</h4></div></div></div><p>Der Vorlagensatz "rev-odt" enthält die Vorlage
|
|
91 |
führenden Nullen aufgefüllt.</p></div><div class="sect3" title="2.14.4.4. Vorlage"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2939"></a>2.14.4.4. Vorlage</h4></div></div></div><p>Der Vorlagensatz "rev-odt" enthält die Vorlage
|
|
92 | 92 |
<code class="literal">invoice_qr.odt</code>, welche für die Erstellung von |
93 | 93 |
QR-Rechnungen vorgesehen ist. Damit diese verwendet werden kann muss |
94 | 94 |
wie obenstehend beschrieben ein Drucker hinzugefügt werden, allerdings |
... | ... | |
103 | 103 |
<span class="emphasis"><em>Bild-Kontextmenü → </em></span> |
104 | 104 |
<span class="emphasis"><em>Einstellungen → |
105 | 105 |
Optionen → Name</em></span> einstellbar. Siehe dazu auch die |
106 |
Beispielvorlage.</p><div class="sect4" title="2.14.4.4.1. Zusätzliche Variablen für Vorlage"><div class="titlepage"><div><div><h5 class="title"><a name="d0e2928"></a>2.14.4.4.1. Zusätzliche Variablen für Vorlage</h5></div></div></div><p>Zusätzlich zu den in der Vorlage standardmässig verfügbaren
|
|
106 |
Beispielvorlage.</p><div class="sect4" title="2.14.4.4.1. Zusätzliche Variablen für Vorlage"><div class="titlepage"><div><div><h5 class="title"><a name="d0e2969"></a>2.14.4.4.1. Zusätzliche Variablen für Vorlage</h5></div></div></div><p>Zusätzlich zu den in der Vorlage standardmässig verfügbaren
|
|
107 | 107 |
Variablen (siehe <a class="xref" href="ch03s03.html" title="3.3. Dokumentenvorlagen und verfügbare Variablen">Abschnitt 3.3, „Dokumentenvorlagen und verfügbare Variablen“</a>), |
108 | 108 |
werden die folgenden Variablen erzeugt:</p><div class="variablelist"><dl><dt><span class="term">ref_number_formatted</span></dt><dd><p>Referenznummer formatiert mit Leerzeichen, z.B.: 21 00000 |
109 | 109 |
00003 13947 14300 09017</p></dd><dt><span class="term">iban_formatted</span></dt><dd><p>IBAN formatiert mit Leerzeichen</p></dd><dt><span class="term">amount_formatted</span></dt><dd><p>Betrag formatiert mit Tausendertrennzeichen Leerschlag, |
doc/html/ch03s03.html | ||
---|---|---|
1 |
<html><head> |
|
2 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
|
3 |
<title>3.3. Dokumentenvorlagen und verfügbare Variablen</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch03.html" title="Kapitel 3. Features und Funktionen"><link rel="prev" href="ch03s02.html" title="3.2. Bankerweiterung"><link rel="next" href="ch03s04.html" title="3.4. Excel-Vorlagen"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">3.3. Dokumentenvorlagen und verfügbare Variablen</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s02.html">Zurück</a> </td><th width="60%" align="center">Kapitel 3. Features und Funktionen</th><td width="20%" align="right"> <a accesskey="n" href="ch03s04.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="3.3. Dokumentenvorlagen und verfügbare Variablen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="dokumentenvorlagen-und-variablen"></a>3.3. Dokumentenvorlagen und verfügbare Variablen</h2></div></div></div><div class="sect2" title="3.3.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.einf%C3%BChrung"></a>3.3.1. Einführung</h3></div></div></div><p>Dies ist eine Auflistung der Standard-Dokumentenvorlagen und |
|
4 |
aller zur Bearbeitung verfügbaren Variablen. Eine Variable wird in |
|
5 |
einer Vorlage durch ihren Inhalt ersetzt, wenn sie in der Form |
|
6 |
<code class="function"><%variablenname%></code> verwendet wird. Für |
|
7 |
LaTeX- und HTML-Vorlagen kann man die Form dieser Tags auch verändern |
|
8 |
(siehe <a class="xref" href="ch03s03.html#dokumentenvorlagen-und-variablen.tag-style" title="3.3.4. Anfang und Ende der Tags verändern">Anfang und Ende der Tags verändern</a>).</p><p>kivitendo unterstützt LaTeX-, HTML- und OpenDocument-Vorlagen. |
|
9 |
Sofern es nicht ausdrücklich eingeschränkt wird, gilt das im Folgenden |
|
10 |
gesagte für alle Vorlagenarten.</p><p>Insgesamt sind technisch gesehen eine ganze Menge mehr Variablen |
|
11 |
verfügbar als hier aufgelistet werden. Die meisten davon können |
|
12 |
allerdings innerhalb einer solchen Vorlage nicht sinnvoll verwendet |
|
13 |
werden. Wenn eine Auflistung dieser Variablen gewollt ist, so kann |
|
14 |
diese wie folgt erhalten werden:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> |
|
15 |
<code class="filename">SL/Form.pm</code> öffnen und am Anfang die |
|
16 |
Zeile "<span class="command"><strong>use Data::Dumper;</strong></span>" einfügen.</p></li><li class="listitem"><p>In <code class="filename">Form.pm</code> die Funktion |
|
17 |
<code class="function">parse_template</code> suchen und hier die Zeile |
|
18 |
<span class="command"><strong>print(STDERR Dumper($self));</strong></span> einfügen.</p></li><li class="listitem"><p>Einmal per Browser die gewünschte Vorlage "benutzen", z.B. |
|
19 |
ein PDF für eine Rechnung erzeugen.</p></li><li class="listitem"><p>Im <code class="filename">error.log</code> Apache steht die Ausgabe |
|
20 |
der Variablen <code class="varname">$self</code> in der Form <code class="varname">'key' |
|
21 |
=> 'value',</code>. Alle <code class="varname">key</code>s sind |
|
22 |
verfügbar.</p></li></ul></div></div><div class="sect2" title="3.3.2. Variablen ausgeben"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.variablen-ausgeben"></a>3.3.2. Variablen ausgeben</h3></div></div></div><p>Um eine Variable auszugeben, müssen sie einfach nur zwischen die |
|
23 |
Tags geschrieben werden, also z.B. |
|
24 |
<code class="varname"><%variablenname%></code>.</p><p>Optional kann man auch mit Leerzeichen getrennte Flags angeben, |
|
25 |
die man aber nur selten brauchen wird. Die Syntax sieht also so aus: |
|
26 |
<code class="varname"><%variablenname FLAG1 FLAG2%></code>. Momentan |
|
27 |
werden die folgenden Flags unterstützt:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> |
|
28 |
<code class="option">NOFORMAT</code> gilt nur für Zahlenwerte und gibt |
|
29 |
den Wert ohne Formatierung, also ohne Tausendertrennzeichen mit |
|
30 |
mit einem Punkt als Dezimaltrennzeichen aus. Nützlich z.B., wenn |
|
31 |
damit in der Vorlage z.B. von LaTeX gerechnet werden soll.</p></li><li class="listitem"><p> |
|
32 |
<code class="option">NOESCAPE</code> unterdrückt das Escapen von |
|
33 |
Sonderzeichen für die Vorlagensprache. Wenn also in einer |
|
34 |
Variablen bereits gültiger LaTeX-Code steht und dieser von LaTeX |
|
35 |
auch ausgewertet und nicht wortwörtlich angezeigt werden soll, so |
|
36 |
ist dieses Flag sinnvoll.</p></li></ul></div><p>Beispiel:</p><pre class="programlisting"><%quototal NOFORMAT%></pre></div><div class="sect2" title="3.3.3. Verwendung in Druckbefehlen"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.verwendung-in-druckbefehlen"></a>3.3.3. Verwendung in Druckbefehlen</h3></div></div></div><p>In der Admininstration können Drucker definiert werden. Auch im |
|
37 |
dort eingebbaren Druckbefehl können die hier aufgelisteten Variablen |
|
38 |
und Kontrollstrukturen verwendet werden. Ihr Inhalt wird dabei nach |
|
39 |
den Regeln der gängigen Shells formatiert, sodass Sonderzeichen wie |
|
40 |
<code class="function">`...`</code> nicht zu unerwünschtem Verhalten |
|
41 |
führen.</p><p>Dies erlaubt z.B. die Definition eines Faxes als Druckerbefehl, |
|
42 |
für das die Telefonnummer eines Ansprechpartners als Teil der |
|
43 |
Kommandozeile verwendet wird. Für ein fiktives Kommando könnte das |
|
44 |
z.B. wie folgt aussehen:</p><pre class="programlisting">send_fax --number <%if cp_phone2%><%cp_phone2%><%else%><%cp_phone1%><%end%></pre></div><div class="sect2" title="3.3.4. Anfang und Ende der Tags verändern"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.tag-style"></a>3.3.4. Anfang und Ende der Tags verändern</h3></div></div></div><p>Der Standardstil für Tags sieht vor, dass ein Tag mit dem |
|
45 |
Kleinerzeichen und einem Prozentzeichen beginnt und mit dem |
|
46 |
Prozentzeichen und dem Größerzeichen endet, beispielsweise |
|
47 |
<code class="function"><%customer%></code>. Da diese Form aber z.B. in |
|
48 |
LaTeX zu Problemen führen kann, weil das Prozentzeichen dort |
|
49 |
Kommentare einleitet, kann pro HTML- oder LaTeX-Dokumentenvorlage der |
|
50 |
Stil umgestellt werden.</p><p>Dazu werden in die Datei Zeilen geschrieben, die mit dem für das |
|
51 |
Format gültigen Kommentarzeichen anfangen, dann |
|
52 |
<code class="function">config:</code> enthalten, die entsprechende Option |
|
53 |
setzen und bei HTML-Dokumentenvorlagen mit dem Kommentarendzeichen |
|
54 |
enden. Beispiel für LaTeX:</p><pre class="programlisting">% config: tag-style=($ $)</pre><p>Dies würde kivitendo dazu veranlassen, Variablen zu ersetzen, |
|
55 |
wenn sie wie folgt aussehen: <code class="function">($customer$)</code>. Das |
|
56 |
äquivalente Beispiel für HTML-Dokumentenvorlagen sieht so aus:</p><pre class="programlisting"><!-- config: tag-style=($ $) --></pre></div><div class="sect2" title="3.3.5. Zuordnung von den Dateinamen zu den Funktionen"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.zuordnung-dateinamen"></a>3.3.5. Zuordnung von den Dateinamen zu den Funktionen</h3></div></div></div><p>Diese folgende kurze Auflistung zeigt, welche Vorlage bei |
|
57 |
welcher Funktion ausgelesen wird. Dabei ist die Dateiendung |
|
58 |
"<code class="filename">.ext</code>" geeignet zu ersetzen: |
|
59 |
"<code class="filename">.tex</code>" für LaTeX-Vorlagen und |
|
60 |
"<code class="filename">.odt</code>" für OpenDocument-Vorlagen.</p><div class="variablelist"><dl><dt><span class="term"> |
|
61 |
<code class="filename">bin_list.ext</code> |
|
62 |
</span></dt><dd><p>Lagerliste</p></dd><dt><span class="term"> |
|
63 |
<code class="filename">check.ext</code> |
|
64 |
</span></dt><dd><p>?</p></dd><dt><span class="term"> |
|
65 |
<code class="filename">invoice.ext</code> |
|
66 |
</span></dt><dd><p>Rechnung</p></dd><dt><span class="term"> |
|
67 |
<code class="filename">packing_list.ext</code> |
|
68 |
</span></dt><dd><p>Packliste</p></dd><dt><span class="term"> |
|
69 |
<code class="filename">pick_list.ext</code> |
|
70 |
</span></dt><dd><p>Sammelliste</p></dd><dt><span class="term"> |
|
71 |
<code class="filename">purchase_delivery_order.ext</code> |
|
72 |
</span></dt><dd><p>Lieferschein (Einkauf)</p></dd><dt><span class="term"> |
|
73 |
<code class="filename">purcharse_order.ext</code> |
|
74 |
</span></dt><dd><p>Bestellung an Lieferanten</p></dd><dt><span class="term"> |
|
75 |
<code class="filename">request_quotation.ext</code> |
|
76 |
</span></dt><dd><p>Anfrage an Lieferanten</p></dd><dt><span class="term"> |
|
77 |
<code class="filename">sales_delivery_order.ext</code> |
|
78 |
</span></dt><dd><p>Lieferschein (Verkauf)</p></dd><dt><span class="term"> |
|
79 |
<code class="filename">sales_order.ext</code> |
|
80 |
</span></dt><dd><p>Bestellung</p></dd><dt><span class="term"> |
|
81 |
<code class="filename">sales_quotation.ext</code> |
|
82 |
</span></dt><dd><p>Angebot an Kunden</p></dd><dt><span class="term"> |
|
83 |
<code class="filename">zahlungserinnerung.ext</code> |
|
84 |
</span></dt><dd><p>Mahnung (Dateiname im Programm konfigurierbar)</p></dd><dt><span class="term"> |
|
85 |
<code class="filename">zahlungserinnerung_invoice.ext</code> |
|
86 |
</span></dt><dd><p>Rechnung über Mahngebühren (Dateiname im Programm |
|
87 |
konfigurierbar)</p></dd></dl></div></div><div class="sect2" title="3.3.6. Sprache, Drucker und E-Mail"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.dateinamen-erweitert"></a>3.3.6. Sprache, Drucker und E-Mail</h3></div></div></div><p>Angeforderte Sprache und Druckerkürzel in den Dateinamen mit |
|
88 |
eingearbeitet. So wird aus der Vorlage |
|
89 |
<code class="filename">sales_order.ext</code> bei Sprache |
|
90 |
<code class="function">de</code> und Druckerkürzel <code class="function">lpr2</code> |
|
91 |
der Vorlagenname <code class="filename">sales_order_de_lpr2.ext</code>. |
|
92 |
Zusätzlich können für E-Mails andere Vorlagen erstellt werden, diese |
|
93 |
bekommen dann noch das Kürzel <code class="filename">_email</code>, der |
|
94 |
vollständige Vorlagenname wäre dann |
|
95 |
<code class="filename">sales_order_email_de_lpr2.ext</code>. In allen Fällen |
|
96 |
kann eine Standarddatei <code class="filename">default.ext</code> hinterlegt |
|
97 |
werden. Diese wird verwendet, wenn keine der anderen Varianten |
|
98 |
gefunden wird.</p><p>Die vollständige Suchreihenfolge für einen Verkaufsauftrag mit |
|
99 |
der Sprache "de" und dem Drucker "lpr2", der per E-Mail im Format PDF |
|
100 |
verschickt wird, ist:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p> |
|
101 |
<code class="filename">sales_order_email_de_lpr2.tex</code> |
|
102 |
</p></li><li class="listitem"><p> |
|
103 |
<code class="filename">sales_order_de_lpr2.tex</code> |
|
104 |
</p></li><li class="listitem"><p> |
|
105 |
<code class="filename">sales_order.tex</code> |
|
106 |
</p></li><li class="listitem"><p> |
|
107 |
<code class="filename">default.tex</code> |
|
108 |
</p></li></ol></div><p>Die kurzen Varianten dieser Vorlagentitel müssen dann entweder |
|
109 |
Standardwerte anzeigen, oder die angeforderten Werte selbst auswerten, |
|
110 |
siehe dazu <a class="xref" href="ch03s03.html#dokumentenvorlagen-und-variablen.allgemeine-variablen.meta" title="3.3.7.1. Metainformationen zur angeforderten Vorlage">Metainformationen zur angeforderten Vorlage</a>.</p></div><div class="sect2" title="3.3.7. Allgemeine Variablen, die in allen Vorlagen vorhanden sind"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.allgemeine-variablen"></a>3.3.7. Allgemeine Variablen, die in allen Vorlagen vorhanden |
|
111 |
sind</h3></div></div></div><div class="sect3" title="3.3.7.1. Metainformationen zur angeforderten Vorlage"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.allgemeine-variablen.meta"></a>3.3.7.1. Metainformationen zur angeforderten Vorlage</h4></div></div></div><p>Diese Variablen liefern Informationen darüber welche Variante |
|
112 |
einer Vorlage der Benutzer angefragt hat. Sie sind nützlich für |
|
113 |
Vorlagenautoren, die aus einer zentralen Layoutvorlage die einzelnen |
|
114 |
Formulare einbinden möchten.</p><div class="variablelist"><dl><dt><span class="term"> |
|
115 |
<code class="varname">template_meta.formname</code> |
|
116 |
</span></dt><dd><p>Basisname der Vorlage. Identisch mit der <a class="link" href="ch03s03.html#dokumentenvorlagen-und-variablen.zuordnung-dateinamen" title="3.3.5. Zuordnung von den Dateinamen zu den Funktionen">Zurordnung |
|
117 |
zu den Dateinamen</a> ohne die Erweiterung. Ein |
|
118 |
Verkaufsauftrag enthält hier |
|
119 |
<code class="constant">sales_order</code>.</p></dd><dt><span class="term"> |
|
120 |
<code class="varname">template_meta.language.description</code> |
|
121 |
</span></dt><dd><p>Beschreibung der verwendeten Sprache</p></dd><dt><span class="term"> |
|
122 |
<code class="varname">template_meta.language.template_code</code> |
|
123 |
</span></dt><dd><p>Vorlagenkürzel der verwendeten Sprache, identisch mit |
|
124 |
dem Kürzel das im Dateinamen verwendetet wird.</p></dd><dt><span class="term"> |
|
125 |
<code class="varname">template_meta.language.output_numberformat</code> |
|
126 |
</span></dt><dd><p>Zahlenformat der verwendeten Sprache in der Form |
|
127 |
"<code class="constant">1.000,00</code>". Experimentell! Nur |
|
128 |
interessant für Vorlagen die mit unformatierten Werten |
|
129 |
arbeiten.</p></dd><dt><span class="term"> |
|
130 |
<code class="varname">template_meta.language.output_dateformat</code> |
|
131 |
</span></dt><dd><p>Datumsformat der verwendeten Sprache in der Form |
|
132 |
"<code class="constant">dd.mm.yyyy</code>". Experimentell! Nur |
|
133 |
interessant für Vorlagen die mit unformatierten Werten |
|
134 |
arbeiten.</p></dd><dt><span class="term"> |
|
135 |
<code class="varname">template_meta.format</code> |
|
136 |
</span></dt><dd><p>Das angeforderte Format. Kann im Moment die Werte |
|
137 |
<code class="constant">pdf</code>, <code class="constant">postscript</code>, |
|
138 |
<code class="constant">html</code>, <code class="constant">opendocument</code>, |
|
139 |
<code class="constant">opendocument_pdf</code> und |
|
140 |
<code class="constant">excel</code> enthalten.</p></dd><dt><span class="term"> |
|
141 |
<code class="varname">template_meta.extension</code> |
|
142 |
</span></dt><dd><p>Dateierweiterung, wie im Dateinamen. Wird aus |
|
143 |
<code class="constant">format</code> entschieden.</p></dd><dt><span class="term"> |
|
144 |
<code class="varname">template_meta.media</code> |
|
145 |
</span></dt><dd><p>Ausgabemedium. Kann zur Zeit die Werte |
|
146 |
<code class="constant">screen</code> für Bildschirm, |
|
147 |
<code class="constant">email</code> für E-Mail (triggert das |
|
148 |
<code class="constant">_email</code> Kürzel im Dateinamen), |
|
149 |
<code class="constant">printer</code> für Drucker, und |
|
150 |
<code class="constant">queue</code> für Warteschlange enthalten.</p></dd><dt><span class="term"> |
|
151 |
<code class="varname">template_meta.printer.description</code> |
|
152 |
</span></dt><dd><p>Beschreibung des ausgewählten Druckers</p></dd><dt><span class="term"> |
|
153 |
<code class="varname">template_meta.printer.template_code</code> |
|
154 |
</span></dt><dd><p>Vorlagenürzel des ausgewählten Druckers, identisch mit |
|
155 |
dem Kürzel das im Dateinamen verwendetet wird.</p></dd><dt><span class="term"> |
|
156 |
<code class="varname">template_meta.tmpfile</code> |
|
157 |
</span></dt><dd><p>Datei-Prefix für temporäre Dateien.</p></dd></dl></div></div><div class="sect3" title="3.3.7.2. Stammdaten von Kunden und Lieferanten"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.allgemeine-variablen.kunden-lieferanten"></a>3.3.7.2. Stammdaten von Kunden und Lieferanten</h4></div></div></div><div class="variablelist"><dl><dt><span class="term"> |
|
158 |
<code class="varname">account_number</code> |
|
159 |
</span></dt><dd><p>Kontonummer</p></dd><dt><span class="term"> |
|
160 |
<code class="varname">bank</code> |
|
161 |
</span></dt><dd><p>Name der Bank</p></dd><dt><span class="term"> |
|
162 |
<code class="varname">bank_code</code> |
|
163 |
</span></dt><dd><p>Bankleitzahl</p></dd><dt><span class="term"> |
|
164 |
<code class="varname">bic</code> |
|
165 |
</span></dt><dd><p>Bank-Identifikations-Code (Bank Identifier Code, |
|
166 |
BIC)</p></dd><dt><span class="term"> |
|
167 |
<code class="varname">business</code> |
|
168 |
</span></dt><dd><p>Kunden-/Lieferantentyp</p></dd><dt><span class="term"> |
|
169 |
<code class="varname">city</code> |
|
170 |
</span></dt><dd><p>Stadt</p></dd><dt><span class="term"> |
|
171 |
<code class="varname">contact</code> |
|
172 |
</span></dt><dd><p>Kontakt</p></dd><dt><span class="term"> |
|
173 |
<code class="varname">country</code> |
|
174 |
</span></dt><dd><p>Land</p></dd><dt><span class="term"> |
|
175 |
<code class="varname">c_vendor_id</code> |
|
176 |
</span></dt><dd><p>Lieferantennummer beim Kunden (nur Kunden)</p></dd><dt><span class="term"> |
|
177 |
<code class="varname">v_customer_id</code> |
|
178 |
</span></dt><dd><p>Kundennummer beim Lieferanten (nur Lieferanten)</p></dd><dt><span class="term"> |
|
179 |
<code class="varname">cp_email</code> |
|
180 |
</span></dt><dd><p>Email des Ansprechpartners</p></dd><dt><span class="term"> |
|
181 |
<code class="varname">cp_givenname</code> |
|
182 |
</span></dt><dd><p>Vorname des Ansprechpartners</p></dd><dt><span class="term"> |
|
183 |
<code class="varname">cp_greeting</code> |
|
184 |
</span></dt><dd><p>Anrede des Ansprechpartners</p></dd><dt><span class="term"> |
|
185 |
<code class="varname">cp_name</code> |
|
186 |
</span></dt><dd><p>Name des Ansprechpartners</p></dd><dt><span class="term"> |
|
187 |
<code class="varname">cp_phone1</code> |
|
188 |
</span></dt><dd><p>Telefonnummer 1 des Ansprechpartners</p></dd><dt><span class="term"> |
|
189 |
<code class="varname">cp_phone2</code> |
|
190 |
</span></dt><dd><p>Telefonnummer 2 des Ansprechpartners</p></dd><dt><span class="term"> |
|
191 |
<code class="varname">cp_title</code> |
|
192 |
</span></dt><dd><p>Titel des Ansprechpartners</p></dd><dt><span class="term"> |
|
193 |
<code class="varname">creditlimit</code> |
|
194 |
</span></dt><dd><p>Kreditlimit</p></dd><dt><span class="term"> |
|
195 |
<code class="varname">customeremail</code> |
|
196 |
</span></dt><dd><p>Email des Kunden; nur für Kunden</p></dd><dt><span class="term"> |
|
197 |
<code class="varname">customerfax</code> |
|
198 |
</span></dt><dd><p>Faxnummer des Kunden; nur für Kunden</p></dd><dt><span class="term"> |
|
199 |
<code class="varname">customernotes</code> |
|
200 |
</span></dt><dd><p>Bemerkungen beim Kunden; nur für Kunden</p></dd><dt><span class="term"> |
|
201 |
<code class="varname">customernumber</code> |
|
202 |
</span></dt><dd><p>Kundennummer; nur für Kunden</p></dd><dt><span class="term"> |
|
203 |
<code class="varname">customerphone</code> |
|
204 |
</span></dt><dd><p>Telefonnummer des Kunden; nur für Kunden</p></dd><dt><span class="term"> |
|
205 |
<code class="varname">discount</code> |
|
206 |
</span></dt><dd><p>Rabatt</p></dd><dt><span class="term"> |
|
207 |
<code class="varname">email</code> |
|
208 |
</span></dt><dd><p>Emailadresse</p></dd><dt><span class="term"> |
|
209 |
<code class="varname">fax</code> |
|
210 |
</span></dt><dd><p>Faxnummer</p></dd><dt><span class="term"> |
|
211 |
<code class="varname">gln</code> |
|
212 |
</span></dt><dd><p>GLN (Globale Lokationsnummer)</p></dd><dt><span class="term"> |
|
213 |
<code class="varname">greeting</code> |
|
214 |
</span></dt><dd><p>Anrede</p></dd><dt><span class="term"> |
|
215 |
<code class="varname">homepage</code> |
|
216 |
</span></dt><dd><p>Homepage</p></dd><dt><span class="term"> |
|
217 |
<code class="varname">iban</code> |
|
218 |
</span></dt><dd><p>Internationale Kontonummer (International Bank Account |
|
219 |
Number, IBAN)</p></dd><dt><span class="term"> |
|
220 |
<code class="varname">language</code> |
|
221 |
</span></dt><dd><p>Sprache</p></dd><dt><span class="term"> |
|
222 |
<code class="varname">name</code> |
|
223 |
</span></dt><dd><p>Firmenname</p></dd><dt><span class="term"> |
|
224 |
<code class="varname">natural_person</code> |
|
225 |
</span></dt><dd><p>Flag "natürliche Person"; Siehe auch |
|
226 |
<a class="xref" href="ch03s03.html#dokumentenvorlagen-und-variablen.anrede" title="3.3.13. Hinweise zur Anrede">Hinweise zur Anrede</a> |
|
227 |
</p></dd><dt><span class="term"> |
|
228 |
<code class="varname">payment_description</code> |
|
229 |
</span></dt><dd><p>Name der Zahlart</p></dd><dt><span class="term"> |
|
230 |
<code class="varname">payment_terms</code> |
|
231 |
</span></dt><dd><p>Zahlungskonditionen</p></dd><dt><span class="term"> |
|
232 |
<code class="varname">phone</code> |
|
233 |
</span></dt><dd><p>Telefonnummer</p></dd><dt><span class="term"> |
|
234 |
<code class="varname">shiptocity</code> |
|
235 |
</span></dt><dd><p>Stadt (Lieferadresse) <a class="link" href="ch03s03.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a> |
|
236 |
</p></dd><dt><span class="term"> |
|
237 |
<code class="varname">shiptocontact</code> |
|
238 |
</span></dt><dd><p>Kontakt (Lieferadresse) <a class="link" href="ch03s03.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a> |
|
239 |
</p></dd><dt><span class="term"> |
|
240 |
<code class="varname">shiptocountry</code> |
|
241 |
</span></dt><dd><p>Land (Lieferadresse) <a class="link" href="ch03s03.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a> |
|
242 |
</p></dd><dt><span class="term"> |
|
243 |
<code class="varname">shiptodepartment_1</code> |
|
244 |
</span></dt><dd><p>Abteilung 1 (Lieferadresse) <a class="link" href="ch03s03.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a> |
|
245 |
</p></dd><dt><span class="term"> |
|
246 |
<code class="varname">shiptodepartment_2</code> |
|
247 |
</span></dt><dd><p>Abteilung 2 (Lieferadresse) <a class="link" href="ch03s03.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a> |
|
248 |
</p></dd><dt><span class="term"> |
|
249 |
<code class="varname">shiptoemail</code> |
|
250 |
</span></dt><dd><p>Email (Lieferadresse) <a class="link" href="ch03s03.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a> |
|
251 |
</p></dd><dt><span class="term"> |
|
252 |
<code class="varname">shiptofax</code> |
|
253 |
</span></dt><dd><p>Fax (Lieferadresse) <a class="link" href="ch03s03.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a> |
|
254 |
</p></dd><dt><span class="term"> |
|
255 |
<code class="varname">shiptogln</code> |
|
256 |
</span></dt><dd><p>GLN (Globale Lokationsnummer) (Lieferadresse) <a class="link" href="ch03s03.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a> |
|
257 |
</p></dd><dt><span class="term"> |
|
258 |
<code class="varname">shiptoname</code> |
|
259 |
</span></dt><dd><p>Firmenname (Lieferadresse) <a class="link" href="ch03s03.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a> |
|
260 |
</p></dd><dt><span class="term"> |
|
261 |
<code class="varname">shiptophone</code> |
|
262 |
</span></dt><dd><p>Telefonnummer (Lieferadresse) <a class="link" href="ch03s03.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a> |
|
263 |
</p></dd><dt><span class="term"> |
|
264 |
<code class="varname">shiptostreet</code> |
|
265 |
</span></dt><dd><p>Straße und Hausnummer (Lieferadresse) <a class="link" href="ch03s03.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a> |
|
266 |
</p></dd><dt><span class="term"> |
|
267 |
<code class="varname">shiptozipcode</code> |
|
268 |
</span></dt><dd><p>Postleitzahl (Lieferadresse) <a class="link" href="ch03s03.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a> |
|
269 |
</p></dd><dt><span class="term"> |
|
270 |
<code class="varname">street</code> |
|
271 |
</span></dt><dd><p>Straße und Hausnummer</p></dd><dt><span class="term"> |
|
272 |
<code class="varname">taxnumber</code> |
|
273 |
</span></dt><dd><p>Steuernummer</p></dd><dt><span class="term"> |
|
274 |
<code class="varname">ustid</code> |
|
275 |
</span></dt><dd><p>Umsatzsteuer-Identifikationsnummer</p></dd><dt><span class="term"> |
|
276 |
<code class="varname">vendoremail</code> |
|
277 |
</span></dt><dd><p>Email des Lieferanten; nur für Lieferanten</p></dd><dt><span class="term"> |
|
278 |
<code class="varname">vendorfax</code> |
|
279 |
</span></dt><dd><p>Faxnummer des Lieferanten; nur für Lieferanten</p></dd><dt><span class="term"> |
|
280 |
<code class="varname">vendornotes</code> |
|
281 |
</span></dt><dd><p>Bemerkungen beim Lieferanten; nur für Lieferanten</p></dd><dt><span class="term"> |
|
282 |
<code class="varname">vendornumber</code> |
|
283 |
</span></dt><dd><p>Lieferantennummer; nur für Lieferanten</p></dd><dt><span class="term"> |
|
284 |
<code class="varname">vendorphone</code> |
|
285 |
</span></dt><dd><p>Telefonnummer des Lieferanten; nur für |
|
286 |
Lieferanten</p></dd><dt><span class="term"> |
|
287 |
<code class="varname">zipcode</code> |
|
288 |
</span></dt><dd><p>Postleitzahl</p></dd></dl></div><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="system/docbook-xsl/images/note.png"></td><th align="left"><a name="dokumentenvorlagen-und-variablen.anmerkung-shipto"></a>Anmerkung</th></tr><tr><td align="left" valign="top"><p>Anmerkung: Sind die <code class="varname">shipto*</code>-Felder in den |
|
289 |
Stammdaten nicht eingetragen, so haben die Variablen |
|
290 |
<code class="varname">shipto*</code> den gleichen Wert wie die die |
|
291 |
entsprechenden Variablen der Lieferdaten. Das bedeutet, dass sich |
|
292 |
einige <code class="varname">shipto*</code>-Variablen so nicht in den |
|
293 |
Stammdaten wiederfinden sondern schlicht Kopien der |
|
294 |
Lieferdatenvariablen sind (z.B. |
|
295 |
<code class="varname">shiptocontact</code>).</p></td></tr></table></div></div><div class="sect3" title="3.3.7.3. Informationen über den Bearbeiter"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.allgemein-bearbeiter"></a>3.3.7.3. Informationen über den Bearbeiter</h4></div></div></div><div class="variablelist"><dl><dt><span class="term"> |
|
296 |
<code class="varname">employee_address</code> |
|
297 |
</span></dt><dd><p>Adressfeld</p></dd><dt><span class="term"> |
|
298 |
<code class="varname">employee_businessnumber</code> |
|
299 |
</span></dt><dd><p>Firmennummer</p></dd><dt><span class="term"> |
|
300 |
<code class="varname">employee_company</code> |
|
301 |
</span></dt><dd><p>Firmenname</p></dd><dt><span class="term"> |
|
302 |
<code class="varname">employee_co_ustid</code> |
|
303 |
</span></dt><dd><p>Usatzsteuer-Identifikationsnummer</p></dd><dt><span class="term"> |
|
304 |
<code class="varname">employee_duns</code> |
|
305 |
</span></dt><dd><p>DUNS-Nummer</p></dd><dt><span class="term"> |
|
306 |
<code class="varname">employee_email</code> |
|
307 |
</span></dt><dd><p>Email</p></dd><dt><span class="term"> |
|
308 |
<code class="varname">employee_fax</code> |
|
309 |
</span></dt><dd><p>Fax</p></dd><dt><span class="term"> |
|
310 |
<code class="varname">employee_name</code> |
|
311 |
</span></dt><dd><p>voller Name</p></dd><dt><span class="term"> |
|
312 |
<code class="varname">employee_signature</code> |
|
313 |
</span></dt><dd><p>Signatur</p></dd><dt><span class="term"> |
|
314 |
<code class="varname">employee_taxnumber</code> |
|
315 |
</span></dt><dd><p>Steuernummer</p></dd><dt><span class="term"> |
|
316 |
<code class="varname">employee_tel</code> |
|
317 |
</span></dt><dd><p>Telefonnummer</p></dd></dl></div></div><div class="sect3" title="3.3.7.4. Informationen über den Verkäufer"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.allgemein-verkaeufer"></a>3.3.7.4. Informationen über den Verkäufer</h4></div></div></div><div class="variablelist"><dl><dt><span class="term"> |
|
318 |
<code class="varname">salesman_address</code> |
|
319 |
</span></dt><dd><p>Adressfeld</p></dd><dt><span class="term"> |
|
320 |
<code class="varname">salesman_businessnumber</code> |
|
321 |
</span></dt><dd><p>Firmennummer</p></dd><dt><span class="term"> |
|
322 |
<code class="varname">salesman_company</code> |
|
323 |
</span></dt><dd><p>Firmenname</p></dd><dt><span class="term"> |
|
324 |
<code class="varname">salesman_co_ustid</code> |
|
325 |
</span></dt><dd><p>Usatzsteuer-Identifikationsnummer</p></dd><dt><span class="term"> |
|
326 |
<code class="varname">salesman_duns</code> |
|
327 |
</span></dt><dd><p>DUNS-Nummer</p></dd><dt><span class="term"> |
|
328 |
<code class="varname">salesman_email</code> |
|
329 |
</span></dt><dd><p>Email</p></dd><dt><span class="term"> |
|
330 |
<code class="varname">salesman_fax</code> |
|
331 |
</span></dt><dd><p>Fax</p></dd><dt><span class="term"> |
|
332 |
<code class="varname">salesman_name</code> |
|
333 |
</span></dt><dd><p>voller Name</p></dd><dt><span class="term"> |
|
334 |
<code class="varname">salesman_signature</code> |
|
335 |
</span></dt><dd><p>Signatur</p></dd><dt><span class="term"> |
|
336 |
<code class="varname">salesman_taxnumber</code> |
|
337 |
</span></dt><dd><p>Steuernummer</p></dd><dt><span class="term"> |
|
338 |
<code class="varname">salesman_tel</code> |
|
339 |
</span></dt><dd><p>Telefonnummer</p></dd></dl></div></div><div class="sect3" title="3.3.7.5. Variablen für die einzelnen Steuern"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.allgemein-steuern"></a>3.3.7.5. Variablen für die einzelnen Steuern</h4></div></div></div><div class="variablelist"><dl><dt><span class="term"> |
|
340 |
<code class="varname">tax</code> |
|
341 |
</span></dt><dd><p>Steuer</p></dd><dt><span class="term"> |
|
342 |
<code class="varname">taxbase</code> |
|
343 |
</span></dt><dd><p>zu versteuernder Betrag</p></dd><dt><span class="term"> |
|
344 |
<code class="varname">taxdescription</code> |
|
345 |
</span></dt><dd><p>Name der Steuer</p></dd><dt><span class="term"> |
|
346 |
<code class="varname">taxrate</code> |
|
347 |
</span></dt><dd><p>Steuersatz</p></dd></dl></div></div><div class="sect3" title="3.3.7.6. Variablen für Lieferbedingungen"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.allgemein-lieferbedingungen"></a>3.3.7.6. Variablen für Lieferbedingungen</h4></div></div></div><div class="variablelist"><dl><dt><span class="term"> |
|
348 |
<code class="varname">delivery_term</code> |
|
349 |
</span></dt><dd><p>Datenbank-Objekt der Lieferbedingung</p></dd><dt><span class="term"> |
|
350 |
<code class="varname">delivery_term.description</code> |
|
351 |
</span></dt><dd><p>Beschreibung der Lieferbedingung</p></dd><dt><span class="term"> |
|
352 |
<code class="varname">delivery_term.description_long</code> |
|
353 |
</span></dt><dd><p>Langtext bzw. übersetzter Langtext der |
|
354 |
Lieferbedingung</p></dd></dl></div></div><div class="sect3" title="3.3.7.7. Informationen über abweichende Rechnungsadressen (nur Verkaufsbelege)"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.abweichende-rechnungsadresse"></a>3.3.7.7. Informationen über abweichende Rechnungsadressen (nur Verkaufsbelege)</h4></div></div></div><p> |
|
355 |
Abweichende Rechnungsadressen gibt es nur in Verkaufsbelegen. Die entsprechenden Variablen sind nur dann mit Inhalt gefüllt, |
|
356 |
wenn im Beleg eine abweichende Rechnungsadresse ausgewählt wurde. Ob eine Adresse überhaupt ausgewählt wurde, kann über die |
|
357 |
Variable <code class="literal">billing_address_id</code> getestet werden, die die Datenbank-ID der abweichenden Rechnungsadresse enthält, |
|
358 |
wenn eine ausgewählt ist. |
|
359 |
</p><p> |
|
360 |
Die Variablennamen starten alle mit dem Präfix <code class="literal">billing_address_</code> und heißen anschließend so, wie ihre Pendants |
|
361 |
aus der Standard-Rechnungsadresse des Kunden. Beispiel: die Postleitzahl, die in der normalen Rechnungsadresse in |
|
362 |
<code class="literal">zipcode</code> steht, steht für die abweichende Rechnungsadresse in <code class="literal">billing_address_zipcode</code>. |
|
363 |
</p><p> |
|
364 |
Die folgenden Variablen stehen so zur Verfügung: <code class="literal">billing_address_name</code>, |
|
365 |
<code class="literal">billing_address_department_1</code>, <code class="literal">billing_address_department_2</code>, |
|
366 |
<code class="literal">billing_address_contact</code>, <code class="literal">billing_address_street</code>, |
|
367 |
<code class="literal">billing_address_zipcode</code>, <code class="literal">billing_address_city</code>, <code class="literal">billing_address_country</code>, |
|
368 |
<code class="literal">billing_address_gln</code>, <code class="literal">billing_address_email</code>, <code class="literal">billing_address_phone</code> und |
|
369 |
<code class="literal">billing_address_fax</code>. |
|
370 |
</p></div></div><div class="sect2" title="3.3.8. Variablen in Rechnungen"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.invoice"></a>3.3.8. Variablen in Rechnungen</h3></div></div></div><div class="sect3" title="3.3.8.1. Allgemeine Variablen"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.invoice-allgemein"></a>3.3.8.1. Allgemeine Variablen</h4></div></div></div><div class="variablelist"><dl><dt><span class="term"> |
|
371 |
<code class="varname">creditremaining</code> |
|
372 |
</span></dt><dd><p>Verbleibender Kredit</p></dd><dt><span class="term"> |
|
373 |
<code class="varname">currency</code> |
|
374 |
</span></dt><dd><p>Währung</p></dd><dt><span class="term"> |
|
375 |
<code class="varname">cusordnumber</code> |
|
376 |
</span></dt><dd><p>Bestellnummer beim Kunden</p></dd><dt><span class="term"> |
|
377 |
<code class="varname">deliverydate</code> |
|
378 |
</span></dt><dd><p>Lieferdatum</p></dd><dt><span class="term"> |
|
379 |
<code class="varname">duedate</code> |
|
380 |
</span></dt><dd><p>Fälligkeitsdatum</p></dd><dt><span class="term"> |
|
381 |
<code class="varname">globalprojectnumber</code> |
|
382 |
</span></dt><dd><p>Projektnummer des ganzen Beleges</p></dd><dt><span class="term"> |
|
383 |
<code class="varname">globalprojectdescription</code> |
|
384 |
</span></dt><dd><p>Projekbeschreibung des ganzen Beleges</p></dd><dt><span class="term"> |
|
385 |
<code class="varname">intnotes</code> |
|
386 |
</span></dt><dd><p>Interne Bemerkungen</p></dd><dt><span class="term"> |
|
387 |
<code class="varname">invdate</code> |
|
388 |
</span></dt><dd><p>Rechnungsdatum</p></dd><dt><span class="term"> |
|
389 |
<code class="varname">invnumber</code> |
|
390 |
</span></dt><dd><p>Rechnungsnummer</p></dd><dt><span class="term"> |
|
391 |
<code class="varname">invtotal</code> |
|
392 |
</span></dt><dd><p>gesamter Rechnungsbetrag</p></dd><dt><span class="term"> |
|
393 |
<code class="varname">notes</code> |
|
394 |
</span></dt><dd><p>Bemerkungen der Rechnung</p></dd><dt><span class="term"> |
|
395 |
<code class="varname">orddate</code> |
|
396 |
</span></dt><dd><p>Auftragsdatum</p></dd><dt><span class="term"> |
|
397 |
<code class="varname">ordnumber</code> |
|
398 |
</span></dt><dd><p>Auftragsnummer, wenn die Rechnung aus einem Auftrag |
|
399 |
erstellt wurde</p></dd><dt><span class="term"> |
|
400 |
<code class="varname">payment_description</code> |
|
401 |
</span></dt><dd><p>Name der Zahlart</p></dd><dt><span class="term"> |
|
402 |
<code class="varname">payment_terms</code> |
|
403 |
</span></dt><dd><p>Zahlungskonditionen</p></dd><dt><span class="term"> |
|
404 |
<code class="varname">quodate</code> |
|
405 |
</span></dt><dd><p>Angebotsdatum</p></dd><dt><span class="term"> |
|
406 |
<code class="varname">quonumber</code> |
|
407 |
</span></dt><dd><p>Angebotsnummer</p></dd><dt><span class="term"> |
|
408 |
<code class="varname">rounding</code> |
|
409 |
</span></dt><dd><p>Betrag, um den <code class="varname">invtotal</code> gerundet |
|
410 |
wurde (kann positiv oder negativ sein)</p></dd><dt><span class="term"> |
|
411 |
<code class="varname">shippingpoint</code> |
|
412 |
</span></dt><dd><p>Versandort</p></dd><dt><span class="term"> |
|
413 |
<code class="varname">shipvia</code> |
|
414 |
</span></dt><dd><p>Transportmittel</p></dd><dt><span class="term"> |
|
415 |
<code class="varname">subtotal</code> |
|
416 |
</span></dt><dd><p>Zwischensumme aller Posten ohne Steuern</p></dd><dt><span class="term"> |
|
417 |
<code class="varname">total</code> |
|
418 |
</span></dt><dd><p>Restsumme der Rechnung (Summe abzüglich bereits |
|
419 |
bezahlter Posten)</p></dd><dt><span class="term"> |
|
420 |
<code class="varname">transaction_description</code> |
|
421 |
</span></dt><dd><p>Vorgangsbezeichnung</p></dd><dt><span class="term"> |
|
422 |
<code class="varname">transdate</code> |
|
423 |
</span></dt><dd><p>Auftragsdatum wenn die Rechnung aus einem Auftrag |
|
424 |
erstellt wurde</p></dd></dl></div></div><div class="sect3" title="3.3.8.2. Variablen für die schweizer QR-Rechnung"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5516"></a>3.3.8.2. Variablen für die schweizer QR-Rechnung</h4></div></div></div><p>Diese Variablen können mit dem LaTeX Modul qrbill verwendet |
|
425 |
werden: <a class="ulink" href="https://ctan.org/pkg/qrbill?lang=de" target="_top">https://ctan.org/pkg/qrbill?lang=de</a> |
|
426 |
</p><p>Für die Erstellung von QR-Rechnungen mit OpenDocument Vorlagen |
|
427 |
siehe: <a class="xref" href="ch02s14.html" title="2.14. OpenDocument-Vorlagen">Abschnitt 2.14, „OpenDocument-Vorlagen“</a> |
|
428 |
</p><div class="variablelist"><dl><dt><span class="term">qrbill_iban</span></dt><dd><p>IBAN/QR-IBAN des Rechnungsstellers, aus <span class="emphasis"><em>System |
|
429 |
→ Bankkonten</em></span> |
|
430 |
</p></dd><dt><span class="term">qrbill_biller_countrycode</span></dt><dd><p>Länderkürzel des Rechnungsstellers gem. ISO 3166, aus |
|
431 |
<span class="emphasis"><em>Mandantenkonfiguration → Firmenname und |
|
432 |
-adresse</em></span> |
|
433 |
</p></dd><dt><span class="term">qrbill_customer_countrycode</span></dt><dd><p>Länderkürzel des Rechnungsempfängers gem. ISO 3166, aus |
|
434 |
der jeweiligen Rechnung</p></dd><dt><span class="term">qrbill_amount</span></dt><dd><p>Betrag für die QR-Rechnung (Zahl ohne |
|
435 |
Tausendertrennzeichen mit zwei Nachkommastellen), entsprechend |
|
436 |
total</p></dd><dt><span class="term">qr_reference</span></dt><dd><p>QR-Referenz der jeweiligen Rechnung, sofern in der |
|
437 |
<span class="emphasis"><em>Mandantenkonfiguration → Features → Variante QR-IBAN |
|
438 |
mit QR-Referenz erzeugen</em></span> aktiviert ist</p></dd></dl></div></div><div class="sect3" title="3.3.8.3. Variablen für jeden Posten auf der Rechnung"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.invoice-posten"></a>3.3.8.3. Variablen für jeden Posten auf der Rechnung</h4></div></div></div><div class="variablelist"><dl><dt><span class="term"> |
|
439 |
<code class="varname">bin</code> |
|
440 |
</span></dt><dd><p>Stellage</p></dd><dt><span class="term"> |
|
441 |
<code class="varname">description</code> |
|
442 |
</span></dt><dd><p>Artikelbeschreibung</p></dd><dt><span class="term"> |
|
443 |
<code class="varname">cusordnumber_oe</code> |
|
444 |
</span></dt><dd><p>Bestellnummer des Kunden aus dem Auftrag, aus dem der |
|
445 |
Posten ursprünglich stammt (nur Verkauf)</p></dd><dt><span class="term"> |
|
446 |
<code class="varname">discount</code> |
|
447 |
</span></dt><dd><p>Rabatt als Betrag</p></dd><dt><span class="term"> |
|
448 |
<code class="varname">discount_sub</code> |
|
449 |
</span></dt><dd><p>Zwischensumme mit Rabatt</p></dd><dt><span class="term"> |
|
450 |
<code class="varname">donumber_do</code> |
|
451 |
</span></dt><dd><p>Lieferscheinnummer des Lieferscheins, aus dem die |
|
452 |
Position ursprünglich stammt, wenn die Rechnung im Rahmen des |
|
453 |
Workflows aus einem Lieferschein erstellt wurde.</p></dd><dt><span class="term"> |
|
454 |
<code class="varname">drawing</code> |
|
455 |
</span></dt><dd><p>Zeichnung</p></dd><dt><span class="term"> |
|
456 |
<code class="varname">ean</code> |
|
457 |
</span></dt><dd><p>EAN-Code</p></dd><dt><span class="term"> |
|
458 |
<code class="varname">image</code> |
|
459 |
</span></dt><dd><p>Grafik</p></dd><dt><span class="term"> |
|
460 |
<code class="varname">linetotal</code> |
|
461 |
</span></dt><dd><p>Zeilensumme (Anzahl * Einzelpreis)</p></dd><dt><span class="term"> |
|
462 |
<code class="varname">longdescription</code> |
|
463 |
</span></dt><dd><p>Langtext, vorbelegt mit dem Feld Bemerkungen der entsprechenden Ware</p></dd><dt><span class="term"> |
|
464 |
<code class="varname">microfiche</code> |
|
465 |
</span></dt><dd><p>Mikrofilm</p></dd><dt><span class="term"> |
|
466 |
<code class="varname">netprice</code> |
|
467 |
</span></dt><dd><p>Alternative zu <code class="varname">sellprice</code>, aber |
|
468 |
<code class="varname">netprice</code> entspricht dem effektiven |
|
469 |
Einzelpreis und beinhaltet Zeilenrabatt und Preisfaktor. |
|
470 |
<code class="varname">netprice</code> wird rückgerechnet aus Zeilensumme |
|
471 |
/ Menge. Diese Variable ist nützlich, wenn man den gewährten |
|
472 |
Rabatt in der Druckvorlage nicht anzeigen möchte, aber Menge * |
|
473 |
Einzelpreis trotzdem die angezeigte Zeilensumme ergeben soll. |
|
474 |
<code class="varname">netprice</code> hat nichts mit Netto/Brutto im |
|
475 |
Sinne von Steuern zu tun.</p></dd><dt><span class="term"> |
|
476 |
<code class="varname">nodiscount_linetotal</code> |
|
477 |
</span></dt><dd><p>Zeilensumme ohne Rabatt</p></dd><dt><span class="term"> |
|
478 |
<code class="varname">nodiscount_sub</code> |
|
479 |
</span></dt><dd><p>Zwischensumme ohne Rabatt</p></dd><dt><span class="term"> |
|
480 |
<code class="varname">number</code> |
|
481 |
</span></dt><dd><p>Artikelnummer</p></dd><dt><span class="term"> |
|
482 |
<code class="varname">ordnumber_oe</code> |
|
483 |
</span></dt><dd><p>Auftragsnummer des Originalauftrags, aus dem der Posten |
|
484 |
ursprünglich stammt. Nützlich, wenn die Rechnung aus mehreren |
|
485 |
Lieferscheinen zusammengefasst wurde, oder wenn zwischendurch |
|
486 |
eine Sammelauftrag aus mehreren Aufträgen erstellt wurde. In |
|
487 |
letzterem Fall wird die unsprüngliche Auftragsnummer |
|
488 |
angezeigt.</p></dd><dt><span class="term"> |
|
489 |
<code class="varname">p_discount</code> |
|
490 |
</span></dt><dd><p>Rabatt in Prozent</p></dd><dt><span class="term"> |
|
491 |
<code class="varname">partnotes</code> |
|
492 |
</span></dt><dd><p>Die beim Artikel gespeicherten Bemerkungen</p></dd><dt><span class="term"> |
|
493 |
<code class="varname">partsgroup</code> |
|
494 |
</span></dt><dd><p>Warengruppe</p></dd><dt><span class="term"> |
|
495 |
<code class="varname">price_factor</code> |
|
496 |
</span></dt><dd><p>Der Preisfaktor als Zahl, sofern einer eingestellt |
|
497 |
ist</p></dd><dt><span class="term"> |
|
498 |
<code class="varname">price_factor_name</code> |
|
499 |
</span></dt><dd><p>Der Name des Preisfaktors, sofern einer eingestellt |
|
500 |
ist</p></dd><dt><span class="term"> |
|
501 |
<code class="varname">projectnumber</code> |
|
502 |
</span></dt><dd><p>Projektnummer</p></dd><dt><span class="term"> |
|
503 |
<code class="varname">projectdescription</code> |
|
504 |
</span></dt><dd><p>Projektbeschreibung</p></dd><dt><span class="term"> |
|
505 |
<code class="varname">qty</code> |
|
506 |
</span></dt><dd><p>Anzahl</p></dd><dt><span class="term"> |
|
507 |
<code class="varname">reqdate</code> |
|
508 |
</span></dt><dd><p>Lieferdatum</p></dd><dt><span class="term"> |
|
509 |
<code class="varname">runningnumber</code> |
|
510 |
</span></dt><dd><p>Position auf der Rechnung (1, 2, 3...)</p></dd><dt><span class="term"> |
|
511 |
<code class="varname">sellprice</code> |
|
512 |
</span></dt><dd><p>Verkaufspreis</p></dd><dt><span class="term"> |
|
513 |
<code class="varname">serialnumber</code> |
|
514 |
</span></dt><dd><p>Seriennummer</p></dd><dt><span class="term"> |
|
515 |
<code class="varname">tax_rate</code> |
|
516 |
</span></dt><dd><p>Steuersatz</p></dd><dt><span class="term"> |
|
517 |
<code class="varname">transdate_do</code> |
|
518 |
</span></dt><dd><p>Datum des Lieferscheins, wenn die Rechnung im Rahmen des |
|
519 |
Workflows aus einem Lieferschein stammte.</p></dd><dt><span class="term"> |
|
520 |
<code class="varname">transdate_oe</code> |
|
521 |
</span></dt><dd><p>Datum des Auftrags, wenn die Rechnung im Rahmen des |
|
522 |
Workflows aus einem Auftrag erstellt wurde. Wenn es |
|
523 |
Sammelaufträge gab wird das Datum des ursprünglichen Auftrags |
|
524 |
genommen.</p></dd><dt><span class="term"> |
|
525 |
<code class="varname">transdate_quo</code> |
|
526 |
</span></dt><dd><p>Datum des Angebots, wenn die Position im Rahmen des |
|
527 |
Workflows aus einem Angebot stammte.</p></dd><dt><span class="term"> |
|
528 |
<code class="varname">unit</code> |
|
529 |
</span></dt><dd><p>Einheit</p></dd><dt><span class="term"> |
|
530 |
<code class="varname">weight</code> |
|
531 |
</span></dt><dd><p>Gewicht</p></dd></dl></div><p>Für jeden Posten gibt es ein Unterarray mit den Informationen |
|
532 |
über Lieferanten und Lieferantenartikelnummer, Kunde und Kundenartikelnummer |
|
533 |
und Kunden- bzw. Lieferantentyp und zugehöriger Artikelnummer mit Beschreibung |
|
534 |
und Langtext. Diese müssen jeweils mit |
|
535 |
einer <code class="function">foreach</code>-Schleife ausgegeben werden, da |
|
536 |
für jeden Artikel mehrere Lieferanten- und Kundeninformationen bzw. |
|
537 |
kunden- bzw. lieferantenspezifische Informationen hinterlegt sein |
|
538 |
können. Die Variablen dafür lauten:</p><div class="variablelist"><dl><dt><span class="term"> |
|
539 |
<code class="varname">make</code> |
|
540 |
</span></dt><dd><p>Lieferant</p></dd><dt><span class="term"> |
|
541 |
<code class="varname">model</code> |
|
542 |
</span></dt><dd><p>Lieferantenartikelnummer</p></dd><dt><span class="term"> |
|
543 |
<code class="varname">mm_part_description</code> |
|
544 |
</span></dt><dd><p>Lieferantenartikelbeschreibung</p></dd><dt><span class="term"> |
|
545 |
<code class="varname">mm_part_longdescription</code> |
|
546 |
</span></dt><dd><p>Lieferantenartikelbeschreibung (Langtext)</p></dd><dt><span class="term"> |
|
547 |
<code class="varname">customer_make</code> |
|
548 |
</span></dt><dd><p>Kunde</p></dd><dt><span class="term"> |
|
549 |
<code class="varname">customer_model</code> |
|
550 |
</span></dt><dd><p>Kundenartikelnummer</p></dd><dt><span class="term"> |
|
551 |
<code class="varname">cm_part_description</code> |
|
552 |
</span></dt><dd><p>Kundenartikelbeschreibung</p></dd><dt><span class="term"> |
|
553 |
<code class="varname">cm_part_longdescription</code> |
|
554 |
</span></dt><dd><p>Kundenartikelbeschreibung (Langtext)</p></dd><dt><span class="term"> |
|
555 |
<code class="varname">business_make</code> |
|
556 |
</span></dt><dd><p>Kunden-/Lieferantentyp</p></dd><dt><span class="term"> |
|
557 |
<code class="varname">business_model</code> |
|
558 |
</span></dt><dd><p>Kunden-/Lieferantentyp-spezifische Artikelnummer</p></dd><dt><span class="term"> |
|
559 |
<code class="varname">bm_part_description</code> |
|
560 |
</span></dt><dd><p>Kunden-/Lieferantentyp-spezifische Artikelbeschreibung</p></dd><dt><span class="term"> |
|
561 |
<code class="varname">bm_part_longdescription</code> |
|
562 |
</span></dt><dd><p>Kunden-/Lieferantentyp-spezifische Artikelbeschreibung (Langtext)</p></dd></dl></div></div><div class="sect3" title="3.3.8.4. Variablen für die einzelnen Zahlungseingänge"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.invoice-zahlungen"></a>3.3.8.4. Variablen für die einzelnen Zahlungseingänge</h4></div></div></div><div class="variablelist"><dl><dt><span class="term"> |
|
563 |
<code class="varname">payment</code> |
|
564 |
</span></dt><dd><p>Betrag</p></dd><dt><span class="term"> |
|
565 |
<code class="varname">paymentaccount</code> |
|
566 |
</span></dt><dd><p>Konto</p></dd><dt><span class="term"> |
|
567 |
<code class="varname">paymentdate</code> |
|
568 |
</span></dt><dd><p>Datum</p></dd><dt><span class="term"> |
|
569 |
<code class="varname">paymentmemo</code> |
|
570 |
</span></dt><dd><p>Memo</p></dd><dt><span class="term"> |
|
571 |
<code class="varname">paymentsource</code> |
|
572 |
</span></dt><dd><p>Beleg</p></dd></dl></div></div><div class="sect3" title="3.3.8.5. Benutzerdefinierte Kunden- und Lieferantenvariablen"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.benutzerdefinierte-variablen-vc"></a>3.3.8.5. Benutzerdefinierte Kunden- und Lieferantenvariablen</h4></div></div></div><p>Die vom Benutzer definierten Variablen für Kunden und |
|
573 |
Lieferanten stehen beim Ausdruck von Einkaufs- und Verkaufsbelegen |
|
574 |
ebenfalls zur Verfügung. Ihre Namen setzen sich aus dem Präfix |
|
575 |
<code class="varname">vc_cvar_</code> und dem vom Benutzer festgelegten |
|
576 |
Variablennamen zusammen.</p><p>Beispiel: Der Benutzer hat eine Variable namens |
|
577 |
<code class="varname">number_of_employees</code> definiert, die die Anzahl der |
|
578 |
Mitarbeiter des Unternehmens enthält. Diese Variable steht dann |
|
579 |
unter dem Namen <code class="varname">vc_cvar_number_of_employees</code> zur |
|
580 |
Verfügung.</p><p>Die benutzerdefinierten Variablen der Lieferadressen stehen |
|
581 |
unter einem ähnlichen Namensschema zur Verfügung. Hier lautet der |
|
582 |
Präfix <code class="varname">shiptocvar_</code>.</p><p>Analog stehen die benutzerdefinierten Variablen für |
|
583 |
Ansprechpersonen mit dem Namenspräfix <code class="varname">cp_cvar_</code> |
|
584 |
zur Verfügung.</p></div></div><div class="sect2" title="3.3.9. Variablen in Mahnungen und Rechnungen über Mahngebühren"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.dunning"></a>3.3.9. Variablen in Mahnungen und Rechnungen über Mahngebühren</h3></div></div></div><div class="sect3" title="3.3.9.1. Namen der Vorlagen"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.dunning-vorlagennamen"></a>3.3.9.1. Namen der Vorlagen</h4></div></div></div><p>Die Namen der Vorlagen werden im System-Menü vom Benutzer |
|
585 |
eingegeben. Wird für ein Mahnlevel die Option zur automatischen |
|
586 |
Erstellung einer Rechnung über die Mahngebühren und Zinsen |
|
587 |
aktiviert, so wird der Name der Vorlage für diese Rechnung aus dem |
|
588 |
Vorlagenname für diese Mahnstufe mit dem Zusatz |
|
589 |
<code class="constant">_invoice</code> gebildet. Weiterhin werden die Kürzel |
|
590 |
für die ausgewählte Sprache und den ausgewählten Drucker |
|
591 |
angehängt.</p></div><div class="sect3" title="3.3.9.2. Allgemeine Variablen in Mahnungen"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.dunning-allgemein"></a>3.3.9.2. Allgemeine Variablen in Mahnungen</h4></div></div></div><p>Die Variablen des Bearbeiters, bzw. Verkäufers stehen wie |
|
592 |
gewohnt als <code class="varname">employee_...</code> bzw. |
|
593 |
<code class="varname">salesman_...</code> zur Verfügung. Werden mehrere |
|
594 |
Rechnungen in einer Mahnung zusammengefasst, so werden die Metadaten |
|
595 |
(Bearbeiter, Abteilung, etc) der ersten angemahnten Rechnung im |
|
596 |
Ausdruck genommen.</p><p>Die Adressdaten des Kunden stehen als Variablen |
|
597 |
<code class="varname">name</code>, <code class="varname">street</code>, |
|
598 |
<code class="varname">zipcode</code>, <code class="varname">city</code>, |
|
599 |
<code class="varname">country</code>, <code class="varname">department_1</code>, |
|
600 |
<code class="varname">department_2</code>, und <code class="varname">email</code> zur |
|
601 |
Verfügung. Der Ansprechpartner <code class="varname">cp_...</code> steht auch |
|
602 |
zu Verfügung, wird allerdings auch nur von der ersten angemahnten |
|
603 |
Rechnung (s.o.) genommen.</p><p>Weitere Variablen beinhalten:</p><div class="variablelist"><dl><dt><span class="term"> |
|
604 |
<code class="varname">dunning_date</code> |
|
605 |
</span></dt><dd><p>Datum der Mahnung</p></dd><dt><span class="term"> |
|
606 |
<code class="varname">dunning_duedate</code> |
|
607 |
</span></dt><dd><p>Fälligkeitsdatum für diese Mahhnung</p></dd><dt><span class="term"> |
|
608 |
<code class="varname">dunning_id</code> |
|
609 |
</span></dt><dd><p>Mahnungsnummer</p></dd><dt><span class="term"> |
|
610 |
<code class="varname">fee</code> |
|
611 |
</span></dt><dd><p>Kumulative Mahngebühren</p></dd><dt><span class="term"> |
|
612 |
<code class="varname">interest_rate</code> |
|
613 |
</span></dt><dd><p>Zinssatz per anno in Prozent</p></dd><dt><span class="term"> |
|
614 |
<code class="varname">total_amount</code> |
|
615 |
</span></dt><dd><p>Gesamter noch zu zahlender Betrag als |
|
616 |
<code class="function">fee</code> + <code class="function">total_interest</code> |
|
617 |
+ <code class="function">total_open_amount</code> |
|
618 |
</p></dd><dt><span class="term"> |
|
619 |
<code class="varname">total_interest</code> |
|
620 |
</span></dt><dd><p>Zinsen per anno über alle Rechnungen</p></dd><dt><span class="term"> |
|
621 |
<code class="varname">total_open_amount</code> |
|
622 |
</span></dt><dd><p>Summe über alle offene Beträge der Rechnungen</p></dd></dl></div></div><div class="sect3" title="3.3.9.3. Variablen für jede gemahnte Rechnung in einer Mahnung"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.dunning-details"></a>3.3.9.3. Variablen für jede gemahnte Rechnung in einer Mahnung</h4></div></div></div><div class="variablelist"><dl><dt><span class="term"> |
|
623 |
<code class="varname">dn_amount</code> |
|
624 |
</span></dt><dd><p>Rechnungssumme (brutto)</p></dd><dt><span class="term"> |
|
625 |
<code class="varname">dn_duedate</code> |
|
626 |
</span></dt><dd><p>Originales Fälligkeitsdatum der Rechnung</p></dd><dt><span class="term"> |
|
627 |
<code class="varname">dn_dunning_date</code> |
|
628 |
</span></dt><dd><p>Datum der Mahnung</p></dd><dt><span class="term"> |
|
629 |
<code class="varname">dn_dunning_duedate</code> |
|
630 |
</span></dt><dd><p>Fälligkeitsdatum der Mahnung</p></dd><dt><span class="term"> |
|
631 |
<code class="varname">dn_fee</code> |
|
632 |
</span></dt><dd><p>Kummulative Mahngebühr</p></dd><dt><span class="term"> |
|
633 |
<code class="varname">dn_interest</code> |
|
634 |
</span></dt><dd><p>Zinsen per anno für diese Rechnung</p></dd><dt><span class="term"> |
|
635 |
<code class="varname">dn_invnumber</code> |
|
636 |
</span></dt><dd><p>Rechnungsnummer</p></dd><dt><span class="term"> |
|
637 |
<code class="varname">dn_linetotal</code> |
|
638 |
</span></dt><dd><p>Noch zu zahlender Betrag (ergibt sich aus |
|
639 |
<code class="varname">dn_open_amount</code> + <code class="varname">dn_fee</code> |
|
640 |
+ <code class="varname">dn_interest</code>)</p></dd><dt><span class="term"> |
|
641 |
<code class="varname">dn_netamount</code> |
|
642 |
</span></dt><dd><p>Rechnungssumme (netto)</p></dd><dt><span class="term"> |
|
643 |
<code class="varname">dn_open_amount</code> |
|
644 |
</span></dt><dd><p>Offener Rechnungsbetrag</p></dd><dt><span class="term"> |
|
645 |
<code class="varname">dn_ordnumber</code> |
|
646 |
</span></dt><dd><p>Bestellnummer</p></dd><dt><span class="term"> |
|
647 |
<code class="varname">dn_transdate</code> |
|
648 |
</span></dt><dd><p>Rechnungsdatum</p></dd><dt><span class="term"> |
|
649 |
<code class="varname">dn_curr</code> |
|
650 |
</span></dt><dd><p>Währung, in der die Rechnung erstellt wurde. (Die |
|
651 |
Rechnungsbeträge sind aber immer in der Hauptwährung)</p></dd></dl></div></div><div class="sect3" title="3.3.9.4. Variablen in automatisch erzeugten Rechnungen über Mahngebühren"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.dunning-invoice"></a>3.3.9.4. Variablen in automatisch erzeugten Rechnungen über |
|
652 |
Mahngebühren</h4></div></div></div><p>Die Variablen des Verkäufers stehen wie gewohnt als |
|
653 |
<code class="varname">employee_...</code> zur Verfügung. Die Adressdaten des |
|
654 |
Kunden stehen als Variablen <code class="varname">name</code>, |
|
655 |
<code class="varname">street</code>, <code class="varname">zipcode</code>, |
|
656 |
<code class="varname">city</code>, <code class="varname">country</code>, |
|
657 |
<code class="varname">department_1</code>, <code class="varname">department_2</code>, |
|
658 |
und <code class="varname">email</code> zur Verfügung.</p><p>Weitere Variablen beinhalten:</p><div class="variablelist"><dl><dt><span class="term"> |
|
659 |
<code class="varname">duedate</code> |
|
660 |
</span></dt><dd><p>Fälligkeitsdatum der Rechnung</p></dd><dt><span class="term"> |
|
661 |
<code class="varname">dunning_id</code> |
|
662 |
</span></dt><dd><p>Mahnungsnummer</p></dd><dt><span class="term"> |
|
663 |
<code class="varname">fee</code> |
|
664 |
</span></dt><dd><p>Mahngebühren</p></dd><dt><span class="term"> |
|
665 |
<code class="varname">interest</code> |
|
666 |
</span></dt><dd><p>Zinsen</p></dd><dt><span class="term"> |
|
667 |
<code class="varname">invamount</code> |
|
668 |
</span></dt><dd><p>Rechnungssumme (ergibt sich aus <code class="varname">fee</code> + |
|
669 |
<code class="varname">interest</code>)</p></dd><dt><span class="term"> |
|
670 |
<code class="varname">invdate</code> |
|
671 |
</span></dt><dd><p>Rechnungsdatum</p></dd><dt><span class="term"> |
|
672 |
<code class="varname">invnumber</code> |
|
673 |
</span></dt><dd><p>Rechnungsnummer</p></dd></dl></div></div></div><div class="sect2" title="3.3.10. Variablen in anderen Vorlagen"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.andere-vorlagen"></a>3.3.10. Variablen in anderen Vorlagen</h3></div></div></div><div class="sect3" title="3.3.10.1. Einführung"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6460"></a>3.3.10.1. Einführung</h4></div></div></div><p>Die Variablen in anderen Vorlagen sind ähnlich wie in der |
|
674 |
Rechnung. Allerdings heißen die Variablen, die mit |
|
675 |
<code class="varname">inv</code> beginnen, jetzt anders. Bei den Angeboten |
|
676 |
fangen sie mit <code class="varname">quo</code> für "quotation" an: |
|
677 |
<code class="varname">quodate</code> für Angebotsdatum etc. Bei Bestellungen |
|
678 |
wiederum fangen sie mit <code class="varname">ord</code> für "order" an: |
|
679 |
<code class="varname">ordnumber</code> für Bestellnummer etc.</p><p>Manche Variablen sind in anderen Vorlagen hingegen gar nicht |
|
680 |
vorhanden wie z.B. die für bereits verbuchte Zahlungseingänge. Dies |
|
681 |
sind Variablen, die vom Geschäftsablauf her in der entsprechenden |
|
682 |
Vorlage keine Bedeutung haben oder noch nicht belegt sein |
|
683 |
können.</p><p>Im Folgenden werden nur wichtige Unterschiede zu den Variablen |
|
684 |
in Rechnungen aufgeführt.</p></div><div class="sect3" title="3.3.10.2. Angebote und Preisanfragen"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.andere-vorlagen-quotations"></a>3.3.10.2. Angebote und Preisanfragen</h4></div></div></div><div class="variablelist"><dl><dt><span class="term"> |
|
685 |
<code class="varname">quonumber</code> |
|
686 |
</span></dt><dd><p>Angebots- bzw. Anfragenummer</p></dd><dt><span class="term"> |
|
687 |
<code class="varname">reqdate</code> |
|
688 |
</span></dt><dd><p>Gültigkeitsdatum (bei Angeboten) bzw. Lieferdatum (bei |
|
689 |
Preisanfragen)</p></dd><dt><span class="term"> |
|
690 |
<code class="varname">transdate</code> |
|
691 |
</span></dt><dd><p>Angebots- bzw. Anfragedatum</p></dd></dl></div></div><div class="sect3" title="3.3.10.3. Auftragsbestätigungen und Lieferantenaufträge"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.andere-vorlagen-orders"></a>3.3.10.3. Auftragsbestätigungen und Lieferantenaufträge</h4></div></div></div><div class="variablelist"><dl><dt><span class="term"> |
|
692 |
<code class="varname">ordnumber</code> |
|
693 |
</span></dt><dd><p>Auftragsnummer</p></dd><dt><span class="term"> |
|
694 |
<code class="varname">reqdate</code> |
|
695 |
</span></dt><dd><p>Lieferdatum</p></dd><dt><span class="term"> |
|
696 |
<code class="varname">transdate</code> |
|
697 |
</span></dt><dd><p>Auftragsdatum</p></dd></dl></div></div><div class="sect3" title="3.3.10.4. Lieferscheine (Verkauf und Einkauf)"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.andere-vorlagen-delivery-orders"></a>3.3.10.4. Lieferscheine (Verkauf und Einkauf)</h4></div></div></div><div class="variablelist"><dl><dt><span class="term"> |
|
698 |
<code class="varname">cusordnumber</code> |
|
699 |
</span></dt><dd><p>Bestellnummer des Kunden (im Verkauf) bzw. Bestellnummer |
|
700 |
des Lieferanten (im Einkauf)</p></dd><dt><span class="term"> |
|
701 |
<code class="varname">donumber</code> |
|
702 |
</span></dt><dd><p>Lieferscheinnummer</p></dd><dt><span class="term"> |
|
703 |
<code class="varname">transdate</code> |
|
704 |
</span></dt><dd><p>Lieferscheindatum</p></dd></dl></div><p>Für jede Position eines Lieferscheines gibt es ein Unterarray |
|
705 |
mit den Informationen darüber, von welchem Lager und Lagerplatz aus |
|
706 |
die Waren verschickt wurden (Verkaufslieferscheine) bzw. auf welchen |
|
707 |
Lagerplatz sie eingelagert wurden. Diese müssen mittels einer |
|
708 |
<code class="function">foreach</code>-Schleife ausgegeben werden. Diese |
|
709 |
Variablen sind:</p><div class="variablelist"><dl><dt><span class="term"> |
|
710 |
<code class="varname">si_bin</code> |
|
711 |
</span></dt><dd><p>Lagerplatz</p></dd><dt><span class="term"> |
|
712 |
<code class="varname">si_chargenumber</code> |
|
713 |
</span></dt><dd><p>Chargennummer</p></dd><dt><span class="term"> |
|
714 |
<code class="varname">si_bestbefore</code> |
|
715 |
</span></dt><dd><p>Mindesthaltbarkeit</p></dd><dt><span class="term"> |
|
716 |
<code class="varname">si_number</code> |
|
717 |
</span></dt><dd><p>Artikelnummer</p></dd><dt><span class="term"> |
|
718 |
<code class="varname">si_qty</code> |
|
719 |
</span></dt><dd><p>Anzahl bzw. Menge</p></dd><dt><span class="term"> |
|
720 |
<code class="varname">si_runningnumber</code> |
|
721 |
</span></dt><dd><p>Positionsnummer (1, 2, 3 etc)</p></dd><dt><span class="term"> |
|
722 |
<code class="varname">si_unit</code> |
|
723 |
</span></dt><dd><p>Einheit</p></dd><dt><span class="term"> |
|
724 |
<code class="varname">si_warehouse</code> |
|
725 |
</span></dt><dd><p>Lager</p></dd></dl></div></div><div class="sect3" title="3.3.10.5. Variablen für Sammelrechnung"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.andere-vorlagen-statement"></a>3.3.10.5. Variablen für Sammelrechnung</h4></div></div></div><div class="variablelist"><dl><dt><span class="term"> |
|
726 |
<code class="varname">c0total</code> |
|
727 |
</span></dt><dd><p>Gesamtbetrag aller Rechnungen mit Fälligkeit < 30 |
|
728 |
Tage</p></dd><dt><span class="term"> |
|
729 |
<code class="varname">c30total</code> |
|
730 |
</span></dt><dd><p>Gesamtbetrag aller Rechnungen mit Fälligkeit >= 30 |
|
731 |
und < 60 Tage</p></dd><dt><span class="term"> |
|
732 |
<code class="varname">c60total</code> |
|
733 |
</span></dt><dd><p>Gesamtbetrag aller Rechnungen mit Fälligkeit >= 60 |
|
734 |
und < 90 Tage</p></dd><dt><span class="term"> |
|
735 |
<code class="varname">c90total</code> |
|
736 |
</span></dt><dd><p>Gesamtbetrag aller Rechnungen mit Fälligkeit >= 90 |
|
737 |
Tage</p></dd><dt><span class="term"> |
|
738 |
<code class="varname">total</code> |
|
739 |
</span></dt><dd><p>Gesamtbetrag aller Rechnungen</p></dd></dl></div><p>Variablen für jede Rechnungsposition in Sammelrechnung:</p><div class="variablelist"><dl><dt><span class="term"> |
|
740 |
<code class="varname">invnumber</code> |
|
741 |
</span></dt><dd><p>Rechnungsnummer</p></dd><dt><span class="term"> |
|
742 |
<code class="varname">invdate</code> |
|
743 |
</span></dt><dd><p>Rechnungsdatum</p></dd><dt><span class="term"> |
|
744 |
<code class="varname">duedate</code> |
|
745 |
</span></dt><dd><p>Fälligkeitsdatum</p></dd><dt><span class="term"> |
|
746 |
<code class="varname">amount</code> |
|
747 |
</span></dt><dd><p>Summe der Rechnung</p></dd><dt><span class="term"> |
|
748 |
<code class="varname">open</code> |
|
749 |
</span></dt><dd><p>Noch offener Betrag der Rechnung</p></dd><dt><span class="term"> |
|
750 |
<code class="varname">c0</code> |
|
751 |
</span></dt><dd><p>Noch offener Rechnungsbetrag mit Fälligkeit < 30 |
|
752 |
Tage</p></dd><dt><span class="term"> |
|
753 |
<code class="varname">c30</code> |
|
754 |
</span></dt><dd><p>Noch offener Rechnungsbetrag mit Fälligkeit >= 30 und |
|
755 |
< 60 Tage</p></dd><dt><span class="term"> |
|
756 |
<code class="varname">c60</code> |
|
757 |
</span></dt><dd><p>Noch offener Rechnungsbetrag mit Fälligkeit >= 60 und |
|
758 |
< 90 Tage</p></dd><dt><span class="term"> |
|
759 |
<code class="varname">c90</code> |
|
760 |
</span></dt><dd><p>Noch offener Rechnungsbetrag mit Fälligkeit >= 90 |
|
761 |
Tage</p></dd></dl></div></div></div><div class="sect2" title="3.3.11. Blöcke, bedingte Anweisungen und Schleifen"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.bloecke"></a>3.3.11. Blöcke, bedingte Anweisungen und Schleifen</h3></div></div></div><div class="sect3" title="3.3.11.1. Einführung"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.bloecke.einfuehrung"></a>3.3.11.1. Einführung</h4></div></div></div><p>Der Parser kennt neben den Variablen einige weitere |
|
762 |
Konstrukte, die gesondert behandelt werden. Diese sind wie |
|
763 |
Variablennamen in spezieller Weise markiert: |
|
764 |
<span class="command"><strong><%anweisung%> ... <%end%></strong></span> |
|
765 |
</p><p>Anmerkung zum <span class="command"><strong><%end%></strong></span>: Der besseren |
|
766 |
Verständlichkeit halber kann man nach dem <span class="command"><strong>end</strong></span> |
|
767 |
noch beliebig weitere Wörter schreiben, um so zu markieren, welche |
|
768 |
Anweisung (z.B. <span class="command"><strong>if</strong></span> oder |
|
769 |
<span class="command"><strong>foreach</strong></span>) damit abgeschlossen wird.</p><p>Beispiel: Lautet der Beginn eines Blockes z.B. |
|
770 |
<span class="command"><strong><%if type == "sales_quotation"%></strong></span>, so könnte |
|
771 |
er mit <span class="command"><strong><%end%></strong></span> genauso abgeschlossen werden |
|
772 |
wie mit <span class="command"><strong><%end if%></strong></span> oder auch |
|
773 |
<span class="command"><strong><%end type == "sales_quotation"%></strong></span>.</p></div><div class="sect3" title="3.3.11.2. Der if-Block"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.bloecke.if"></a>3.3.11.2. Der if-Block</h4></div></div></div><pre class="programlisting"><%if variablenname%> |
|
774 |
... |
|
775 |
<%end%></pre><p>Eine normale "if-then"-Bedingung. Die Zeilen zwischen dem "if" |
|
776 |
und dem "end" werden nur ausgegeben, wenn die Variable |
|
777 |
<code class="varname">variablenname</code> gesetzt und ungleich 0 ist.</p><p>Handelt es sich bei der benannten Variable um ein Array, also |
Auch abrufbar als: Unified diff
Aktuell generierte Doku