Revision 5cb6779a
Von Jan Büren vor mehr als 1 Jahr hinzugefügt
doc/html/ch02s02.html | ||
---|---|---|
<html><head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||
<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
|
||
<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
|
||
unixoiden Betriebssystem zum Laufen zu kriegen sein. Getestet ist
|
||
diese Version im speziellen auf Debian und Ubuntu, grundsätzlich wurde
|
||
bei der Auswahl der Pakete aber darauf Rücksicht genommen, dass es
|
||
... | ... | |
<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>
|
||
</p><p>Fedora: </p><pre class="programlisting">dnf install poppler-utils postgresql-contrib</pre><p>
|
||
</p><p>openSUSE:</p><pre class="programlisting">Nicht notwendig, da poppler-utils bereits i.v.m. kivitendo-erp installiert wird</pre><p>
|
||
</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>
|
||
</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 | ||
---|---|---|
<html><head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||
<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>
|
||
Kivitendo lässt sich auch mithilfe von Ansible installieren.
|
||
</p><p>
|
||
<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>
|
||
Ansible ist ein Open-Source-Automatisierungstool, das verwendet
|
||
wird, um die Bereitstellung, Konfiguration und Verwaltung von
|
||
IT-Systemen zu automatisieren. Dabei führt es Aufgaben über SSH auf
|
||
entfernten Rechnern (Hosts) aus. Die Aufgaben werden dabei
|
||
deklarativ als YAML Dateien, den sogenannten Playbooks , übergeben.
|
||
</p><p>
|
||
Um die installation von Kivitendo einfacher zu gestalten liegt ein
|
||
Playbook im scripts Ordner, welches die Installation von Kivitendo
|
||
auf einer Ubuntu Umgebung automatisiert.
|
||
deklarativ als YAML Dateien, den sogenannten Playbooks, übergeben.
|
||
Benötigt wird lediglich python und ansible ab Version 2.10.
|
||
</p><p>
|
||
Zur Installation mit Ansible liegt auf dem Git Repository im ansible
|
||
Ordner mit dem benötigtem Playbook und Konfigurationsdateien.
|
||
Alle benötigten Konfigurationsdateien und das Playbook sind auf dem kivitendo github Account
|
||
unter dem Repository namens <a class="ulink" href="https://github.com/kivitendo/kivitendo-ansible" target="_top">kivitendo-ansible</a> verfügbar.
|
||
Das Repo kann lokal mit folgendem git-Befehl "geklont" werden:
|
||
</p><pre class="programlisting">git clone https://github.com/kivitendo/kivitendo-ansible</pre><p>
|
||
In diesem Repository befindet sich auch eine Readme.md, die aktuelle Installationshinweise auf englisch enthält.
|
||
</p><p>
|
||
Um die installation zu starten wechseln sie zunächst in den Order
|
||
<code class="literal">scripts/ansible</code> und führen dann folgenden Befehl
|
||
aus.
|
||
</p><pre class="programlisting">
|
||
ansible-playbook --ask-become-pass main.yaml --extra-vars"target=ZIEL_RECHNER"
|
||
</pre><p>
|
||
Der/die Hosts auf denen Kivitendo installiert werden soll wird in
|
||
der Variable target übergeben. Als nächstes werden sie von Ansible
|
||
Um die Installation zu starten, wechseln Sie dann zunächst in den erstellten Ordner 'kivitendo-ansible' und
|
||
editieren die Datei inventory.
|
||
|
||
</p><pre class="programlisting">cd kivitendo-ansible
|
||
vim inventory</pre><p>
|
||
|
||
Der/die Hosts auf denen Kivitendo installiert werden soll wird dann in
|
||
dieser Datei ('inventory') eingefügt, bspw. die
|
||
|
||
</p><pre class="programlisting">192.168.1.121</pre><p>
|
||
oder als Namen:
|
||
</p><pre class="programlisting">kivi.meine-lokale-domaene.de</pre><p>
|
||
Zusätzliche Parameter könnten erforderlich sein, bspw. der Benutzer für den SSH-Login:
|
||
</p><pre class="programlisting">kivi.meine-lokale-domaene.de ansible_user=myuser</pre><p>
|
||
|
||
</p><p>
|
||
Danach kann das Playbook mittels:
|
||
</p><pre class="programlisting">ansible-playbook --ask-become main.yml</pre><p>
|
||
ausgeführt werden, je nach Konfiguration wird man noch
|
||
aufgefordert das BECOME password einzutragen, hierbei handelt es
|
||
sich um das Passwort des nutzers, über den die Installation laufen
|
||
wird.
|
||
sich um das Passwort des Benutzers, über den die Installation dann auf dem Ziel-Rechner ausgeführt wird.
|
||
</p><p>
|
||
Nach ausführen des Playbooks ist Kivitendo über den Browser
|
||
Nach erfolgreichen Ausführen des Playbooks ist Kivitendo dann über den Browser
|
||
erreichbar unter
|
||
<code class="literal">http://<IP des rechners>/kivitendo-erp/</code>
|
||
|
||
... | ... | |
werden. Dies kann über die Weboberfläche getan werden, indem man
|
||
sich mit dem Passwort <code class="literal">admin123</code> in der
|
||
Administrationsoberfläche anmeldet.
|
||
Weitere Details siehe Abschnitt "<a class="xref" href="ch02s09.html" title="2.9. Benutzerauthentifizierung und Administratorpasswort">Abschnitt 2.9, „Benutzerauthentifizierung und Administratorpasswort“</a>"
|
||
</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 | ||
---|---|---|
<html><head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||
<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
|
||
<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
|
||
gehostet und kann <a class="ulink" href="https://github.com/kivitendo/kivitendo-erp/releases" target="_top">hier</a>
|
||
heruntergeladen werden.</p><p>Das aktuelleste kivitendo ERP-Archiv
|
||
(<code class="filename">kivitendo-erp-*.tgz</code>) wird dann im
|
||
... | ... | |
Wende an: juhu tolle änderungen
|
||
$ service apache2 restart # webserver starten!
|
||
</pre><p>
|
||
</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>
|
||
</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 | ||
---|---|---|
<html><head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||
<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.
|
||
Als Hinweis einige Links zu den drei Distribution (Stand Dezember 2018):</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
|
||
<a class="ulink" href="https://fedoraproject.org/wiki/PostgreSQL" target="_top">Fedora (Postgres-Installation unter Fedora)</a>
|
||
</p></li><li class="listitem"><p>
|
||
<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>
|
||
</p></li><li class="listitem"><p>
|
||
<a class="ulink" href="https://de.opensuse.org/PostgreSQL" target="_top">OpenSuSE (aktuell nur bis Version OpenSuSE 13 verifiziert)</a>
|
||
</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
|
||
Unicode/UTF-8 als Encoding einsetzt. Bei aktuellen
|
||
Serverinstallationen braucht man hier meist nicht einzugreifen.</p><p>Das Encoding des Datenbankservers kann überprüft werden. Ist das
|
||
Encoding der Datenbank "template1" "Unicode" bzw. "UTF-8", so braucht
|
||
man nichts weiteres diesbezüglich unternehmen. Zum Testen:</p><pre class="programlisting">su postgres
|
||
echo '\l' | psql
|
||
exit </pre><p>Andernfalls ist es notwendig, einen neuen Datenbankcluster mit
|
||
Unicode-Encoding anzulegen und diesen zu verwenden. Unter Debian und
|
||
Ubuntu kann dies z.B. für PostgreSQL 9.3 mit dem folgenden Befehl
|
||
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
|
||
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
|
||
<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
|
||
Distribution in verschiedenen Verzeichnissen liegen kann (z.B.
|
||
<code class="filename">/var/lib/pgsql/data/</code> oder
|
||
<code class="filename">/etc/postgresql/</code>), muss sichergestellt werden,
|
||
dass TCP/IP-Verbindungen aktiviert sind. Das Verhalten wird über den
|
||
Parameter <code class="varname">listen_address</code> gesteuert. Laufen
|
||
PostgreSQL und kivitendo auf demselben Rechner, so kann dort der Wert
|
||
<code class="literal">localhost</code> verwendet werden. Andernfalls müssen
|
||
Datenbankverbindungen auch von anderen Rechnern aus zugelassen werden,
|
||
was mit dem Wert <code class="literal">*</code> geschieht.</p><p>In der Datei <code class="filename">pg_hba.conf</code>, die im gleichen
|
||
Verzeichnis wie die <code class="filename">postgresql.conf</code> zu finden
|
||
sein sollte, müssen die Berechtigungen für den Zugriff geändert
|
||
werden. Hier gibt es mehrere Möglichkeiten. Sinnvoll ist es nur die
|
||
nötigen Verbindungen immer zuzulassen, für eine lokal laufende
|
||
Datenbank zum Beispiel:</p><pre class="programlisting">local all kivitendo password
|
||
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
|
||
Unterstützung für servergespeicherte Prozeduren eingerichet werden.
|
||
Melden Sie sich dafür als Benutzer “postgres” an der Datenbank an:
|
||
</p><pre class="programlisting">su - postgres
|
||
psql template1</pre><p> führen Sie die folgenden Kommandos aus:</p><pre class="programlisting">CREATE EXTENSION IF NOT EXISTS plpgsql;
|
||
\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>
|
||
<code class="literal">CREATE EXTENSION</code> ist seit Version 9.1 die
|
||
bevorzugte Syntax um die Sprache <code class="literal">plpgsql</code>
|
||
anzulegen. In diesen Versionen ist die Extension meist auch schon
|
||
vorhanden. Sollten Sie eine ältere Version von Postgres haben,
|
||
benutzen Sie stattdessen den folgenden Befehl.</p><pre class="programlisting">CREATE LANGUAGE 'plpgsql';
|
||
\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.
|
||
Diese wird mit dem SQL-Updatescript
|
||
sql/Pg-upgrade2/trigram_extension.sql und Datenbank-Super-Benutzer
|
||
Rechten automatisch installiert. Dazu braucht der
|
||
DatenbankSuperbenutzer "postgres" ein Passwort.</p><pre class="programlisting">su - postgres
|
||
psql
|
||
\password postgres
|
||
|
||
Eingabe Passwort
|
||
\q</pre><p>Benutzername Postgres und Passwort können jetzt beim Anlegen
|
||
einer Datenbank bzw. bei Updatescripten, die SuperuserRechte
|
||
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>
|
||
<code class="literal">pg_trgm</code> ist je nach Distribution nicht im
|
||
Standard-Paket von Postgres enthalten. Ein </p><pre class="programlisting">select * from pg_available_extensions where name ='pg_trgm';</pre><p>
|
||
in template1 sollte entsprechend erfolgreich sein. Andernfalls muss
|
||
das Paket nachinstalliert werden, bspw. bei debian/ubuntu
|
||
</p><pre class="programlisting">apt install postgresql-contrib</pre><p>
|
||
</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
|
||
benutzen wollen, so sollten Sie bei PostgreSQL einen neuen Benutzer
|
||
anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen
|
||
können:</p><p>Die Frage, ob der neue User Superuser sein soll, können Sie mit
|
||
nein beantworten, genauso ist die Berechtigung neue User (Roles) zu
|
||
generieren nicht nötig.</p><pre class="programlisting">su - postgres
|
||
createuser -d -P kivitendo
|
||
exit</pre><p>Wenn Sie später einen Datenbankzugriff konfigurieren, verändern
|
||
Sie den evtl. voreingestellten Benutzer “postgres” auf “kivitendo”
|
||
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 | ||
---|---|---|
<html><head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||
<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
|
||
mittels FastCGI/FCGI. Die Einrichtung wird ausführlich im Abschnitt
|
||
<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
|
||
Webserverkonfigurationsdatei <code class="literal">httpd.conf</code> eingestellt
|
||
werden. Fügen Sie den folgenden Abschnitt dieser Datei oder einer
|
||
anderen Datei hinzu, die beim Starten des Webservers eingelesen
|
||
wird:</p><pre class="programlisting">AliasMatch ^/kivitendo-erp/[^/]+\.pl /var/www/kivitendo-erp/dispatcher.pl
|
||
Alias /kivitendo-erp/ /var/www/kivitendo-erp/
|
||
|
||
<Directory /var/www/kivitendo-erp>
|
||
AddHandler cgi-script .pl
|
||
Options ExecCGI Includes FollowSymlinks
|
||
</Directory>
|
||
|
||
<Directory /var/www/kivitendo-erp/users>
|
||
Require all granted
|
||
</Directory></pre><p>Ersetzen Sie dabei die Pfade durch diejenigen, in die Sie vorher
|
||
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
|
||
Plus ‘<code class="literal">+</code>’ gesetzt werden.</p><p>Bei einigen Distribution (Ubuntu ab 14.04, Debian ab 8.2) muss
|
||
noch explizit das cgi-Modul mittels </p><pre class="programlisting">a2enmod cgi</pre><p>
|
||
aktiviert werden.</p></td></tr></table></div><p>Auf einigen Webservern werden manchmal die Grafiken und
|
||
Style-Sheets nicht ausgeliefert. In solchen Fällen hat es oft
|
||
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>
|
||
kopiert:</p><p>
|
||
[<span class="citation"> FastCGI ist ein Standard für die Einbindung
|
||
externer Software zur Generierung dynamischer Webseiten in einem
|
||
Webserver. FastCGI ist vergleichbar zum Common Gateway Interface
|
||
(CGI), wurde jedoch entwickelt, um dessen Performance-Probleme zu
|
||
umgehen. </span>]
|
||
</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
|
||
kompiliert. Stattdessen werden die Quelldateien bei jedem Start
|
||
übersetzt, was bei kurzen Laufzeiten einen Großteil der Laufzeit
|
||
ausmacht. Während SQL Ledger einen Großteil der Funktionalität in
|
||
einzelne Module kapselt, um immer nur einen kleinen Teil laden zu
|
||
müssen, ist die Funktionalität von kivitendo soweit gewachsen, dass
|
||
immer mehr Module auf den Rest des Programms zugreifen. Zusätzlich
|
||
benutzen wir umfangreiche Bibliotheken um Funktionaltät nicht selber
|
||
entwickeln zu müssen, die zusätzliche Ladezeit kosten. All dies
|
||
führt dazu dass ein kivitendo Aufruf der Kernmasken mittlerweile
|
||
deutlich länger dauert als früher, und dass davon 90% für das Laden
|
||
der Module verwendet wird.</p><p>Mit FastCGI werden nun die Module einmal geladen, und danach
|
||
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>
|
||
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
|
||
strict in der Behandlung von Unicode, und verweigern bestimmte
|
||
Eingaben von kivitendo. Falls es Probleme mit Umlauten in Ihrer
|
||
Installation gibt, muss zwingend Version 0.68 oder aber Version
|
||
0.72 und neuer eingesetzt werden.</p><p>Mit <a class="ulink" href="http://www.cpan.org" target="_top">CPAN</a> lässt sie
|
||
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
|
||
laufen zu lassen, empfiehlt es sich die Installation ersteinmal
|
||
unter CGI aufzusetzen. FCGI macht es nicht einfach Fehler zu
|
||
debuggen die beim ersten aufsetzen auftreten können. Sollte die
|
||
Installation schon funktionieren, lesen Sie weiter.</p><p>Zuerst muss das FastCGI-Modul aktiviert werden. Dies kann
|
||
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
|
||
erfolgt durch Anpassung der vorhandenen <code class="function">Alias</code>-
|
||
und <code class="function">Directory</code>-Direktiven. Dabei wird zwischen
|
||
dem Installationspfad von kivitendo im Dateisystem
|
||
("<code class="filename">/path/to/kivitendo-erp</code>") und der URL
|
||
unterschieden, unter der kivitendo im Webbrowser erreichbar ist
|
||
("<code class="filename">/url/for/kivitendo-erp</code>").</p><p>Folgender Konfigurationsschnipsel funktioniert mit
|
||
mod_fastcgi:</p><pre class="programlisting">AliasMatch ^/url/for/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fcgi
|
||
Alias /url/for/kivitendo-erp/ /path/to/kivitendo-erp/
|
||
|
||
<Directory /path/to/kivitendo-erp>
|
||
AllowOverride All
|
||
Options ExecCGI Includes FollowSymlinks
|
||
Require all granted
|
||
</Directory>
|
||
|
||
<DirectoryMatch /path/to/kivitendo-erp/users>
|
||
Require all denied
|
||
</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,
|
||
muss entsprechend die Syntax der Directorydirektiven verändert.
|
||
Statt</p><pre class="programlisting">Require all granted</pre><p>muß man Folgendes einstellen:</p><pre class="programlisting">
|
||
Order Allow,Deny
|
||
Allow from All </pre><p>und statt</p><pre class="programlisting">Require all denied</pre><p>muss stehen:</p><pre class="programlisting">
|
||
Order Deny,Allow
|
||
Deny from All </pre></td></tr></table></div><p>Seit mod_fcgid-Version 2.3.6 gelten sehr kleine Grenzen für
|
||
die maximale Größe eines Requests. Diese sollte wie folgt
|
||
hochgesetzt werden:</p><pre class="programlisting">FcgidMaxRequestLen 10485760</pre><p>Das Ganze sollte dann so aussehen:</p><pre class="programlisting">AddHandler fcgid-script .fpl
|
||
AliasMatch ^/url/for/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fpl
|
||
Alias /url/for/kivitendo-erp/ /path/to/kivitendo-erp/
|
||
FcgidMaxRequestLen 10485760
|
||
|
||
<Directory /path/to/kivitendo-erp>
|
||
AllowOverride All
|
||
Options ExecCGI Includes FollowSymlinks
|
||
Require all granted
|
||
</Directory>
|
||
|
||
<DirectoryMatch /path/to/kivitendo-erp/users>
|
||
Require all denied
|
||
</DirectoryMatch></pre><p>Hierdurch wird nur ein zentraler Dispatcher gestartet. Alle
|
||
Zugriffe auf die einzelnen Scripte werden auf diesen umgeleitet.
|
||
Dadurch, dass zur Laufzeit öfter mal Scripte neu geladen werden,
|
||
gibt es hier kleine Performance-Einbußen.</p><p>Es ist möglich, die gleiche kivitendo Version parallel unter
|
||
CGI und FastCGI zu betreiben. Dafür bleiben die Directorydirektiven
|
||
wie oben beschrieben, die URLs werden aber umgeleitet:</p><pre class="programlisting"># Zugriff über CGI
|
||
Alias /url/for/kivitendo-erp /path/to/kivitendo-erp
|
||
|
||
# Zugriff mit mod_fcgid:
|
||
AliasMatch ^/url/for/kivitendo-erp-fcgid/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fpl
|
||
Alias /url/for/kivitendo-erp-fcgid/ /path/to/kivitendo-erp/</pre><p>Dann ist unter <code class="filename">/url/for/kivitendo-erp/</code>
|
||
die normale Version erreichbar, und unter
|
||
<code class="constant">/url/for/kivitendo-erp-fcgid/</code> die
|
||
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>
|
||
Kivitendo unterstützt, dass Benutzerauthentifizierung über den Webserver mittels des »Basic«-HTTP-Authentifizierungs-Schema erfolgt
|
||
(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
|
||
mitgeschickte Header <code class="constant">Authorization</code> vom Webserver an Kivitendo über die Umgebungsvariable
|
||
<code class="constant">HTTP_AUTHORIZATION</code> weitergegeben wird, was standardmäßig nicht der Fall ist. Für Apache kann dies über die
|
||
folgende Konfigurationsoption aktiviert werden:
|
||
</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>
|
||
Aufgrund von aktuellen (Mitte 2020) Sicherheitswarnungen für git basierte Webanwendungen ist die mitausgelieferte .htaccess
|
||
restriktiver geworden und verhindert somit das Auslesen von git basierten Daten.
|
||
Für debian/ubuntu muss das Modul mod_rewrite einmalig so aktiviert werden:
|
||
</p><pre class="programlisting">a2enmod rewrite</pre><p>
|
||
Alternativ und für Installationen ohne Apache ist folgender Artikel interessant:
|
||
<a class="ulink" href="https://www.cyberscan.io/blog/git-luecke" target="_top">git-lücke</a>.
|
||
Anstelle des dort beschriebenen DirectoryMatch für Apache2 würden wir etwas weitergehend auch noch das Verzeichnis config miteinbeziehen
|
||
sowie ferner auch die Möglichkeit nicht ausschließen, dass es in Unterverzeichnissen auch noch .git Repositories geben kann.
|
||
Die Empfehlung für Apache 2.4 wäre damit:
|
||
</p><pre class="programlisting">
|
||
<DirectoryMatch "/(\.git|config)/">
|
||
Require all denied
|
||
</DirectoryMatch></pre><p>
|
||
|
||
</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
|
||
von kivitendo nur über https-verschlüsselten Verbindungen, sowie
|
||
weiteren Zusatzmassnahmen, wie beispielsweise Basic Authenticate. Die
|
||
Konfigurationsmöglichkeiten sprengen allerdings den Rahmen dieser
|
||
Anleitung, hier ein Hinweis auf einen entsprechenden <a class="ulink" href="http://redmine.kivitendo-premium.de/boards/1/topics/142" target="_top">Foreneintrag
|
||
(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">
|
||
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.
|
||
Organisatorisch empfehlen wir hier die enge Zusammenarbeit mit einem kivitendo Partner der auch in der
|
||
Lage ist weiterführende Fragen in Bezug auf Datenschutz und Datensicherheit zu beantworten.
|
||
Unabhängig davon empfehlen wir im Webserver Bereich die Aktivierung und Konfiguration des Moduls modsecurity für den Apache2, damit
|
||
XSS und SQL-Injections verhindert werden.</p><p> Als Idee hierfür sei dieser Blog-Eintrag genannt:
|
||
<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">
|
||
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 | ||
---|---|---|
Links aus einem der Runlevel-Verzeichnisse heraus in den Boot-Prozess
|
||
einzubinden. Da das bei neueren Linux-Distributionen aber nicht
|
||
zwangsläufig funktioniert, werden auch Start-Scripte mitgeliefert, die
|
||
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
|
||
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
|
||
openSUSE, ältere Fedora)</h4></div></div></div><p>Kopieren Sie die Datei
|
||
<code class="filename">scripts/boot/system-v/kivitendo-task-server</code>
|
||
nach <code class="filename">/etc/init.d/kivitendo-task-server</code>. Passen
|
||
... | ... | |
<code class="literal">DAEMON=....</code>). Binden Sie das Script in den
|
||
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
|
||
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
|
||
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
|
||
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
|
||
<code class="filename">scripts/boot/upstart/kivitendo-task-server.conf</code>
|
||
nach <code class="filename">/etc/init/kivitendo-task-server.conf</code>.
|
||
Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
|
||
<code class="literal">exec ....</code>).</p><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet
|
||
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
|
||
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
|
||
Fedora, neuere Ubuntu und neuere Debians)</h4></div></div></div><p>Kopieren Sie die Datei
|
||
<code class="filename">scripts/boot/systemd/kivitendo-task-server.service</code>
|
||
nach <code class="filename">/etc/systemd/system/</code>. Passen Sie in der
|
doc/html/ch02s13.html | ||
---|---|---|
<html><head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||
<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.
|
||
Um drucken zu können, braucht der Server ein geeignetes LaTeX System. Am
|
||
einfachsten ist dazu eine <code class="literal">texlive</code> Installation. Unter
|
||
debianoiden Betriebssystemen installiert man die Pakete mit:</p><p>
|
||
</p><pre class="programlisting">apt install texlive-base-bin texlive-latex-recommended texlive-fonts-recommended \
|
||
texlive-latex-extra texlive-lang-german ghostscript</pre><p>
|
||
</p><p>Für Fedora benötigen Sie die folgenden Pakete:</p><p>
|
||
</p><pre class="programlisting">dnf install texlive-collection-latex texlive-collection-latexextra \
|
||
texlive-collection-latexrecommended texlive-collection-langgerman \
|
||
texlive-collection-langenglish</pre><p>
|
||
</p><p>Für openSUSE benötigen Sie die folgenden Pakete:</p><p>
|
||
</p><pre class="programlisting">zypper install texlive-collection-latex texlive-collection-latexextra \
|
||
texlive-collection-latexrecommended texlive-collection-langgerman \
|
||
texlive-collection-langenglish</pre><p>
|
||
</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>
|
||
</p><pre class="programlisting">scripts/installations_check.pl -l</pre><p>
|
||
</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
|
||
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
|
||
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
|
||
Recht "Konfiguration -> Mandantenverwaltung" verfügt. Siehe auch
|
||
<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>
|
||
-> <span class="guisubmenu">Mandantenverwaltung</span> ->
|
||
<span class="guimenuitem">Verschiedenes</span>" die Option "Neue
|
||
Druckvorlagen aus Vorlagensatz erstellen" auswählen.</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
|
||
<code class="option">Vorlagen auswählen</code>: Wählen Sie hier den
|
||
Vorlagensatz aus, der kopiert werden soll
|
||
(<code class="filename">RB</code>, <code class="filename">marei</code> oder
|
||
<code class="filename">odt-rev</code>.)</p></li><li class="listitem"><p>
|
||
<code class="option">Neuer Name</code>: Der Verzeichnisname für den
|
||
neuen Vorlagensatz. Dieser kann im Rahmen der üblichen Bedingungen
|
||
für Verzeichnisnamen frei gewählt werden.</p></li></ol></div><p>Nach dem Speichern wird das Vorlagenverzeichnis angelegt und ist
|
||
für den aktuellen Mandanten ausgewählt. Der gleiche Vorlagensatz kann,
|
||
wenn er mal angelegt ist, bei mehreren Mandanten verwendet werden.
|
||
Eventuell müssen Anpassungen (Logo, Erscheinungsbild, etc) noch
|
||
vorgenommen werden. Den Ordner findet man im Dateisystem unter
|
||
<code class="filename">./templates/[Neuer Name]</code>
|
||
</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:
|
||
<a class="ulink" href="https://peitex.de/materialien/2023-08-04_kivitendo/" target="_top"> https://peitex.de/materialien/2023-08-04_kivitendo/</a>
|
||
|
||
</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.
|
||
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>
|
||
<code class="filename">firma/ident.tex</code> Mandant*innenspezifische Konfiguration, Adressdaten</p></li><li class="listitem"><p>
|
||
<code class="filename">firma/$währungskürzel_account.tex</code>
|
||
</p></li></ul></div><pre class="programlisting">
|
||
\begin{description}
|
||
\item[deutsch.tex] Textschnipsel für Deutsch\\
|
||
Dafür eine Sprache mit Vorlagenkürzel DE anlegen
|
||
\item[english.tex] Textschnipsel für Englisch\\
|
||
Dafür eine Sprache mit Vorlagenkürzel EN anlegen
|
||
\end{description}</pre><ul class="itemizedlist" type="disc"><li class="listitem"><p>
|
||
<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
|
||
der Dokumentenklasse <code class="filename">scrartcl.cls</code> basieren und
|
||
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
|
||
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
|
||
nach dem Wert der Kivitendo-Variablen \kivivar{kivicompany} ein
|
||
Firmenverzeichnis ausgewählt (siehe <code class="filename">insettings.tex</code>), in dem Briefkopf,
|
||
Identitäten und Währungs-/Kontoeinstellungen hinterlegt sind.
|
||
\kivivar{kivicompany} enthält den Namen des verwendeten Mandant*innendaten.
|
||
Ist kein Firmenname eingetragen, so wird das
|
||
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>
|
||
vorhanden sein, die mit |\newcommand| Werte für |\telefon|, |\fax|,
|
||
|\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
|
||
sein, die das Währungssymbol (|\currency|) und folgende Angaben für
|
||
ein Konto in dieser Währung enthält |\kontonummer|, |\bank|,
|
||
|\bankleitzahl|, |\bic| und |\iban|.
|
||
So kann in den Dokumenten je nach Währung ein anderes Konto
|
||
angegeben werden.
|
||
Nach demselben Schema können auch weitere, alternative Bankverbindungen
|
||
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)
|
||
ist Euro eingestellt. Dies lässt sich in der <code class="filename">insettings.tex</code> über das optionale Argument
|
||
von |\setupCurrencyConfig| anpassen, z.B.</p><pre class="programlisting">
|
||
\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
|
||
Medium (z.B. nur beim Verschicken mit E-Mail) eingebunden
|
||
werden.</p><p>Desweiteren sind (auskommentierte) Beispiele enthalten für eine
|
||
Grafik als Briefkopf, nur ein Logo, oder ein komplettes A4-PDF
|
||
als Briefpapier.</p><p>Absolute Positionierung innerhalb des Brief-Layouts ist über die entsprechende Dokumentation des scrlayer-Paketes möglich.
|
||
Da die Voreinstellungen bereits einige Sonderfälle automatisch berücksichtigen ist mit den Anpassungen Vorsicht geboten.
|
||
Sämtliche Einstellungen sollten jedoch außerhalb der *.sty-Dateien vorgenommen werden.
|
||
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.
|
||
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
|
||
*firma/<code class="filename">\_account.tex</code>. Ihre Struktur wird in der <code class="filename">insettings.tex</code> definiert.
|
||
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}.
|
||
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
|
||
der Inhalt der Fußzeile über die \pck{scrlayer-scrpage} Makros, wie</p><pre class="programlisting">
|
||
\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.
|
||
Hierfür wird das Makro |\ourhead| in der <code class="filename">insettings.tex</code> definiert.</p><pre class="programlisting">
|
||
\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">
|
||
\newcommand{\ourhead}[5] {%
|
||
\chead{%
|
||
\makebox[\textwidth]{%
|
||
\Ifstr{#1}{}{}{#1: #2 \hspace{0.7cm}}%
|
||
#3%
|
||
\Ifstr{#4}{}{}{~\nr: #4}%
|
||
\Ifstr{#5}{}{}{\vom ~ #5}%
|
||
\hspace{0.7cm} - \seite ~ \thepage/\letterlastpage ~-%
|
||
}%
|
||
}%
|
||
}
|
||
</pre><p>In der Standard-Einstellung sieht eine Kopfzeile mit obigen Aufruf dann folgendermaßen aus:</p><pre class="programlisting">
|
||
\newcommand{\ourhead}[5] {%
|
||
\makebox[\textwidth]{%
|
||
\Ifstr{#1}{}{}{#1: #2 \hspace{0.7cm}}%
|
||
#3%
|
||
\Ifstr{#4}{}{}{~\nr: #4}%
|
||
\Ifstr{#5}{}{}{\vom ~ #5}%
|
||
\hspace{0.7cm} - \seite ~ \thepage/\letterlastpage ~-%
|
||
}%
|
||
}
|
||
|
||
\begingroup
|
||
\def\letterlastpage{50}
|
||
|
||
\ourhead{arg1}{arg2}{arg3}{arg4}{arg5}
|
||
|
||
\smallskip
|
||
Erzeugt mit dem Aufruf
|
||
\ourhead{arg1}{arg2}{arg3}{arg4}{arg5}
|
||
\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">
|
||
\setkomavar{location}{
|
||
\Ifkomavarempty{transaction}{}{{
|
||
\usekomafont{transaction}
|
||
\usekomavar{transaction}
|
||
}
|
||
}
|
||
\par
|
||
\medskip
|
||
\parbox{\useplength{locwidth}}{
|
||
\locationentry{date}
|
||
\locationentry{myref}
|
||
\locationentry{customer}
|
||
\locationentry{yourref}
|
||
\locationentry{delivery}
|
||
\locationentry{quote}
|
||
\locationentry{orderID}
|
||
\locationentry{projectID}
|
||
\locationentry{taxpoint}
|
||
\locationentry[\ansprechpartner]{fromname}
|
||
\locationentry{fromphone}
|
||
\locationentry*{fromemail}
|
||
}
|
||
} </pre><p>Um die Reihenfolge der Variablenausgabe zu verändern, kann diese Definition als Basis in
|
||
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,
|
||
dass die Lizenz der Schriftart das einbetten von Glyphen erlaubt. Dies liegt in der Verantwortung der Anwender*innen.
|
||
Darüber hinaus ist wichtig, welches Kompilierungsprogramm verwendet werden muss. Um TrueType oder OpenType Schriftarten
|
||
zu nutzen sollte |lualatex| verwendet werden. Bei Type1 Schriftarten, die speziell für \LaTeX{} installiert wurden, ist pdfLaTeX möglich.
|
||
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}).
|
||
Dann hängt es davon ab, ob die Basisschriftart eine Serifenschriftart ist oder nicht.
|
||
In jedem Fall wird die Änderung entweder in der <code class="filename">insettings.tex</code>, sofern sie für alle
|
||
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.
|
||
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">
|
||
\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">
|
||
\setsansfont{|\meta{Name der Schriftart, z.B. SourceSansPro}|}
|
||
\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">
|
||
\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
|
||
Dokumentensatz mit alternativem Design. Die odt oder html-Varianten
|
||
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>
|
||
auf Folie 5 bis 10 vorgestellt. Informationen zur Anpassung an die
|
||
eigenen Firmendaten finden sich in der Datei Readme.tex im
|
||
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
|
||
Übersetzung</p></li><li class="listitem"><p>Zentrale Konfigurationsdateien, die für alle Belege benutzt
|
||
werden, z.B. für Kopf- und Fußzeilen, und Infos wie
|
||
Bankdaten</p></li><li class="listitem"><p>mehrere vordefinierte Varianten für
|
||
Logos/Hintergrundbilder</p></li><li class="listitem"><p>Berücksichtigung für Steuerzonen "EU mit USt-ID Nummer" oder
|
||
"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
|
||
odt-Vorlagen erstellt wurde. Es gibt in dem Verzeichnis eine
|
||
Readme-Datei, die eventuell aktueller als die Dokumentation hier ist.
|
||
Die odt-Vorlagen in diesem Verzeichnis "rev-odt" wurden von revamp-it,
|
||
Zürich erstellt und werden laufend aktualisiert. Ein paar der
|
||
Formulierungen in den Druckvorlagen entsprechen dem Schweizer
|
||
Sprachgebrauch, z.B. "Offerte" oder "allfällig".</p><p>Hinweis zum Einsatz des Feldes "Land" bei den Stammdaten für
|
||
KundInnen und LieferantInnen, sowie bei Lieferadressen: Die in diesem
|
||
Vorlagensatz vorhandenen Vorlagen erwarten für "Land" das
|
||
entsprechende Kürzel, das in Adressen vor die Postleitzahl gesetzt
|
||
wird. Das Feld kann auch komplett leer bleiben. Wer dies anders
|
||
handhaben möchte, muss die Vorlagen entsprechend anpassen.</p><p>odt-Vorlagen können mit LibreOffice oder OpenOffice editiert und
|
||
den eigenen Bedürfnissen angepasst werden. Wichtig beim Editieren von
|
||
if-Blöcken ist, dass immer der gesamte Block überschrieben werden muss
|
||
und nicht nur Teile davon, da dies sonst oft zu einer odt-Datei führt,
|
||
die vom Parser nicht korrekt gelesen werden kann.</p><p>Mahnungen können unter folgenden Einschränkungen mit den
|
||
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
|
||
Verfügung, das heisst, die Mahnungen werden als PDF-Datei
|
||
ausgegeben.</p></li><li class="listitem"><p>für jede Rechnung muss eine eigene Mahnung erzeugt werden
|
||
(auch wenn bei einzelnen KundInnen mehrere überfällige Rechnungen
|
||
vorhanden sind).</p></li></ul></div><p>Mehrere Mahnungen für eine Kundin / einen Kunden werden zu einer
|
||
PDF-Datei zusammengefasst</p><p>Die Vorlagen zahlungserinnerung.odt sowie mahnung.odt sind für
|
||
das Erstellen einer Zahlungserinnerung bzw. Mahnung selbst vorgesehen,
|
||
die Vorlage mahnung_invoice.odt für das Erstellen einer Rechnung über
|
||
die verrechneten Mahngebühren und Verzugszinsen.</p><p>Zur Zeit gibt es in kivitendo noch keine Möglichkeit,
|
||
odt-Vorlagen bei Briefen und Pflichtenheften einzusetzen.
|
||
Entsprechende Vorlagen sind deshalb nicht vorhanden.</p><p>Fehlermeldungen, Anregungen und Wünsche bitte senden an:
|
||
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
|
||
schon funktionieren. Sollte ein Fehler auftreten, wirft TeX sehr lange
|
||
Fehlerbeschreibungen, der eigentliche Fehler ist immer die erste
|
||
Zeile, die mit einem Ausrufezeichen anfängt. Häufig auftretende Fehler
|
||
sind zum Beispiel:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>! LaTeX Error: File `eurosym.sty' not found. Die
|
||
entsprechende LaTeX-Bibliothek wurde nicht gefunden. Das tritt vor
|
||
allem bei Vorlagen aus der Community auf. Installieren Sie die
|
||
entsprechenden Pakete.</p></li><li class="listitem"><p>! Package inputenc Error: Unicode char \u8:... set up for
|
||
use with LaTeX. Dieser Fehler tritt auf, wenn sie versuchen mit
|
||
einer Standardinstallation exotische utf8 Zeichen zu drucken.
|
||
TeXLive unterstützt von Haus nur romanische Schriften und muss mit
|
||
diversen Tricks dazu gebracht werden andere Zeichen zu
|
||
akzeptieren. Adere TeX Systeme wie XeTeX schaffen hier
|
||
Abhilfe.</p></li></ul></div><p>Wird gar kein Fehler angezeigt, sondern nur der Name des
|
||
Templates, heißt das normalerweise, dass das LaTeX Binary nicht
|
||
gefunden wurde. Prüfen Sie den Namen in der Konfiguration (Standard:
|
||
<code class="literal">latexmk --pdflatex</code>), und stellen Sie sicher, dass
|
||
latexmk (oder das von Ihnen verwendete System) vom Webserver ausgeführt
|
||
werden darf.</p><p>Wenn sich das Problem nicht auf Grund der Ausgabe im Webbrowser
|
||
verifizieren lässt:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>editiere [kivitendo-home]/config/kivitendo.conf und ändere
|
||
"keep_temp_files" auf 1</p><p>
|
||
</p><pre class="programlisting">keep_temp_files = 1;</pre><p>
|
||
</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>
|
||
</p><pre class="programlisting">cd [kivitendo-home]/users</pre><p>
|
||
</p></li><li class="listitem"><p>LaTeX Suchpfad anpassen:</p><p>
|
||
</p><pre class="programlisting">export TEXINPUTS=".:[kivitendo-home]/templates/[aktuelles_template_verzeichniss]:"</pre><p>
|
||
</p></li><li class="listitem"><p>Finde heraus, welche Datei kivitendo beim letzten Durchlauf
|
||
erstellt hat</p><p>
|
||
</p><pre class="programlisting">ls -lahtr ./1*.tex</pre><p>
|
||
</p><p>Es sollte die letzte Datei ganz unten sein</p></li><li class="listitem"><p>für besseren Hinweis auf Fehler texdatei nochmals
|
||
übersetzen</p><p>
|
||
</p><pre class="programlisting">pdflatex ./1*.tex</pre><p>
|
||
</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 | ||
---|---|---|
erzeugen. kivitendo kann dabei sowohl neue OpenDocument-Dokumente als
|
||
auch aus diesen direkt PDF-Dateien erzeugen. Nachfolgend ist die
|
||
Verwendung mit LibreOffice beschrieben. Für die Verwendung mit
|
||
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,
|
||
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,
|
||
muss in der Datei <code class="filename">config/kivitendo.conf</code> die
|
||
Variable <code class="literal">opendocument</code>, im Abschnitt
|
||
<code class="literal">print_templates</code>, auf <code class="literal">1</code> stehen.
|
||
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
|
||
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
|
||
weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF
|
||
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
|
||
<code class="filename">config/kivitendo.conf</code>, im Abschnitt
|
||
<code class="literal">applications</code>, angepasst werden. Unter Debian sollte
|
||
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
|
||
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
|
||
neu gestartet. Es ist keine weitere Konfiguration
|
||
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
|
||
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
|
||
Umwandlung des Dokumentes gestartet bleibt. Bei weiteren
|
||
Umwandlungen wird dann diese laufende Instanz benutzt. Der Vorteil
|
||
ist, dass die Zeit zur Umwandlung möglicherweise reduziert wird,
|
||
... | ... | |
<code class="literal">python_uno_path</code> in der Konfigurationsdatei
|
||
<code class="filename">config/kivitendo.conf</code> dienen zur Anpassung der
|
||
Python uno Pfade. Unter Debian sollte keine Anpassung notwendig
|
||
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
|
||
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
|
||
Standardvorlage ohne Einzahlungsschein weitere Vorlagen (z.B. mit
|
||
Einzahlungsschein) auswählbar sind, muss für jedes Vorlagen-Suffix
|
||
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
|
||
... | ... | |
Aufträgen oder Rechnungen als odt-Datei keine Bedeutung, darf
|
||
aber nicht leer sein)</p></li><li class="listitem"><p>Vorlagenkürzel → besr bzw. selbst gewähltes Vorlagensuffix
|
||
(muss genau der Zeichenfolge entsprechen, die zwischen
|
||
"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
|
||
"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
|
||
im Rechnungs- bzw. Auftragsformular angezeigt haben möchte, kann
|
||
dies persönlich für sich bei den Benutzereinstellungen
|
||
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
|
||
(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
|
||
(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
|
||
odt-Rechnung (analog bei Auftrag)</h4></div></div></div><p>Im Fussbereich der Rechnungsmaske muss neben Rechnung,
|
||
OpenDocument/OASIS und Bildschirm die im Adminbereich erstellte
|
||
Druckerbeschreibung ausgewählt werden, falls diese nicht bereits bei
|
||
den Benutzereinstellungen als persönlicher Standard gewählt
|
||
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
|
||
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
|
||
Schweizer QR-Rechnungen gemäss <a class="ulink" href="https://www.paymentstandards.ch/dam/downloads/ig-qr-bill-de.pdf" target="_top">Swiss
|
||
Payment Standards, Version 2.2</a>. Implementiert sind hierbei die
|
||
Varianten:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
|
||
... | ... | |
QR-Referenz</strong></span>
|
||
</p></li><li class="listitem"><p>
|
||
<span class="bold"><strong>IBAN ohne Referenz</strong></span>
|
||
</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 →
|
||
</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 →
|
||
Features</em></span>. Im Abschnitt <span class="emphasis"><em>Einkauf und
|
||
Verkauf</em></span>, beim Punkt <span class="emphasis"><em>Verkaufsrechnungen mit
|
||
Schweizer QR-Rechnung erzeugen</em></span>, die gewünschte Variante
|
||
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
|
||
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
|
||
mindestens einem Bankkonto die Option <span class="emphasis"><em>Nutzung mit
|
||
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
|
||
QR-Referenz</strong></span> muss dieses Konto unter IBAN eine gültige
|
||
... | ... | |
unterscheidet sich von der regulären IBAN.</p><p>Zusätzlich muss eine gültige <span class="bold"><strong>Bankkonto
|
||
Identifikationsnummer</strong></span> angegeben werden
|
||
(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
|
||
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
|
||
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
|
||
jeweiligen Rechnung, die Checkbox <span class="emphasis"><em>QR-Rechnung ohne
|
||
Betrag</em></span> aktiviert werden. Diese Checkbox erscheint nur,
|
||
wenn QR-Rechnungen in der Mandantenkonfiguration aktiviert sind
|
||
(variante ausgewählt).</p><p>Dies wirkt sich lediglich auf den erzeugten QR-Code aus. Die
|
||
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
|
||
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
|
||
Mandantenkonfiguration entnommen. Unter <span class="emphasis"><em>System →
|
||
Mandantenkonfiguration → Verschiedenes</em></span>, Abschnitt
|
||
<span class="emphasis"><em>Firmenname und -adresse.</em></span>
|
||
... | ... | |
z.B. "Schweiz" oder "CH".</p><p>Die Adressdaten können in der Vorlage mit den jeweiligen
|
||
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>
|
||
</p><p>Der erzeugte QR-Code verwendet Adress-Typ "K" (Kombinierte
|
||
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
|
||
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
|
||
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
|
||
aufgefüllt)</p></li><li class="listitem"><p>Rechnungsnummer (14-stellig, mit führenden Nullen
|
||
aufgefüllt)</p></li><li class="listitem"><p>Prüfziffer (1-stellig, berechnet mittels modulo 10,
|
||
rekursiv)</p></li></ul></div><p>Es sind lediglich Ziffern erlaubt. Allfällige Buchstaben und
|
||
Sonderzeichen werden entfernt und fehlende Stellen werden mit
|
||
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
|
||
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
|
||
<code class="literal">invoice_qr.odt</code>, welche für die Erstellung von
|
||
QR-Rechnungen vorgesehen ist. Damit diese verwendet werden kann muss
|
||
wie obenstehend beschrieben ein Drucker hinzugefügt werden, allerdings
|
||
... | ... | |
<span class="emphasis"><em>Bild-Kontextmenü → </em></span>
|
||
<span class="emphasis"><em>Einstellungen →
|
||
Optionen → Name</em></span> einstellbar. Siehe dazu auch die
|
||
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
|
||
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
|
||
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>),
|
||
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
|
||
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 | ||
---|---|---|
<html><head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||
<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
|
||
aller zur Bearbeitung verfügbaren Variablen. Eine Variable wird in
|
||
einer Vorlage durch ihren Inhalt ersetzt, wenn sie in der Form
|
||
<code class="function"><%variablenname%></code> verwendet wird. Für
|
||
LaTeX- und HTML-Vorlagen kann man die Form dieser Tags auch verändern
|
||
(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.
|
||
Sofern es nicht ausdrücklich eingeschränkt wird, gilt das im Folgenden
|
||
gesagte für alle Vorlagenarten.</p><p>Insgesamt sind technisch gesehen eine ganze Menge mehr Variablen
|
||
verfügbar als hier aufgelistet werden. Die meisten davon können
|
||
allerdings innerhalb einer solchen Vorlage nicht sinnvoll verwendet
|
||
werden. Wenn eine Auflistung dieser Variablen gewollt ist, so kann
|
||
diese wie folgt erhalten werden:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
|
||
<code class="filename">SL/Form.pm</code> öffnen und am Anfang die
|
||
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
|
||
<code class="function">parse_template</code> suchen und hier die Zeile
|
||
<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.
|
||
ein PDF für eine Rechnung erzeugen.</p></li><li class="listitem"><p>Im <code class="filename">error.log</code> Apache steht die Ausgabe
|
||
der Variablen <code class="varname">$self</code> in der Form <code class="varname">'key'
|
||
=> 'value',</code>. Alle <code class="varname">key</code>s sind
|
||
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
|
||
Tags geschrieben werden, also z.B.
|
||
<code class="varname"><%variablenname%></code>.</p><p>Optional kann man auch mit Leerzeichen getrennte Flags angeben,
|
||
die man aber nur selten brauchen wird. Die Syntax sieht also so aus:
|
||
<code class="varname"><%variablenname FLAG1 FLAG2%></code>. Momentan
|
||
werden die folgenden Flags unterstützt:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
|
||
<code class="option">NOFORMAT</code> gilt nur für Zahlenwerte und gibt
|
||
den Wert ohne Formatierung, also ohne Tausendertrennzeichen mit
|
||
mit einem Punkt als Dezimaltrennzeichen aus. Nützlich z.B., wenn
|
||
damit in der Vorlage z.B. von LaTeX gerechnet werden soll.</p></li><li class="listitem"><p>
|
||
<code class="option">NOESCAPE</code> unterdrückt das Escapen von
|
||
Sonderzeichen für die Vorlagensprache. Wenn also in einer
|
||
Variablen bereits gültiger LaTeX-Code steht und dieser von LaTeX
|
||
auch ausgewertet und nicht wortwörtlich angezeigt werden soll, so
|
||
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
|
||
dort eingebbaren Druckbefehl können die hier aufgelisteten Variablen
|
||
und Kontrollstrukturen verwendet werden. Ihr Inhalt wird dabei nach
|
||
den Regeln der gängigen Shells formatiert, sodass Sonderzeichen wie
|
||
<code class="function">`...`</code> nicht zu unerwünschtem Verhalten
|
||
führen.</p><p>Dies erlaubt z.B. die Definition eines Faxes als Druckerbefehl,
|
||
für das die Telefonnummer eines Ansprechpartners als Teil der
|
||
Kommandozeile verwendet wird. Für ein fiktives Kommando könnte das
|
||
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
|
||
Kleinerzeichen und einem Prozentzeichen beginnt und mit dem
|
||
Prozentzeichen und dem Größerzeichen endet, beispielsweise
|
||
<code class="function"><%customer%></code>. Da diese Form aber z.B. in
|
||
LaTeX zu Problemen führen kann, weil das Prozentzeichen dort
|
||
Kommentare einleitet, kann pro HTML- oder LaTeX-Dokumentenvorlage der
|
||
Stil umgestellt werden.</p><p>Dazu werden in die Datei Zeilen geschrieben, die mit dem für das
|
||
Format gültigen Kommentarzeichen anfangen, dann
|
||
<code class="function">config:</code> enthalten, die entsprechende Option
|
||
setzen und bei HTML-Dokumentenvorlagen mit dem Kommentarendzeichen
|
||
enden. Beispiel für LaTeX:</p><pre class="programlisting">% config: tag-style=($ $)</pre><p>Dies würde kivitendo dazu veranlassen, Variablen zu ersetzen,
|
||
wenn sie wie folgt aussehen: <code class="function">($customer$)</code>. Das
|
||
ä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
|
||
welcher Funktion ausgelesen wird. Dabei ist die Dateiendung
|
||
"<code class="filename">.ext</code>" geeignet zu ersetzen:
|
||
"<code class="filename">.tex</code>" für LaTeX-Vorlagen und
|
||
"<code class="filename">.odt</code>" für OpenDocument-Vorlagen.</p><div class="variablelist"><dl><dt><span class="term">
|
||
<code class="filename">bin_list.ext</code>
|
||
</span></dt><dd><p>Lagerliste</p></dd><dt><span class="term">
|
||
<code class="filename">check.ext</code>
|
||
</span></dt><dd><p>?</p></dd><dt><span class="term">
|
||
<code class="filename">invoice.ext</code>
|
||
</span></dt><dd><p>Rechnung</p></dd><dt><span class="term">
|
||
<code class="filename">packing_list.ext</code>
|
||
</span></dt><dd><p>Packliste</p></dd><dt><span class="term">
|
||
<code class="filename">pick_list.ext</code>
|
||
</span></dt><dd><p>Sammelliste</p></dd><dt><span class="term">
|
||
<code class="filename">purchase_delivery_order.ext</code>
|
||
</span></dt><dd><p>Lieferschein (Einkauf)</p></dd><dt><span class="term">
|
||
<code class="filename">purcharse_order.ext</code>
|
||
</span></dt><dd><p>Bestellung an Lieferanten</p></dd><dt><span class="term">
|
||
<code class="filename">request_quotation.ext</code>
|
||
</span></dt><dd><p>Anfrage an Lieferanten</p></dd><dt><span class="term">
|
||
<code class="filename">sales_delivery_order.ext</code>
|
||
</span></dt><dd><p>Lieferschein (Verkauf)</p></dd><dt><span class="term">
|
||
<code class="filename">sales_order.ext</code>
|
||
</span></dt><dd><p>Bestellung</p></dd><dt><span class="term">
|
||
<code class="filename">sales_quotation.ext</code>
|
||
</span></dt><dd><p>Angebot an Kunden</p></dd><dt><span class="term">
|
||
<code class="filename">zahlungserinnerung.ext</code>
|
||
</span></dt><dd><p>Mahnung (Dateiname im Programm konfigurierbar)</p></dd><dt><span class="term">
|
||
<code class="filename">zahlungserinnerung_invoice.ext</code>
|
||
</span></dt><dd><p>Rechnung über Mahngebühren (Dateiname im Programm
|
||
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
|
||
eingearbeitet. So wird aus der Vorlage
|
||
<code class="filename">sales_order.ext</code> bei Sprache
|
||
<code class="function">de</code> und Druckerkürzel <code class="function">lpr2</code>
|
||
der Vorlagenname <code class="filename">sales_order_de_lpr2.ext</code>.
|
||
Zusätzlich können für E-Mails andere Vorlagen erstellt werden, diese
|
||
bekommen dann noch das Kürzel <code class="filename">_email</code>, der
|
||
vollständige Vorlagenname wäre dann
|
||
<code class="filename">sales_order_email_de_lpr2.ext</code>. In allen Fällen
|
||
kann eine Standarddatei <code class="filename">default.ext</code> hinterlegt
|
||
werden. Diese wird verwendet, wenn keine der anderen Varianten
|
||
gefunden wird.</p><p>Die vollständige Suchreihenfolge für einen Verkaufsauftrag mit
|
||
der Sprache "de" und dem Drucker "lpr2", der per E-Mail im Format PDF
|
||
verschickt wird, ist:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
|
||
<code class="filename">sales_order_email_de_lpr2.tex</code>
|
||
</p></li><li class="listitem"><p>
|
||
<code class="filename">sales_order_de_lpr2.tex</code>
|
||
</p></li><li class="listitem"><p>
|
||
<code class="filename">sales_order.tex</code>
|
||
</p></li><li class="listitem"><p>
|
||
<code class="filename">default.tex</code>
|
||
</p></li></ol></div><p>Die kurzen Varianten dieser Vorlagentitel müssen dann entweder
|
||
Standardwerte anzeigen, oder die angeforderten Werte selbst auswerten,
|
||
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
|
||
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
|
||
einer Vorlage der Benutzer angefragt hat. Sie sind nützlich für
|
||
Vorlagenautoren, die aus einer zentralen Layoutvorlage die einzelnen
|
||
Formulare einbinden möchten.</p><div class="variablelist"><dl><dt><span class="term">
|
||
<code class="varname">template_meta.formname</code>
|
||
</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
|
||
zu den Dateinamen</a> ohne die Erweiterung. Ein
|
||
Verkaufsauftrag enthält hier
|
||
<code class="constant">sales_order</code>.</p></dd><dt><span class="term">
|
||
<code class="varname">template_meta.language.description</code>
|
||
</span></dt><dd><p>Beschreibung der verwendeten Sprache</p></dd><dt><span class="term">
|
||
<code class="varname">template_meta.language.template_code</code>
|
||
</span></dt><dd><p>Vorlagenkürzel der verwendeten Sprache, identisch mit
|
||
dem Kürzel das im Dateinamen verwendetet wird.</p></dd><dt><span class="term">
|
||
<code class="varname">template_meta.language.output_numberformat</code>
|
||
</span></dt><dd><p>Zahlenformat der verwendeten Sprache in der Form
|
||
"<code class="constant">1.000,00</code>". Experimentell! Nur
|
||
interessant für Vorlagen die mit unformatierten Werten
|
||
arbeiten.</p></dd><dt><span class="term">
|
||
<code class="varname">template_meta.language.output_dateformat</code>
|
||
</span></dt><dd><p>Datumsformat der verwendeten Sprache in der Form
|
||
"<code class="constant">dd.mm.yyyy</code>". Experimentell! Nur
|
||
interessant für Vorlagen die mit unformatierten Werten
|
||
arbeiten.</p></dd><dt><span class="term">
|
||
<code class="varname">template_meta.format</code>
|
||
</span></dt><dd><p>Das angeforderte Format. Kann im Moment die Werte
|
||
<code class="constant">pdf</code>, <code class="constant">postscript</code>,
|
||
<code class="constant">html</code>, <code class="constant">opendocument</code>,
|
||
<code class="constant">opendocument_pdf</code> und
|
||
<code class="constant">excel</code> enthalten.</p></dd><dt><span class="term">
|
||
<code class="varname">template_meta.extension</code>
|
||
</span></dt><dd><p>Dateierweiterung, wie im Dateinamen. Wird aus
|
||
<code class="constant">format</code> entschieden.</p></dd><dt><span class="term">
|
||
<code class="varname">template_meta.media</code>
|
||
</span></dt><dd><p>Ausgabemedium. Kann zur Zeit die Werte
|
||
<code class="constant">screen</code> für Bildschirm,
|
||
<code class="constant">email</code> für E-Mail (triggert das
|
||
<code class="constant">_email</code> Kürzel im Dateinamen),
|
||
<code class="constant">printer</code> für Drucker, und
|
||
<code class="constant">queue</code> für Warteschlange enthalten.</p></dd><dt><span class="term">
|
||
<code class="varname">template_meta.printer.description</code>
|
||
</span></dt><dd><p>Beschreibung des ausgewählten Druckers</p></dd><dt><span class="term">
|
||
<code class="varname">template_meta.printer.template_code</code>
|
||
</span></dt><dd><p>Vorlagenürzel des ausgewählten Druckers, identisch mit
|
||
dem Kürzel das im Dateinamen verwendetet wird.</p></dd><dt><span class="term">
|
||
<code class="varname">template_meta.tmpfile</code>
|
||
</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">
|
||
<code class="varname">account_number</code>
|
||
</span></dt><dd><p>Kontonummer</p></dd><dt><span class="term">
|
||
<code class="varname">bank</code>
|
||
</span></dt><dd><p>Name der Bank</p></dd><dt><span class="term">
|
||
<code class="varname">bank_code</code>
|
||
</span></dt><dd><p>Bankleitzahl</p></dd><dt><span class="term">
|
||
<code class="varname">bic</code>
|
||
</span></dt><dd><p>Bank-Identifikations-Code (Bank Identifier Code,
|
||
BIC)</p></dd><dt><span class="term">
|
||
<code class="varname">business</code>
|
||
</span></dt><dd><p>Kunden-/Lieferantentyp</p></dd><dt><span class="term">
|
||
<code class="varname">city</code>
|
||
</span></dt><dd><p>Stadt</p></dd><dt><span class="term">
|
||
<code class="varname">contact</code>
|
||
</span></dt><dd><p>Kontakt</p></dd><dt><span class="term">
|
||
<code class="varname">country</code>
|
||
</span></dt><dd><p>Land</p></dd><dt><span class="term">
|
||
<code class="varname">c_vendor_id</code>
|
||
</span></dt><dd><p>Lieferantennummer beim Kunden (nur Kunden)</p></dd><dt><span class="term">
|
||
<code class="varname">v_customer_id</code>
|
||
</span></dt><dd><p>Kundennummer beim Lieferanten (nur Lieferanten)</p></dd><dt><span class="term">
|
||
<code class="varname">cp_email</code>
|
||
</span></dt><dd><p>Email des Ansprechpartners</p></dd><dt><span class="term">
|
||
<code class="varname">cp_givenname</code>
|
||
</span></dt><dd><p>Vorname des Ansprechpartners</p></dd><dt><span class="term">
|
||
<code class="varname">cp_greeting</code>
|
||
</span></dt><dd><p>Anrede des Ansprechpartners</p></dd><dt><span class="term">
|
||
<code class="varname">cp_name</code>
|
||
</span></dt><dd><p>Name des Ansprechpartners</p></dd><dt><span class="term">
|
||
<code class="varname">cp_phone1</code>
|
||
</span></dt><dd><p>Telefonnummer 1 des Ansprechpartners</p></dd><dt><span class="term">
|
||
<code class="varname">cp_phone2</code>
|
||
</span></dt><dd><p>Telefonnummer 2 des Ansprechpartners</p></dd><dt><span class="term">
|
||
<code class="varname">cp_title</code>
|
||
</span></dt><dd><p>Titel des Ansprechpartners</p></dd><dt><span class="term">
|
||
<code class="varname">creditlimit</code>
|
||
</span></dt><dd><p>Kreditlimit</p></dd><dt><span class="term">
|
||
<code class="varname">customeremail</code>
|
||
</span></dt><dd><p>Email des Kunden; nur für Kunden</p></dd><dt><span class="term">
|
||
<code class="varname">customerfax</code>
|
||
</span></dt><dd><p>Faxnummer des Kunden; nur für Kunden</p></dd><dt><span class="term">
|
||
<code class="varname">customernotes</code>
|
||
</span></dt><dd><p>Bemerkungen beim Kunden; nur für Kunden</p></dd><dt><span class="term">
|
||
<code class="varname">customernumber</code>
|
||
</span></dt><dd><p>Kundennummer; nur für Kunden</p></dd><dt><span class="term">
|
||
<code class="varname">customerphone</code>
|
||
</span></dt><dd><p>Telefonnummer des Kunden; nur für Kunden</p></dd><dt><span class="term">
|
||
<code class="varname">discount</code>
|
||
</span></dt><dd><p>Rabatt</p></dd><dt><span class="term">
|
||
<code class="varname">email</code>
|
||
</span></dt><dd><p>Emailadresse</p></dd><dt><span class="term">
|
||
<code class="varname">fax</code>
|
||
</span></dt><dd><p>Faxnummer</p></dd><dt><span class="term">
|
||
<code class="varname">gln</code>
|
||
</span></dt><dd><p>GLN (Globale Lokationsnummer)</p></dd><dt><span class="term">
|
||
<code class="varname">greeting</code>
|
||
</span></dt><dd><p>Anrede</p></dd><dt><span class="term">
|
||
<code class="varname">homepage</code>
|
||
</span></dt><dd><p>Homepage</p></dd><dt><span class="term">
|
||
<code class="varname">iban</code>
|
||
</span></dt><dd><p>Internationale Kontonummer (International Bank Account
|
||
Number, IBAN)</p></dd><dt><span class="term">
|
||
<code class="varname">language</code>
|
||
</span></dt><dd><p>Sprache</p></dd><dt><span class="term">
|
||
<code class="varname">name</code>
|
||
</span></dt><dd><p>Firmenname</p></dd><dt><span class="term">
|
||
<code class="varname">natural_person</code>
|
||
</span></dt><dd><p>Flag "natürliche Person"; Siehe auch
|
||
<a class="xref" href="ch03s03.html#dokumentenvorlagen-und-variablen.anrede" title="3.3.13. Hinweise zur Anrede">Hinweise zur Anrede</a>
|
||
</p></dd><dt><span class="term">
|
||
<code class="varname">payment_description</code>
|
||
</span></dt><dd><p>Name der Zahlart</p></dd><dt><span class="term">
|
||
<code class="varname">payment_terms</code>
|
||
</span></dt><dd><p>Zahlungskonditionen</p></dd><dt><span class="term">
|
||
<code class="varname">phone</code>
|
||
</span></dt><dd><p>Telefonnummer</p></dd><dt><span class="term">
|
||
<code class="varname">shiptocity</code>
|
||
</span></dt><dd><p>Stadt (Lieferadresse) <a class="link" href="ch03s03.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a>
|
||
</p></dd><dt><span class="term">
|
||
<code class="varname">shiptocontact</code>
|
||
</span></dt><dd><p>Kontakt (Lieferadresse) <a class="link" href="ch03s03.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a>
|
||
</p></dd><dt><span class="term">
|
||
<code class="varname">shiptocountry</code>
|
||
</span></dt><dd><p>Land (Lieferadresse) <a class="link" href="ch03s03.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a>
|
||
</p></dd><dt><span class="term">
|
||
<code class="varname">shiptodepartment_1</code>
|
||
</span></dt><dd><p>Abteilung 1 (Lieferadresse) <a class="link" href="ch03s03.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a>
|
||
</p></dd><dt><span class="term">
|
||
<code class="varname">shiptodepartment_2</code>
|
||
</span></dt><dd><p>Abteilung 2 (Lieferadresse) <a class="link" href="ch03s03.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a>
|
||
</p></dd><dt><span class="term">
|
||
<code class="varname">shiptoemail</code>
|
||
</span></dt><dd><p>Email (Lieferadresse) <a class="link" href="ch03s03.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a>
|
||
</p></dd><dt><span class="term">
|
||
<code class="varname">shiptofax</code>
|
||
</span></dt><dd><p>Fax (Lieferadresse) <a class="link" href="ch03s03.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a>
|
||
</p></dd><dt><span class="term">
|
||
<code class="varname">shiptogln</code>
|
||
</span></dt><dd><p>GLN (Globale Lokationsnummer) (Lieferadresse) <a class="link" href="ch03s03.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a>
|
||
</p></dd><dt><span class="term">
|
||
<code class="varname">shiptoname</code>
|
||
</span></dt><dd><p>Firmenname (Lieferadresse) <a class="link" href="ch03s03.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a>
|
||
</p></dd><dt><span class="term">
|
||
<code class="varname">shiptophone</code>
|
||
</span></dt><dd><p>Telefonnummer (Lieferadresse) <a class="link" href="ch03s03.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a>
|
||
</p></dd><dt><span class="term">
|
||
<code class="varname">shiptostreet</code>
|
||
</span></dt><dd><p>Straße und Hausnummer (Lieferadresse) <a class="link" href="ch03s03.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a>
|
||
</p></dd><dt><span class="term">
|
||
<code class="varname">shiptozipcode</code>
|
||
</span></dt><dd><p>Postleitzahl (Lieferadresse) <a class="link" href="ch03s03.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a>
|
||
</p></dd><dt><span class="term">
|
||
<code class="varname">street</code>
|
||
</span></dt><dd><p>Straße und Hausnummer</p></dd><dt><span class="term">
|
||
<code class="varname">taxnumber</code>
|
||
</span></dt><dd><p>Steuernummer</p></dd><dt><span class="term">
|
||
<code class="varname">ustid</code>
|
||
</span></dt><dd><p>Umsatzsteuer-Identifikationsnummer</p></dd><dt><span class="term">
|
||
<code class="varname">vendoremail</code>
|
||
</span></dt><dd><p>Email des Lieferanten; nur für Lieferanten</p></dd><dt><span class="term">
|
||
<code class="varname">vendorfax</code>
|
||
</span></dt><dd><p>Faxnummer des Lieferanten; nur für Lieferanten</p></dd><dt><span class="term">
|
||
<code class="varname">vendornotes</code>
|
||
</span></dt><dd><p>Bemerkungen beim Lieferanten; nur für Lieferanten</p></dd><dt><span class="term">
|
||
<code class="varname">vendornumber</code>
|
||
</span></dt><dd><p>Lieferantennummer; nur für Lieferanten</p></dd><dt><span class="term">
|
||
<code class="varname">vendorphone</code>
|
||
</span></dt><dd><p>Telefonnummer des Lieferanten; nur für
|
||
Lieferanten</p></dd><dt><span class="term">
|
||
<code class="varname">zipcode</code>
|
||
</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
|
||
Stammdaten nicht eingetragen, so haben die Variablen
|
||
<code class="varname">shipto*</code> den gleichen Wert wie die die
|
||
entsprechenden Variablen der Lieferdaten. Das bedeutet, dass sich
|
||
einige <code class="varname">shipto*</code>-Variablen so nicht in den
|
||
Stammdaten wiederfinden sondern schlicht Kopien der
|
||
Lieferdatenvariablen sind (z.B.
|
||
<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">
|
||
<code class="varname">employee_address</code>
|
||
</span></dt><dd><p>Adressfeld</p></dd><dt><span class="term">
|
||
<code class="varname">employee_businessnumber</code>
|
||
</span></dt><dd><p>Firmennummer</p></dd><dt><span class="term">
|
||
<code class="varname">employee_company</code>
|
||
</span></dt><dd><p>Firmenname</p></dd><dt><span class="term">
|
||
<code class="varname">employee_co_ustid</code>
|
||
</span></dt><dd><p>Usatzsteuer-Identifikationsnummer</p></dd><dt><span class="term">
|
||
<code class="varname">employee_duns</code>
|
||
</span></dt><dd><p>DUNS-Nummer</p></dd><dt><span class="term">
|
||
<code class="varname">employee_email</code>
|
||
</span></dt><dd><p>Email</p></dd><dt><span class="term">
|
||
<code class="varname">employee_fax</code>
|
||
</span></dt><dd><p>Fax</p></dd><dt><span class="term">
|
||
<code class="varname">employee_name</code>
|
||
</span></dt><dd><p>voller Name</p></dd><dt><span class="term">
|
||
<code class="varname">employee_signature</code>
|
||
</span></dt><dd><p>Signatur</p></dd><dt><span class="term">
|
||
<code class="varname">employee_taxnumber</code>
|
||
</span></dt><dd><p>Steuernummer</p></dd><dt><span class="term">
|
||
<code class="varname">employee_tel</code>
|
||
</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">
|
||
<code class="varname">salesman_address</code>
|
||
</span></dt><dd><p>Adressfeld</p></dd><dt><span class="term">
|
||
<code class="varname">salesman_businessnumber</code>
|
||
</span></dt><dd><p>Firmennummer</p></dd><dt><span class="term">
|
||
<code class="varname">salesman_company</code>
|
||
</span></dt><dd><p>Firmenname</p></dd><dt><span class="term">
|
||
<code class="varname">salesman_co_ustid</code>
|
||
</span></dt><dd><p>Usatzsteuer-Identifikationsnummer</p></dd><dt><span class="term">
|
||
<code class="varname">salesman_duns</code>
|
||
</span></dt><dd><p>DUNS-Nummer</p></dd><dt><span class="term">
|
||
<code class="varname">salesman_email</code>
|
||
</span></dt><dd><p>Email</p></dd><dt><span class="term">
|
||
<code class="varname">salesman_fax</code>
|
||
</span></dt><dd><p>Fax</p></dd><dt><span class="term">
|
||
<code class="varname">salesman_name</code>
|
||
</span></dt><dd><p>voller Name</p></dd><dt><span class="term">
|
||
<code class="varname">salesman_signature</code>
|
||
</span></dt><dd><p>Signatur</p></dd><dt><span class="term">
|
||
<code class="varname">salesman_taxnumber</code>
|
||
</span></dt><dd><p>Steuernummer</p></dd><dt><span class="term">
|
||
<code class="varname">salesman_tel</code>
|
||
</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">
|
||
<code class="varname">tax</code>
|
||
</span></dt><dd><p>Steuer</p></dd><dt><span class="term">
|
||
<code class="varname">taxbase</code>
|
||
</span></dt><dd><p>zu versteuernder Betrag</p></dd><dt><span class="term">
|
||
<code class="varname">taxdescription</code>
|
||
</span></dt><dd><p>Name der Steuer</p></dd><dt><span class="term">
|
||
<code class="varname">taxrate</code>
|
||
</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">
|
||
<code class="varname">delivery_term</code>
|
||
</span></dt><dd><p>Datenbank-Objekt der Lieferbedingung</p></dd><dt><span class="term">
|
||
<code class="varname">delivery_term.description</code>
|
||
</span></dt><dd><p>Beschreibung der Lieferbedingung</p></dd><dt><span class="term">
|
||
<code class="varname">delivery_term.description_long</code>
|
||
</span></dt><dd><p>Langtext bzw. übersetzter Langtext der
|
||
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>
|
||
Abweichende Rechnungsadressen gibt es nur in Verkaufsbelegen. Die entsprechenden Variablen sind nur dann mit Inhalt gefüllt,
|
||
wenn im Beleg eine abweichende Rechnungsadresse ausgewählt wurde. Ob eine Adresse überhaupt ausgewählt wurde, kann über die
|
||
Variable <code class="literal">billing_address_id</code> getestet werden, die die Datenbank-ID der abweichenden Rechnungsadresse enthält,
|
||
wenn eine ausgewählt ist.
|
||
</p><p>
|
||
Die Variablennamen starten alle mit dem Präfix <code class="literal">billing_address_</code> und heißen anschließend so, wie ihre Pendants
|
||
aus der Standard-Rechnungsadresse des Kunden. Beispiel: die Postleitzahl, die in der normalen Rechnungsadresse in
|
||
<code class="literal">zipcode</code> steht, steht für die abweichende Rechnungsadresse in <code class="literal">billing_address_zipcode</code>.
|
||
</p><p>
|
||
Die folgenden Variablen stehen so zur Verfügung: <code class="literal">billing_address_name</code>,
|
||
<code class="literal">billing_address_department_1</code>, <code class="literal">billing_address_department_2</code>,
|
||
<code class="literal">billing_address_contact</code>, <code class="literal">billing_address_street</code>,
|
||
<code class="literal">billing_address_zipcode</code>, <code class="literal">billing_address_city</code>, <code class="literal">billing_address_country</code>,
|
||
<code class="literal">billing_address_gln</code>, <code class="literal">billing_address_email</code>, <code class="literal">billing_address_phone</code> und
|
||
<code class="literal">billing_address_fax</code>.
|
||
</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">
|
||
<code class="varname">creditremaining</code>
|
||
</span></dt><dd><p>Verbleibender Kredit</p></dd><dt><span class="term">
|
||
<code class="varname">currency</code>
|
||
</span></dt><dd><p>Währung</p></dd><dt><span class="term">
|
||
<code class="varname">cusordnumber</code>
|
||
</span></dt><dd><p>Bestellnummer beim Kunden</p></dd><dt><span class="term">
|
||
<code class="varname">deliverydate</code>
|
||
</span></dt><dd><p>Lieferdatum</p></dd><dt><span class="term">
|
||
<code class="varname">duedate</code>
|
||
</span></dt><dd><p>Fälligkeitsdatum</p></dd><dt><span class="term">
|
||
<code class="varname">globalprojectnumber</code>
|
||
</span></dt><dd><p>Projektnummer des ganzen Beleges</p></dd><dt><span class="term">
|
||
<code class="varname">globalprojectdescription</code>
|
||
</span></dt><dd><p>Projekbeschreibung des ganzen Beleges</p></dd><dt><span class="term">
|
||
<code class="varname">intnotes</code>
|
||
</span></dt><dd><p>Interne Bemerkungen</p></dd><dt><span class="term">
|
||
<code class="varname">invdate</code>
|
||
</span></dt><dd><p>Rechnungsdatum</p></dd><dt><span class="term">
|
||
<code class="varname">invnumber</code>
|
||
</span></dt><dd><p>Rechnungsnummer</p></dd><dt><span class="term">
|
||
<code class="varname">invtotal</code>
|
||
</span></dt><dd><p>gesamter Rechnungsbetrag</p></dd><dt><span class="term">
|
||
<code class="varname">notes</code>
|
||
</span></dt><dd><p>Bemerkungen der Rechnung</p></dd><dt><span class="term">
|
||
<code class="varname">orddate</code>
|
||
</span></dt><dd><p>Auftragsdatum</p></dd><dt><span class="term">
|
||
<code class="varname">ordnumber</code>
|
||
</span></dt><dd><p>Auftragsnummer, wenn die Rechnung aus einem Auftrag
|
||
erstellt wurde</p></dd><dt><span class="term">
|
||
<code class="varname">payment_description</code>
|
||
</span></dt><dd><p>Name der Zahlart</p></dd><dt><span class="term">
|
||
<code class="varname">payment_terms</code>
|
||
</span></dt><dd><p>Zahlungskonditionen</p></dd><dt><span class="term">
|
||
<code class="varname">quodate</code>
|
||
</span></dt><dd><p>Angebotsdatum</p></dd><dt><span class="term">
|
||
<code class="varname">quonumber</code>
|
||
</span></dt><dd><p>Angebotsnummer</p></dd><dt><span class="term">
|
||
<code class="varname">rounding</code>
|
||
</span></dt><dd><p>Betrag, um den <code class="varname">invtotal</code> gerundet
|
||
wurde (kann positiv oder negativ sein)</p></dd><dt><span class="term">
|
||
<code class="varname">shippingpoint</code>
|
||
</span></dt><dd><p>Versandort</p></dd><dt><span class="term">
|
||
<code class="varname">shipvia</code>
|
||
</span></dt><dd><p>Transportmittel</p></dd><dt><span class="term">
|
||
<code class="varname">subtotal</code>
|
||
</span></dt><dd><p>Zwischensumme aller Posten ohne Steuern</p></dd><dt><span class="term">
|
||
<code class="varname">total</code>
|
||
</span></dt><dd><p>Restsumme der Rechnung (Summe abzüglich bereits
|
||
bezahlter Posten)</p></dd><dt><span class="term">
|
||
<code class="varname">transaction_description</code>
|
||
</span></dt><dd><p>Vorgangsbezeichnung</p></dd><dt><span class="term">
|
||
<code class="varname">transdate</code>
|
||
</span></dt><dd><p>Auftragsdatum wenn die Rechnung aus einem Auftrag
|
||
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
|
||
werden: <a class="ulink" href="https://ctan.org/pkg/qrbill?lang=de" target="_top">https://ctan.org/pkg/qrbill?lang=de</a>
|
||
</p><p>Für die Erstellung von QR-Rechnungen mit OpenDocument Vorlagen
|
||
siehe: <a class="xref" href="ch02s14.html" title="2.14. OpenDocument-Vorlagen">Abschnitt 2.14, „OpenDocument-Vorlagen“</a>
|
||
</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
|
||
→ Bankkonten</em></span>
|
||
</p></dd><dt><span class="term">qrbill_biller_countrycode</span></dt><dd><p>Länderkürzel des Rechnungsstellers gem. ISO 3166, aus
|
||
<span class="emphasis"><em>Mandantenkonfiguration → Firmenname und
|
||
-adresse</em></span>
|
||
</p></dd><dt><span class="term">qrbill_customer_countrycode</span></dt><dd><p>Länderkürzel des Rechnungsempfängers gem. ISO 3166, aus
|
||
der jeweiligen Rechnung</p></dd><dt><span class="term">qrbill_amount</span></dt><dd><p>Betrag für die QR-Rechnung (Zahl ohne
|
||
Tausendertrennzeichen mit zwei Nachkommastellen), entsprechend
|
||
total</p></dd><dt><span class="term">qr_reference</span></dt><dd><p>QR-Referenz der jeweiligen Rechnung, sofern in der
|
||
<span class="emphasis"><em>Mandantenkonfiguration → Features → Variante QR-IBAN
|
||
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">
|
||
<code class="varname">bin</code>
|
||
</span></dt><dd><p>Stellage</p></dd><dt><span class="term">
|
||
<code class="varname">description</code>
|
||
</span></dt><dd><p>Artikelbeschreibung</p></dd><dt><span class="term">
|
||
<code class="varname">cusordnumber_oe</code>
|
||
</span></dt><dd><p>Bestellnummer des Kunden aus dem Auftrag, aus dem der
|
||
Posten ursprünglich stammt (nur Verkauf)</p></dd><dt><span class="term">
|
||
<code class="varname">discount</code>
|
||
</span></dt><dd><p>Rabatt als Betrag</p></dd><dt><span class="term">
|
||
<code class="varname">discount_sub</code>
|
||
</span></dt><dd><p>Zwischensumme mit Rabatt</p></dd><dt><span class="term">
|
||
<code class="varname">donumber_do</code>
|
||
</span></dt><dd><p>Lieferscheinnummer des Lieferscheins, aus dem die
|
||
Position ursprünglich stammt, wenn die Rechnung im Rahmen des
|
||
Workflows aus einem Lieferschein erstellt wurde.</p></dd><dt><span class="term">
|
||
<code class="varname">drawing</code>
|
||
</span></dt><dd><p>Zeichnung</p></dd><dt><span class="term">
|
||
<code class="varname">ean</code>
|
||
</span></dt><dd><p>EAN-Code</p></dd><dt><span class="term">
|
||
<code class="varname">image</code>
|
||
</span></dt><dd><p>Grafik</p></dd><dt><span class="term">
|
||
<code class="varname">linetotal</code>
|
||
</span></dt><dd><p>Zeilensumme (Anzahl * Einzelpreis)</p></dd><dt><span class="term">
|
||
<code class="varname">longdescription</code>
|
||
</span></dt><dd><p>Langtext, vorbelegt mit dem Feld Bemerkungen der entsprechenden Ware</p></dd><dt><span class="term">
|
||
<code class="varname">microfiche</code>
|
||
</span></dt><dd><p>Mikrofilm</p></dd><dt><span class="term">
|
||
<code class="varname">netprice</code>
|
||
</span></dt><dd><p>Alternative zu <code class="varname">sellprice</code>, aber
|
||
<code class="varname">netprice</code> entspricht dem effektiven
|
||
Einzelpreis und beinhaltet Zeilenrabatt und Preisfaktor.
|
||
<code class="varname">netprice</code> wird rückgerechnet aus Zeilensumme
|
||
/ Menge. Diese Variable ist nützlich, wenn man den gewährten
|
||
Rabatt in der Druckvorlage nicht anzeigen möchte, aber Menge *
|
||
Einzelpreis trotzdem die angezeigte Zeilensumme ergeben soll.
|
||
<code class="varname">netprice</code> hat nichts mit Netto/Brutto im
|
||
Sinne von Steuern zu tun.</p></dd><dt><span class="term">
|
||
<code class="varname">nodiscount_linetotal</code>
|
||
</span></dt><dd><p>Zeilensumme ohne Rabatt</p></dd><dt><span class="term">
|
||
<code class="varname">nodiscount_sub</code>
|
||
</span></dt><dd><p>Zwischensumme ohne Rabatt</p></dd><dt><span class="term">
|
||
<code class="varname">number</code>
|
||
</span></dt><dd><p>Artikelnummer</p></dd><dt><span class="term">
|
||
<code class="varname">ordnumber_oe</code>
|
||
</span></dt><dd><p>Auftragsnummer des Originalauftrags, aus dem der Posten
|
||
ursprünglich stammt. Nützlich, wenn die Rechnung aus mehreren
|
||
Lieferscheinen zusammengefasst wurde, oder wenn zwischendurch
|
||
eine Sammelauftrag aus mehreren Aufträgen erstellt wurde. In
|
||
letzterem Fall wird die unsprüngliche Auftragsnummer
|
||
angezeigt.</p></dd><dt><span class="term">
|
||
<code class="varname">p_discount</code>
|
||
</span></dt><dd><p>Rabatt in Prozent</p></dd><dt><span class="term">
|
||
<code class="varname">partnotes</code>
|
||
</span></dt><dd><p>Die beim Artikel gespeicherten Bemerkungen</p></dd><dt><span class="term">
|
||
<code class="varname">partsgroup</code>
|
||
</span></dt><dd><p>Warengruppe</p></dd><dt><span class="term">
|
||
<code class="varname">price_factor</code>
|
||
</span></dt><dd><p>Der Preisfaktor als Zahl, sofern einer eingestellt
|
||
ist</p></dd><dt><span class="term">
|
||
<code class="varname">price_factor_name</code>
|
||
</span></dt><dd><p>Der Name des Preisfaktors, sofern einer eingestellt
|
||
ist</p></dd><dt><span class="term">
|
||
<code class="varname">projectnumber</code>
|
||
</span></dt><dd><p>Projektnummer</p></dd><dt><span class="term">
|
||
<code class="varname">projectdescription</code>
|
||
</span></dt><dd><p>Projektbeschreibung</p></dd><dt><span class="term">
|
||
<code class="varname">qty</code>
|
||
</span></dt><dd><p>Anzahl</p></dd><dt><span class="term">
|
||
<code class="varname">reqdate</code>
|
||
</span></dt><dd><p>Lieferdatum</p></dd><dt><span class="term">
|
||
<code class="varname">runningnumber</code>
|
||
</span></dt><dd><p>Position auf der Rechnung (1, 2, 3...)</p></dd><dt><span class="term">
|
||
<code class="varname">sellprice</code>
|
||
</span></dt><dd><p>Verkaufspreis</p></dd><dt><span class="term">
|
||
<code class="varname">serialnumber</code>
|
||
</span></dt><dd><p>Seriennummer</p></dd><dt><span class="term">
|
||
<code class="varname">tax_rate</code>
|
||
</span></dt><dd><p>Steuersatz</p></dd><dt><span class="term">
|
||
<code class="varname">transdate_do</code>
|
||
</span></dt><dd><p>Datum des Lieferscheins, wenn die Rechnung im Rahmen des
|
||
Workflows aus einem Lieferschein stammte.</p></dd><dt><span class="term">
|
||
<code class="varname">transdate_oe</code>
|
||
</span></dt><dd><p>Datum des Auftrags, wenn die Rechnung im Rahmen des
|
||
Workflows aus einem Auftrag erstellt wurde. Wenn es
|
||
Sammelaufträge gab wird das Datum des ursprünglichen Auftrags
|
||
genommen.</p></dd><dt><span class="term">
|
||
<code class="varname">transdate_quo</code>
|
||
</span></dt><dd><p>Datum des Angebots, wenn die Position im Rahmen des
|
||
Workflows aus einem Angebot stammte.</p></dd><dt><span class="term">
|
||
<code class="varname">unit</code>
|
||
</span></dt><dd><p>Einheit</p></dd><dt><span class="term">
|
||
<code class="varname">weight</code>
|
||
</span></dt><dd><p>Gewicht</p></dd></dl></div><p>Für jeden Posten gibt es ein Unterarray mit den Informationen
|
||
über Lieferanten und Lieferantenartikelnummer, Kunde und Kundenartikelnummer
|
||
und Kunden- bzw. Lieferantentyp und zugehöriger Artikelnummer mit Beschreibung
|
||
und Langtext. Diese müssen jeweils mit
|
||
einer <code class="function">foreach</code>-Schleife ausgegeben werden, da
|
||
für jeden Artikel mehrere Lieferanten- und Kundeninformationen bzw.
|
||
kunden- bzw. lieferantenspezifische Informationen hinterlegt sein
|
||
können. Die Variablen dafür lauten:</p><div class="variablelist"><dl><dt><span class="term">
|
||
<code class="varname">make</code>
|
||
</span></dt><dd><p>Lieferant</p></dd><dt><span class="term">
|
||
<code class="varname">model</code>
|
||
</span></dt><dd><p>Lieferantenartikelnummer</p></dd><dt><span class="term">
|
||
<code class="varname">mm_part_description</code>
|
||
</span></dt><dd><p>Lieferantenartikelbeschreibung</p></dd><dt><span class="term">
|
||
<code class="varname">mm_part_longdescription</code>
|
||
</span></dt><dd><p>Lieferantenartikelbeschreibung (Langtext)</p></dd><dt><span class="term">
|
||
<code class="varname">customer_make</code>
|
||
</span></dt><dd><p>Kunde</p></dd><dt><span class="term">
|
||
<code class="varname">customer_model</code>
|
||
</span></dt><dd><p>Kundenartikelnummer</p></dd><dt><span class="term">
|
||
<code class="varname">cm_part_description</code>
|
||
</span></dt><dd><p>Kundenartikelbeschreibung</p></dd><dt><span class="term">
|
||
<code class="varname">cm_part_longdescription</code>
|
||
</span></dt><dd><p>Kundenartikelbeschreibung (Langtext)</p></dd><dt><span class="term">
|
||
<code class="varname">business_make</code>
|
||
</span></dt><dd><p>Kunden-/Lieferantentyp</p></dd><dt><span class="term">
|
||
<code class="varname">business_model</code>
|
||
</span></dt><dd><p>Kunden-/Lieferantentyp-spezifische Artikelnummer</p></dd><dt><span class="term">
|
||
<code class="varname">bm_part_description</code>
|
||
</span></dt><dd><p>Kunden-/Lieferantentyp-spezifische Artikelbeschreibung</p></dd><dt><span class="term">
|
||
<code class="varname">bm_part_longdescription</code>
|
||
</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">
|
||
<code class="varname">payment</code>
|
||
</span></dt><dd><p>Betrag</p></dd><dt><span class="term">
|
||
<code class="varname">paymentaccount</code>
|
||
</span></dt><dd><p>Konto</p></dd><dt><span class="term">
|
||
<code class="varname">paymentdate</code>
|
||
</span></dt><dd><p>Datum</p></dd><dt><span class="term">
|
||
<code class="varname">paymentmemo</code>
|
||
</span></dt><dd><p>Memo</p></dd><dt><span class="term">
|
||
<code class="varname">paymentsource</code>
|
||
</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
|
||
Lieferanten stehen beim Ausdruck von Einkaufs- und Verkaufsbelegen
|
||
ebenfalls zur Verfügung. Ihre Namen setzen sich aus dem Präfix
|
||
<code class="varname">vc_cvar_</code> und dem vom Benutzer festgelegten
|
||
Variablennamen zusammen.</p><p>Beispiel: Der Benutzer hat eine Variable namens
|
||
<code class="varname">number_of_employees</code> definiert, die die Anzahl der
|
||
Mitarbeiter des Unternehmens enthält. Diese Variable steht dann
|
||
unter dem Namen <code class="varname">vc_cvar_number_of_employees</code> zur
|
||
Verfügung.</p><p>Die benutzerdefinierten Variablen der Lieferadressen stehen
|
||
unter einem ähnlichen Namensschema zur Verfügung. Hier lautet der
|
||
Präfix <code class="varname">shiptocvar_</code>.</p><p>Analog stehen die benutzerdefinierten Variablen für
|
||
Ansprechpersonen mit dem Namenspräfix <code class="varname">cp_cvar_</code>
|
||
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
|
||
eingegeben. Wird für ein Mahnlevel die Option zur automatischen
|
||
Erstellung einer Rechnung über die Mahngebühren und Zinsen
|
||
aktiviert, so wird der Name der Vorlage für diese Rechnung aus dem
|
||
Vorlagenname für diese Mahnstufe mit dem Zusatz
|
||
<code class="constant">_invoice</code> gebildet. Weiterhin werden die Kürzel
|
||
für die ausgewählte Sprache und den ausgewählten Drucker
|
||
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
|
||
gewohnt als <code class="varname">employee_...</code> bzw.
|
||
<code class="varname">salesman_...</code> zur Verfügung. Werden mehrere
|
||
Rechnungen in einer Mahnung zusammengefasst, so werden die Metadaten
|
||
(Bearbeiter, Abteilung, etc) der ersten angemahnten Rechnung im
|
||
Ausdruck genommen.</p><p>Die Adressdaten des Kunden stehen als Variablen
|
||
<code class="varname">name</code>, <code class="varname">street</code>,
|
||
<code class="varname">zipcode</code>, <code class="varname">city</code>,
|
||
<code class="varname">country</code>, <code class="varname">department_1</code>,
|
||
<code class="varname">department_2</code>, und <code class="varname">email</code> zur
|
||
Verfügung. Der Ansprechpartner <code class="varname">cp_...</code> steht auch
|
||
zu Verfügung, wird allerdings auch nur von der ersten angemahnten
|
||
Rechnung (s.o.) genommen.</p><p>Weitere Variablen beinhalten:</p><div class="variablelist"><dl><dt><span class="term">
|
||
<code class="varname">dunning_date</code>
|
||
</span></dt><dd><p>Datum der Mahnung</p></dd><dt><span class="term">
|
||
<code class="varname">dunning_duedate</code>
|
||
</span></dt><dd><p>Fälligkeitsdatum für diese Mahhnung</p></dd><dt><span class="term">
|
||
<code class="varname">dunning_id</code>
|
||
</span></dt><dd><p>Mahnungsnummer</p></dd><dt><span class="term">
|
||
<code class="varname">fee</code>
|
||
</span></dt><dd><p>Kumulative Mahngebühren</p></dd><dt><span class="term">
|
||
<code class="varname">interest_rate</code>
|
||
</span></dt><dd><p>Zinssatz per anno in Prozent</p></dd><dt><span class="term">
|
||
<code class="varname">total_amount</code>
|
||
</span></dt><dd><p>Gesamter noch zu zahlender Betrag als
|
||
<code class="function">fee</code> + <code class="function">total_interest</code>
|
||
+ <code class="function">total_open_amount</code>
|
||
</p></dd><dt><span class="term">
|
||
<code class="varname">total_interest</code>
|
||
</span></dt><dd><p>Zinsen per anno über alle Rechnungen</p></dd><dt><span class="term">
|
||
<code class="varname">total_open_amount</code>
|
||
</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">
|
||
<code class="varname">dn_amount</code>
|
||
</span></dt><dd><p>Rechnungssumme (brutto)</p></dd><dt><span class="term">
|
||
<code class="varname">dn_duedate</code>
|
||
</span></dt><dd><p>Originales Fälligkeitsdatum der Rechnung</p></dd><dt><span class="term">
|
||
<code class="varname">dn_dunning_date</code>
|
||
</span></dt><dd><p>Datum der Mahnung</p></dd><dt><span class="term">
|
||
<code class="varname">dn_dunning_duedate</code>
|
||
</span></dt><dd><p>Fälligkeitsdatum der Mahnung</p></dd><dt><span class="term">
|
||
<code class="varname">dn_fee</code>
|
||
</span></dt><dd><p>Kummulative Mahngebühr</p></dd><dt><span class="term">
|
||
<code class="varname">dn_interest</code>
|
||
</span></dt><dd><p>Zinsen per anno für diese Rechnung</p></dd><dt><span class="term">
|
||
<code class="varname">dn_invnumber</code>
|
||
</span></dt><dd><p>Rechnungsnummer</p></dd><dt><span class="term">
|
||
<code class="varname">dn_linetotal</code>
|
||
</span></dt><dd><p>Noch zu zahlender Betrag (ergibt sich aus
|
||
<code class="varname">dn_open_amount</code> + <code class="varname">dn_fee</code>
|
||
+ <code class="varname">dn_interest</code>)</p></dd><dt><span class="term">
|
||
<code class="varname">dn_netamount</code>
|
||
</span></dt><dd><p>Rechnungssumme (netto)</p></dd><dt><span class="term">
|
||
<code class="varname">dn_open_amount</code>
|
||
</span></dt><dd><p>Offener Rechnungsbetrag</p></dd><dt><span class="term">
|
||
<code class="varname">dn_ordnumber</code>
|
||
</span></dt><dd><p>Bestellnummer</p></dd><dt><span class="term">
|
||
<code class="varname">dn_transdate</code>
|
||
</span></dt><dd><p>Rechnungsdatum</p></dd><dt><span class="term">
|
||
<code class="varname">dn_curr</code>
|
||
</span></dt><dd><p>Währung, in der die Rechnung erstellt wurde. (Die
|
||
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
|
||
Mahngebühren</h4></div></div></div><p>Die Variablen des Verkäufers stehen wie gewohnt als
|
||
<code class="varname">employee_...</code> zur Verfügung. Die Adressdaten des
|
||
Kunden stehen als Variablen <code class="varname">name</code>,
|
||
<code class="varname">street</code>, <code class="varname">zipcode</code>,
|
||
<code class="varname">city</code>, <code class="varname">country</code>,
|
||
<code class="varname">department_1</code>, <code class="varname">department_2</code>,
|
||
und <code class="varname">email</code> zur Verfügung.</p><p>Weitere Variablen beinhalten:</p><div class="variablelist"><dl><dt><span class="term">
|
||
<code class="varname">duedate</code>
|
||
</span></dt><dd><p>Fälligkeitsdatum der Rechnung</p></dd><dt><span class="term">
|
||
<code class="varname">dunning_id</code>
|
||
</span></dt><dd><p>Mahnungsnummer</p></dd><dt><span class="term">
|
||
<code class="varname">fee</code>
|
||
</span></dt><dd><p>Mahngebühren</p></dd><dt><span class="term">
|
||
<code class="varname">interest</code>
|
||
</span></dt><dd><p>Zinsen</p></dd><dt><span class="term">
|
||
<code class="varname">invamount</code>
|
||
</span></dt><dd><p>Rechnungssumme (ergibt sich aus <code class="varname">fee</code> +
|
||
<code class="varname">interest</code>)</p></dd><dt><span class="term">
|
||
<code class="varname">invdate</code>
|
||
</span></dt><dd><p>Rechnungsdatum</p></dd><dt><span class="term">
|
||
<code class="varname">invnumber</code>
|
||
</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
|
||
Rechnung. Allerdings heißen die Variablen, die mit
|
||
<code class="varname">inv</code> beginnen, jetzt anders. Bei den Angeboten
|
||
fangen sie mit <code class="varname">quo</code> für "quotation" an:
|
||
<code class="varname">quodate</code> für Angebotsdatum etc. Bei Bestellungen
|
||
wiederum fangen sie mit <code class="varname">ord</code> für "order" an:
|
||
<code class="varname">ordnumber</code> für Bestellnummer etc.</p><p>Manche Variablen sind in anderen Vorlagen hingegen gar nicht
|
||
vorhanden wie z.B. die für bereits verbuchte Zahlungseingänge. Dies
|
||
sind Variablen, die vom Geschäftsablauf her in der entsprechenden
|
||
Vorlage keine Bedeutung haben oder noch nicht belegt sein
|
||
können.</p><p>Im Folgenden werden nur wichtige Unterschiede zu den Variablen
|
||
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">
|
||
<code class="varname">quonumber</code>
|
||
</span></dt><dd><p>Angebots- bzw. Anfragenummer</p></dd><dt><span class="term">
|
||
<code class="varname">reqdate</code>
|
||
</span></dt><dd><p>Gültigkeitsdatum (bei Angeboten) bzw. Lieferdatum (bei
|
||
Preisanfragen)</p></dd><dt><span class="term">
|
||
<code class="varname">transdate</code>
|
||
</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">
|
||
<code class="varname">ordnumber</code>
|
||
</span></dt><dd><p>Auftragsnummer</p></dd><dt><span class="term">
|
||
<code class="varname">reqdate</code>
|
||
</span></dt><dd><p>Lieferdatum</p></dd><dt><span class="term">
|
||
<code class="varname">transdate</code>
|
||
</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">
|
||
<code class="varname">cusordnumber</code>
|
||
</span></dt><dd><p>Bestellnummer des Kunden (im Verkauf) bzw. Bestellnummer
|
||
des Lieferanten (im Einkauf)</p></dd><dt><span class="term">
|
||
<code class="varname">donumber</code>
|
||
</span></dt><dd><p>Lieferscheinnummer</p></dd><dt><span class="term">
|
||
<code class="varname">transdate</code>
|
||
</span></dt><dd><p>Lieferscheindatum</p></dd></dl></div><p>Für jede Position eines Lieferscheines gibt es ein Unterarray
|
||
mit den Informationen darüber, von welchem Lager und Lagerplatz aus
|
||
die Waren verschickt wurden (Verkaufslieferscheine) bzw. auf welchen
|
||
Lagerplatz sie eingelagert wurden. Diese müssen mittels einer
|
||
<code class="function">foreach</code>-Schleife ausgegeben werden. Diese
|
||
Variablen sind:</p><div class="variablelist"><dl><dt><span class="term">
|
||
<code class="varname">si_bin</code>
|
||
</span></dt><dd><p>Lagerplatz</p></dd><dt><span class="term">
|
||
<code class="varname">si_chargenumber</code>
|
||
</span></dt><dd><p>Chargennummer</p></dd><dt><span class="term">
|
||
<code class="varname">si_bestbefore</code>
|
||
</span></dt><dd><p>Mindesthaltbarkeit</p></dd><dt><span class="term">
|
||
<code class="varname">si_number</code>
|
||
</span></dt><dd><p>Artikelnummer</p></dd><dt><span class="term">
|
||
<code class="varname">si_qty</code>
|
||
</span></dt><dd><p>Anzahl bzw. Menge</p></dd><dt><span class="term">
|
||
<code class="varname">si_runningnumber</code>
|
||
</span></dt><dd><p>Positionsnummer (1, 2, 3 etc)</p></dd><dt><span class="term">
|
||
<code class="varname">si_unit</code>
|
||
</span></dt><dd><p>Einheit</p></dd><dt><span class="term">
|
||
<code class="varname">si_warehouse</code>
|
||
</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">
|
||
<code class="varname">c0total</code>
|
||
</span></dt><dd><p>Gesamtbetrag aller Rechnungen mit Fälligkeit < 30
|
||
Tage</p></dd><dt><span class="term">
|
||
<code class="varname">c30total</code>
|
||
</span></dt><dd><p>Gesamtbetrag aller Rechnungen mit Fälligkeit >= 30
|
||
und < 60 Tage</p></dd><dt><span class="term">
|
||
<code class="varname">c60total</code>
|
||
</span></dt><dd><p>Gesamtbetrag aller Rechnungen mit Fälligkeit >= 60
|
||
und < 90 Tage</p></dd><dt><span class="term">
|
||
<code class="varname">c90total</code>
|
||
</span></dt><dd><p>Gesamtbetrag aller Rechnungen mit Fälligkeit >= 90
|
||
Tage</p></dd><dt><span class="term">
|
||
<code class="varname">total</code>
|
||
</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">
|
||
<code class="varname">invnumber</code>
|
||
</span></dt><dd><p>Rechnungsnummer</p></dd><dt><span class="term">
|
||
<code class="varname">invdate</code>
|
||
</span></dt><dd><p>Rechnungsdatum</p></dd><dt><span class="term">
|
||
<code class="varname">duedate</code>
|
||
</span></dt><dd><p>Fälligkeitsdatum</p></dd><dt><span class="term">
|
||
<code class="varname">amount</code>
|
||
</span></dt><dd><p>Summe der Rechnung</p></dd><dt><span class="term">
|
||
<code class="varname">open</code>
|
||
</span></dt><dd><p>Noch offener Betrag der Rechnung</p></dd><dt><span class="term">
|
||
<code class="varname">c0</code>
|
||
</span></dt><dd><p>Noch offener Rechnungsbetrag mit Fälligkeit < 30
|
||
Tage</p></dd><dt><span class="term">
|
||
<code class="varname">c30</code>
|
||
</span></dt><dd><p>Noch offener Rechnungsbetrag mit Fälligkeit >= 30 und
|
||
< 60 Tage</p></dd><dt><span class="term">
|
||
<code class="varname">c60</code>
|
||
</span></dt><dd><p>Noch offener Rechnungsbetrag mit Fälligkeit >= 60 und
|
||
< 90 Tage</p></dd><dt><span class="term">
|
||
<code class="varname">c90</code>
|
||
</span></dt><dd><p>Noch offener Rechnungsbetrag mit Fälligkeit >= 90
|
||
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
|
||
Konstrukte, die gesondert behandelt werden. Diese sind wie
|
||
Variablennamen in spezieller Weise markiert:
|
||
<span class="command"><strong><%anweisung%> ... <%end%></strong></span>
|
||
</p><p>Anmerkung zum <span class="command"><strong><%end%></strong></span>: Der besseren
|
||
Verständlichkeit halber kann man nach dem <span class="command"><strong>end</strong></span>
|
||
noch beliebig weitere Wörter schreiben, um so zu markieren, welche
|
||
Anweisung (z.B. <span class="command"><strong>if</strong></span> oder
|
||
<span class="command"><strong>foreach</strong></span>) damit abgeschlossen wird.</p><p>Beispiel: Lautet der Beginn eines Blockes z.B.
|
||
<span class="command"><strong><%if type == "sales_quotation"%></strong></span>, so könnte
|
||
er mit <span class="command"><strong><%end%></strong></span> genauso abgeschlossen werden
|
||
wie mit <span class="command"><strong><%end if%></strong></span> oder auch
|
||
<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%>
|
||
...
|
||
<%end%></pre><p>Eine normale "if-then"-Bedingung. Die Zeilen zwischen dem "if"
|
||
und dem "end" werden nur ausgegeben, wenn die Variable
|
||
<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