<code class="literal">JSON</code>
</p></li><li class="listitem"><p>
<code class="literal">List::MoreUtils</code>
- </p></li><li class="listitem">->
- <p>
+ </p></li><li class="listitem"><p>
<code class="literal">List::UtilsBy</code>
</p></li><li class="listitem"><p>
<code class="literal">Net::SMTP::SSL</code> (optional, bei
<code class="literal">Text::Iconv</code>
</p></li><li class="listitem"><p>
<code class="literal">URI</code>
- </p>->
- </li><li class="listitem"><p>
+ </p></li><li class="listitem"><p>
<code class="literal">XML::Writer</code>
</p></li><li class="listitem"><p>
<code class="literal">YAML</code>
sind auch in 2.6.1 weiterhin mit ausgeliefert, wurden in einer
zukünftigen Version aber aus dem Paket entfernt werden. Es wird
empfohlen diese Module zusammen mit den anderen als Bibliotheken zu
- installieren.</p><div class="sect3" title="2.2.2.1. Debian und Ubuntu"><div class="titlepage"><div><div><h4 class="title"><a name="d0e443"></a>2.2.2.1. Debian und Ubuntu</h4></div></div></div><p>Für Debian und Ubuntu stehen die meisten der benötigten
+ installieren.</p><div class="sect3" title="2.2.2.1. Debian und Ubuntu"><div class="titlepage"><div><div><h4 class="title"><a name="d0e440"></a>2.2.2.1. Debian und Ubuntu</h4></div></div></div><p>Für Debian und Ubuntu stehen die meisten der benötigten
Perl-Pakete als Debian-Pakete zur Verfügung. Sie können mit
folgendem Befehl installiert werden:</p><pre class="programlisting">apt-get install apache2 libarchive-zip-perl libclone-perl \
libconfig-std-perl libdatetime-perl libdbd-pg-perl libdbi-perl \
</pre><p>Für das Paket HTML::Restrict gibt es kein Debian-Paket, dies
muß per CPAN installiert werden. Unter Ubuntu funktioniert das
mit:</p><pre class="programlisting">apt-get install build-essential
-cpan HTML::Restrict</pre></div><div class="sect3" title="2.2.2.2. Fedora"><div class="titlepage"><div><div><h4 class="title"><a name="d0e454"></a>2.2.2.2. Fedora</h4></div></div></div><p>Für Fedora stehen die meisten der benötigten Perl-Pakete als
+cpan HTML::Restrict</pre></div><div class="sect3" title="2.2.2.2. Fedora"><div class="titlepage"><div><div><h4 class="title"><a name="d0e451"></a>2.2.2.2. Fedora</h4></div></div></div><p>Für Fedora stehen die meisten der benötigten Perl-Pakete als
RPM-Pakete zur Verfügung. Sie können mit folgendem Befehl
installiert werden:</p><pre class="programlisting">dnf install httpd mod_fcgid perl-Archive-Zip perl-Clone perl-DBD-Pg \
perl-DBI perl-DateTime perl-Email-Address perl-Email-MIME perl-FCGI \
perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI \
perl-XML-Writer perl-YAML perl-parent postgresql-server perl-CPAN \
perl-Algorithm-CheckDigits perl-GD perl-Class-XSAccessor perl-Text-Balanced</pre><p>Zusätzlich müssen einige Pakete aus dem CPAN installiert
- werden. Dazu können Sie die folgenden Befehle nutzen:</p><pre class="programlisting">cpan Config::Std HTML::Restrict</pre></div><div class="sect3" title="2.2.2.3. openSUSE"><div class="titlepage"><div><div><h4 class="title"><a name="d0e465"></a>2.2.2.3. openSUSE</h4></div></div></div><p>Für openSUSE stehen die meisten der benötigten Perl-Pakete als
+ werden. Dazu können Sie die folgenden Befehle nutzen:</p><pre class="programlisting">cpan Config::Std HTML::Restrict</pre></div><div class="sect3" title="2.2.2.3. openSUSE"><div class="titlepage"><div><div><h4 class="title"><a name="d0e462"></a>2.2.2.3. openSUSE</h4></div></div></div><p>Für openSUSE stehen die meisten der benötigten Perl-Pakete als
RPM-Pakete zur Verfügung. Sie können mit folgendem Befehl
installiert werden:</p><pre class="programlisting">zypper install apache2 apache2-mod_fcgid perl-Archive-Zip perl-Clone \
perl-Config-Std perl-DBD-Pg perl-DBI perl-DateTime perl-Email-Address \
[system]
default_manager = german</pre><p>Für kivitendo Installationen in der Schweiz sollte hier <code class="varname">german</code>
- durch <code class="varname">swiss</code> ersetzt werden.</p><p>Die Einstellung <code class="varname">default_manager = swiss</code> bewirkt:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Beim Erstellen einer neuen Datenbank in der kivitendo Administration
- werden automatisch die Standard-Werte für die Schweiz voreingestellt:
- Währung CHF, 5er-Rundung, Schweizer KMU-Kontenplan, Sollversteuerung,
+ durch <code class="varname">swiss</code> ersetzt werden.</p><p>Die Einstellung <code class="varname">default_manager = swiss</code> bewirkt:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Beim Erstellen einer neuen Datenbank in der kivitendo Administration
+ werden automatisch die Standard-Werte für die Schweiz voreingestellt:
+ Währung CHF, 5er-Rundung, Schweizer KMU-Kontenplan, Sollversteuerung,
Aufwandsmethode, Bilanzierung (die Werte können aber manuell angepasst werden).</p></li><li class="listitem"><p>Einstellen der Standardkonten für Rundungserträge und -aufwendungen
(unter Mandantenkonfiguration → Standardkonten veränderbar)</p></li><li class="listitem"><p>das verwendete Zahlenformat wird auf <code class="varname">1'000.00</code> eingestellt
- (unter Programm → Benutzereinstellungen veränderbar)</p></li><li class="listitem"><p>DATEV-Automatik und UStVA werden nicht angezeigt, Erfolgsrechnung
+ (unter Programm → Benutzereinstellungen veränderbar)</p></li><li class="listitem"><p>DATEV-Automatik und UStVA werden nicht angezeigt, Erfolgsrechnung
ersetzt GUV ( unter Mandantenkonfiguration → Features veränderbar)</p></li></ul></div><p>Nutzt man wiederkehrende Rechnungen, kann man unter
<code class="varname">[periodic_invoices]</code> den Login eines Benutzers
angeben, der nach Erstellung der Rechnungen eine entsprechende E-Mail
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>2.6. 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.4.1: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s05.html" title="2.5. Anpassung der PostgreSQL-Konfiguration"><link rel="next" href="ch02s07.html" title="2.7. 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.6. Webserver-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. Webserver-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Apache-Konfiguration"></a>2.6. Webserver-Konfiguration</h2></div></div></div><div class="sect2" title="2.6.1. Grundkonfiguration mittels CGI"><div class="titlepage"><div><div><h3 class="title"><a name="d0e869"></a>2.6.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
+ <title>2.6. 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.4.1: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s05.html" title="2.5. Anpassung der PostgreSQL-Konfiguration"><link rel="next" href="ch02s07.html" title="2.7. 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.6. Webserver-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. Webserver-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Apache-Konfiguration"></a>2.6. Webserver-Konfiguration</h2></div></div></div><div class="sect2" title="2.6.1. Grundkonfiguration mittels CGI"><div class="titlepage"><div><div><h3 class="title"><a name="d0e866"></a>2.6.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="ch02s06.html#Apache-Konfiguration.FCGI" title="2.6.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
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.6.3. Weitergehende Konfiguration"><div class="titlepage"><div><div><h3 class="title"><a name="d0e1014"></a>2.6.3. Weitergehende Konfiguration</h3></div></div></div><p>Für einen deutlichen Sicherheitsmehrwert sorgt die Ausführung
+ FastCGI-Version.</p></div></div><div class="sect2" title="2.6.3. Weitergehende Konfiguration"><div class="titlepage"><div><div><h3 class="title"><a name="d0e1011"></a>2.6.3. 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
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.7.3.1. SystemV-basierende Systeme (z.B. Debian, ältere OpenSUSE, ältere Fedora)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1083"></a>2.7.3.1. SystemV-basierende Systeme (z.B. Debian, ältere OpenSUSE,
+ anstelle eines symbolischen Links verwendet werden können.</p><div class="sect3" title="2.7.3.1. SystemV-basierende Systeme (z.B. Debian, ältere OpenSUSE, ältere Fedora)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1080"></a>2.7.3.1. SystemV-basierende Systeme (z.B. 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
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
# Nur bei Debian Squeeze und neuer:
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.7.3.2. Upstart-basierende Systeme (z.B. Ubuntu bis 14.04)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1112"></a>2.7.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.7.3.2. Upstart-basierende Systeme (z.B. Ubuntu bis 14.04)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1109"></a>2.7.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.7.3.3. systemd-basierende Systeme (z.B. neure OpenSUSE, neuere Fedora, neuere Ubuntu)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1130"></a>2.7.3.3. systemd-basierende Systeme (z.B. neure OpenSUSE, neuere
- Fedora, neuere Ubuntu)</h4></div></div></div><p>Verlinken 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
- kopierten Datei den Pfad zum Task-Server an (Zeile
- <code class="literal">ExecStart=....</code> und
- <code class="literal">ExecStop=...</code>). Binden Sie das Script in den
- Boot-Prozess ein.</p><p>Alle hierzu benötigten Befehle sehen so aus:</p><pre class="programlisting">cd /var/www/kivitendo-erp/scripts/boot/systemd
-ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/</pre><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet
- werden:</p><pre class="programlisting">systemctl start kivitendo-task-server.service</pre></div></div><div class="sect2" title="2.7.4. Wie der Task-Server gestartet und beendet wird"><div class="titlepage"><div><div><h3 class="title"><a name="Prozesskontrolle"></a>2.7.4. Wie der Task-Server gestartet und beendet wird</h3></div></div></div><p>Der Task-Server wird wie folgt kontrolliert:</p><pre class="programlisting">./scripts/task_server.pl Befehl</pre><p>
+ werden:</p><pre class="programlisting">service kivitendo-task-server start</pre></div><div class="sect3" title="2.7.3.3. systemd-basierende Systeme (z.B. neure openSUSE, neuere Fedora, neuere Ubuntu und Debians)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1127"></a>2.7.3.3. systemd-basierende Systeme (z.B. neure openSUSE, neuere
+ Fedora, neuere Ubuntu und 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 kopierten Datei den Pfad zum Task-Server an (Zeilen
+ <code class="literal">ExecStart=....</code> und <code class="literal">ExecStop=...</code>).</p><p>Machen Sie anschließend das Script systemd bekannt, und binden Sie es in den Boot-Prozess ein. Dazu führen Sie die folgenden
+ Befehl aus:</p><pre class="programlisting">systemctl daemon-reload
+systemctl enable kivitendo-task-server.service</pre><p>Wenn Sie den Task-Server jetzt sofort starten möchten, anstatt den Server neu zu starten, so können Sie das mit dem
+ folgenden Befehl tun:</p><pre class="programlisting">systemctl start kivitendo-task-server.service</pre></div></div><div class="sect2" title="2.7.4. Wie der Task-Server gestartet und beendet wird"><div class="titlepage"><div><div><h3 class="title"><a name="Prozesskontrolle"></a>2.7.4. Wie der Task-Server gestartet und beendet wird</h3></div></div></div><p>Der Task-Server wird wie folgt kontrolliert:</p><pre class="programlisting">./scripts/task_server.pl Befehl</pre><p>
<code class="literal">Befehl</code> ist dabei eine der folgenden
Optionen:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<code class="literal">start</code> startet eine neue Instanz des
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>Zur Zeit gibt es in kivitendo noch keine Möglichkeit,
- odt-Vorlagen bei Mahnungen, Briefen und Pflichtenheften einzusetzen.
+ odt-Vorlagen bei Mahnungen, 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.12.5. Allgemeine Hinweise zu LaTeX Vorlagen"><div class="titlepage"><div><div><h3 class="title"><a name="allgemeine-hinweise-zu-latex"></a>2.12.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
Dabei dürfen keine Anführungszeichen eingesetzt werden.</p><p>Beispiel für Debian oder Ubuntu:</p><pre class="programlisting">openofficeorg_writer = /usr/bin/libreoffice</pre><p>
<code class="literal">xvfb</code> muss den Pfad zum “X virtual frame buffer”
enthalten.</p><p>Zusätzlich gibt es zwei verschiedene Arten, wie kivitendo mit
- LibreOffice bzw. OpenOffice kommuniziert. Die erste Variante, die benutzt
- wird, wenn die Variable <code class="literal">$openofficeorg_daemon</code> gesetzt
- ist, startet ein LibreOffice oder OpenOffice, 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
- deutlich reduziert wird, weil nicht für jedes Dokument ein LibreOffice bzw.
- OpenOffice gestartet werden muss. Der Nachteil ist, dass diese Methode
- Python und die Python-UNO-Bindings benötigt, die Bestandteil von LibreOffice
- bzw. OpenOffice sind.</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>Für die Verbindung zu LibreOffice bzw. OpenOffice wird
+ LibreOffice bzw. OpenOffice kommuniziert. Die erste Variante, die benutzt
+ wird, wenn die Variable <code class="literal">$openofficeorg_daemon</code> gesetzt
+ ist, startet ein LibreOffice oder OpenOffice, 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
+ deutlich reduziert wird, weil nicht für jedes Dokument ein LibreOffice bzw.
+ OpenOffice gestartet werden muss. Der Nachteil ist, dass diese Methode
+ Python und die Python-UNO-Bindings benötigt, die Bestandteil von LibreOffice
+ bzw. OpenOffice sind.</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>Für die Verbindung zu LibreOffice bzw. OpenOffice wird
normalerweise der Python-Interpreter
<code class="filename">/usr/bin/python</code> benutzt.
Sollte dies nicht der richtige sein, so kann man mit zwei
festgelegt; sie steht standardmäßig auf dem eben erwähnten Wert
<code class="literal">/usr/bin/python</code>.</p><p>Zusätzlich ist es möglich, Pfade anzugeben, in denen Python
neben seinen normalen Suchpfaden ebenfalls nach Modulen gesucht wird,
- z.B. falls sich diese in einem gesonderten LibreOffice- bzw.
+ z.B. falls sich diese in einem gesonderten LibreOffice- bzw.
OpenOffice-Verzeichnis befinden. Diese zweite Variable heißt
<code class="literal">python_uno_path</code> und befindet sich im Abschnitt
<code class="literal">environment</code>. Sie ist standardmäßig leer. Werden
voneinander getrennt werden. Der Inhalt wird an den Python-Interpreter
über die Umgebungsvariable <code class="literal">PYTHONPATH</code>
übergeben.</p></td></tr></table></div><p>Ist <code class="literal">$openofficeorg_daemon</code> nicht gesetzt, so
- wird für jedes Dokument LibreOffice bzw. OpenOffice neu gestartet
- und die Konvertierung mit Hilfe eines Makros durchgeführt. Dieses
+ wird für jedes Dokument LibreOffice bzw. OpenOffice neu gestartet
+ und die Konvertierung mit Hilfe eines Makros durchgeführt. Dieses
Makro muss in der Dokumentenvorlage enthalten sein und
“Standard.Conversion.ConvertSelfToPDF()” heißen. Die Beispielvorlage
‘<code class="literal">templates/print/rev-odt/invoice.odt</code>’
enthält ein solches Makro, das in jeder anderen Dokumentenvorlage
ebenfalls enthalten sein muss.</p><p>Als letztes muss herausgefunden werden, welchen Namen
OpenOffice bzw. LibreOffice dem Verzeichnis mit den Benutzereinstellungen
- gibt. Unter Debian ist dies momentan
- <code class="literal">~/.config/libreoffice</code>. kivitendo verwendet das
+ gibt. Unter Debian ist dies momentan
+ <code class="literal">~/.config/libreoffice</code>. kivitendo verwendet das
Verzeichnis <code class="literal">users/.openoffice.org2</code>.
Eventuell muss dieses Verzeichnis umbenannt werden.</p><p>Dieses Verzeichnis, wie auch das komplette
<code class="literal">users</code>-Verzeichnis, muss vom Webserver beschreibbar
- sein. Dieses wurde bereits erledigt (siehe <a class="xref" href="ch02s03.html" title="2.3. Manuelle Installation des Programmpaketes">Manuelle Installation des Programmpaketes</a>), kann aber
- erneut überprüft werden, wenn die Konvertierung nach PDF
- fehlschlägt.</p><div class="sect2" title="2.13.1. OpenDocument (odt) Druckvorlagen mit Makros"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2161"></a>2.13.1. OpenDocument (odt) Druckvorlagen mit Makros</h3></div></div></div><p>OpenDocument Vorlagen können Makros enthalten, welche komplexere
+ sein. Dieses wurde bereits erledigt (siehe <a class="xref" href="ch02s03.html" title="2.3. Manuelle Installation des Programmpaketes">Manuelle Installation des Programmpaketes</a>), kann aber
+ erneut überprüft werden, wenn die Konvertierung nach PDF
+ fehlschlägt.</p><div class="sect2" title="2.13.1. OpenDocument (odt) Druckvorlagen mit Makros"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2158"></a>2.13.1. OpenDocument (odt) Druckvorlagen mit Makros</h3></div></div></div><p>OpenDocument Vorlagen können Makros enthalten, welche komplexere
Aufgaben erfüllen.</p><p>Der Vorlagensatz "rev-odt" enthält solche Vorlagen mit <span class="bold"><strong>Schweizer Bank-Einzahlungsscheinen (BESR)</strong></span>.
Diese Makros haben die Aufgabe, die in den Einzahlungsscheinen
benötigte Referenznummer und Kodierzeile zu erzeugen. Hier eine kurze
Beschreibung, wie die Makros aufgebaut sind, und was bei ihrer Nutzung
zu beachten ist (<span class="bold"><strong>in fett sind nötige einmalige
- Anpassungen aufgeführt</strong></span>):</p><div class="sect3" title="2.13.1.1. Bezeichnung der Vorlagen"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2174"></a>2.13.1.1. Bezeichnung der Vorlagen</h4></div></div></div><p>Rechnung: invoice_besr.odt, Auftrag:
- sales_order_besr.odt</p></div><div class="sect3" title="2.13.1.2. Vorbereitungen im Adminbereich"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2179"></a>2.13.1.2. Vorbereitungen im Adminbereich</h4></div></div></div><p>Damit beim Erstellen von Rechnungen und Aufträgen neben der
+ Anpassungen aufgeführt</strong></span>):</p><div class="sect3" title="2.13.1.1. Bezeichnung der Vorlagen"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2171"></a>2.13.1.1. Bezeichnung der Vorlagen</h4></div></div></div><p>Rechnung: invoice_besr.odt, Auftrag:
+ sales_order_besr.odt</p></div><div class="sect3" title="2.13.1.2. Vorbereitungen im Adminbereich"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2176"></a>2.13.1.2. Vorbereitungen im 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
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.13.1.3. Benutzereinstellungen"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2203"></a>2.13.1.3. Benutzereinstellungen</h4></div></div></div><p>Wer den Ausdruck mit Einzahlungsschein als Standardeinstellung
+ steht.)</p></li><li class="listitem"><p>speichern</p></li></ul></div></div><div class="sect3" title="2.13.1.3. Benutzereinstellungen"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2200"></a>2.13.1.3. 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.13.1.4. Aufbau und nötige Anpassungen der Vorlagen"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2227"></a>2.13.1.4. Aufbau und nötige Anpassungen der Vorlagen</h4></div></div></div><p>In der Vorlage sind als Modul "BESR" 4 Makros gespeichert, die
+ 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.13.1.4. Aufbau und nötige Anpassungen der Vorlagen"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2224"></a>2.13.1.4. Aufbau und nötige Anpassungen der Vorlagen</h4></div></div></div><p>In der Vorlage sind als Modul "BESR" 4 Makros gespeichert, die
aus dem von kivitendo erzeugten odt-Dokument die korrekte
Referenznummer inklusive Prüfziffer sowie die Kodierzeile in
OCRB-Schrift erzeugen und am richtigen Ort ins Dokument
angepasst werden.</strong></span> Dabei ist darauf zu achten, dass
sich die Positionen der Postkonto-Nummern der Bank, sowie der
Zeichenfolgen dddfr, DDDREF1, DDDREF2, 609, DDDKODIERZEILE nicht
- verschieben.</p></li></ul></div><div class="screenshot"><div class="mediaobject"><img src="images/Einzahlungsschein_Makro.png"></div></div></div><div class="sect3" title="2.13.1.5. Auswahl der Druckvorlage in kivitendo beim Erzeugen einer odt-Rechnung (analog bei Auftrag)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2291"></a>2.13.1.5. Auswahl der Druckvorlage in kivitendo beim Erzeugen einer
+ verschieben.</p></li></ul></div><div class="screenshot"><div class="mediaobject"><img src="images/Einzahlungsschein_Makro.png"></div></div></div><div class="sect3" title="2.13.1.5. Auswahl der Druckvorlage in kivitendo beim Erzeugen einer odt-Rechnung (analog bei Auftrag)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2288"></a>2.13.1.5. 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 class="sect3" title="2.13.1.6. Makroeinstellungen in LibreOffice anpassen"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2296"></a>2.13.1.6. Makroeinstellungen in LibreOffice anpassen</h4></div></div></div><p>Falls beim Öffnen einer von kivitendo erzeugten odt-Rechnung
+ wurde.</p></div><div class="sect3" title="2.13.1.6. Makroeinstellungen in LibreOffice anpassen"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2293"></a>2.13.1.6. Makroeinstellungen in LibreOffice anpassen</h4></div></div></div><p>Falls beim Öffnen einer von kivitendo erzeugten odt-Rechnung
die Meldung kommt, dass Makros aus Sicherheitsgründen nicht
ausgeführt werden, so müssen folgende Einstellungen in LibreOffice
angepasst werden:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Extras → Optionen → Sicherheit →
der Admininstration können diese Optionen nun unabhängig voneinander
eingestellt werden.</p><p>Für die Schweiz sind folgende Einstellungen üblich:
</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Sollversteuerung</p></li><li class="listitem"><p>Aufwandsmethode</p></li><li class="listitem"><p>Bilanzierung</p></li></ul></div><p>
- Diese Einstellungen werden automatisch beim Erstellen einer neuen
- Datenbank vorausgewählt, wenn in <code class="filename">config/kivitendo.conf</code> unter
+ Diese Einstellungen werden automatisch beim Erstellen einer neuen
+ Datenbank vorausgewählt, wenn in <code class="filename">config/kivitendo.conf</code> unter
<code class="varname">[system]</code>
- <code class="literal">default_manager = swiss</code> eingestellt ist.
+ <code class="literal">default_manager = swiss</code> eingestellt ist.
</p><p>Beim Upgrade bestehender Mandanten wird eur ausgelesen und die
Variablen werden so gesetzt, daß sich an der Funktionalität nichts
ändert.</p><p>Die aktuelle Konfiguration wird unter Nummernkreise und
den Optionen mit EB-Buchungen wird vorausgesetzt, daß diese immer am 1.
Tag des Wirtschaftsjahres gebucht werden. Zur Sicherheit wird das
Startdatum im Bilanzbericht jetzt zusätzlich zum Stichtag mit angezeigt.
- Das hilft auch bei der Kontrolle für den Abgleich mit der GuV bzw.
+ Das hilft auch bei der Kontrolle für den Abgleich mit der GuV bzw.
Erfolgsrechnung.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s15.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="ch02s17.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.15. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.17. Erfolgsrechnung</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>2.17. Erfolgsrechnung</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.4.1: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s16.html" title="2.16. Verhalten des Bilanzberichts"><link rel="next" href="ch02s18.html" title="2.18. Rundung in Verkaufsbelegen"></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.17. Erfolgsrechnung</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s16.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="ch02s18.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.17. Erfolgsrechnung"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.erfolgsrechnung"></a>2.17. Erfolgsrechnung</h2></div></div></div><p>Seit der Version 3.4.1 existiert in kivitendo der Bericht <span class="bold"><strong>
- Erfolgsrechnung</strong></span>.</p><p>Die Erfolgsrechnung kann in der Mandantenkonfiguration unter Features
+ Erfolgsrechnung</strong></span>.</p><p>Die Erfolgsrechnung kann in der Mandantenkonfiguration unter Features
an- oder abgeschaltet werden. Mit der Einstellung <code class="varname">default_manager = swiss
- </code> in der <code class="filename">config/kivitendo.conf</code> wird beim neu Erstellen
+ </code> in der <code class="filename">config/kivitendo.conf</code> wird beim neu Erstellen
einer Datenbank automatisch die Anzeige der Erfolgsrechnung im Menü <span class="guimenu">Berichte
- </span> ausgewählt und ersetzt dort die GUV.</p><p>Im Gegensatz zur GUV werden bei der Erfolgsrechnung sämtliche Aufwands- und
- Erlöskonten einzeln aufgelistet (analog zur Bilanz), sortiert nach ERTRAG und AUFWAND.</p><p>Bei den Konteneinstellungen muss bei jedem Konto, das in der Erfolgsrechnung
- erscheinen soll, unter <code class="varname">Sonstige Einstellungen/Erfolgsrechnung</code>
- entweder <code class="literal">01.Ertrag</code> oder <code class="literal">06.Aufwand</code> ausgewählt
- werden.</p><p>Wird bei einem Erlöskonto <code class="literal">06.Aufwand</code> ausgewählt,
- so wird dieses Konto als Aufwandsminderung unter AUFWAND aufgelistet.</p><p>Wird bei einem Aufwandskonto <code class="literal">01.Ertrag</code> ausgewählt,
- so wird dieses Konto als Ertragsminderung unter ERTRAG aufgelistet.</p><p>Soll bei einer bereits bestehenden Buchhaltung in Zukunft zusätzlich
- die Erfolgsrechnung als Bericht verwendet werden, so müssen die Einstellungen
- zu allen Erlös- und Aufwandskonten unter <code class="varname">Sonstige
+ </span> ausgewählt und ersetzt dort die GUV.</p><p>Im Gegensatz zur GUV werden bei der Erfolgsrechnung sämtliche Aufwands- und
+ Erlöskonten einzeln aufgelistet (analog zur Bilanz), sortiert nach ERTRAG und AUFWAND.</p><p>Bei den Konteneinstellungen muss bei jedem Konto, das in der Erfolgsrechnung
+ erscheinen soll, unter <code class="varname">Sonstige Einstellungen/Erfolgsrechnung</code>
+ entweder <code class="literal">01.Ertrag</code> oder <code class="literal">06.Aufwand</code> ausgewählt
+ werden.</p><p>Wird bei einem Erlöskonto <code class="literal">06.Aufwand</code> ausgewählt,
+ so wird dieses Konto als Aufwandsminderung unter AUFWAND aufgelistet.</p><p>Wird bei einem Aufwandskonto <code class="literal">01.Ertrag</code> ausgewählt,
+ so wird dieses Konto als Ertragsminderung unter ERTRAG aufgelistet.</p><p>Soll bei einer bereits bestehenden Buchhaltung in Zukunft zusätzlich
+ die Erfolgsrechnung als Bericht verwendet werden, so müssen die Einstellungen
+ zu allen Erlös- und Aufwandskonten unter <code class="varname">Sonstige
Einstellungen/Erfolgsrechnung</code> überprüft und allenfalls neu gesetzt werden.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s16.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="ch02s18.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.16. Verhalten des Bilanzberichts </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.18. Rundung in Verkaufsbelegen</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>2.18. Rundung in Verkaufsbelegen</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.4.1: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s17.html" title="2.17. Erfolgsrechnung"><link rel="next" href="ch02s19.html" title="2.19. Einstellungen pro Mandant"></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.18. Rundung in Verkaufsbelegen</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s17.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="ch02s19.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.18. Rundung in Verkaufsbelegen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.rounding"></a>2.18. Rundung in Verkaufsbelegen</h2></div></div></div><p>In der Schweiz hat die kleinste aktuell benutzte Münze den Wert von 5 Rappen (0.05 CHF).</p><p>Auch wenn im elektronischen Zahlungsverkehr Beträge mit einer Genauigkeit
- von 0.01 CHF verwendet werden können, ist es trotzdem nach wie vor üblich,
- Rechnungen mit auf 0.05 CHF gerundeten Beträgen auszustellen.</p><p>In kivitendo kann seit der Version 3.4.1 die Einstellung für eine solche
- Rundung pro Mandant / Datenbank festgelegt werden.</p><p>Die Einstellung wird beim Erstellen der Datenbank bei <code class="literal">Genauigkeit</code>
- festgelegt. Sie kann anschliessend über das Webinterface von kivitendo nicht mehr
- verändert werden.</p><p>Abhängig vom Wert für <code class="varname">default_manager</code> in
- <code class="filename">config/kivitendo.conf</code> werden dabei folgende
- Werte voreingestellt:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>0.05 (default_manager = swiss)</p></li><li class="listitem"><p>0.01 (default_manager = german)</p></li></ul></div><p>Der Wert wird in der Datenbank in der Tabelle <code class="varname">defaults
- </code>in der Spalte <code class="varname">precision</code> gespeichert.</p><p>In allen Verkaufsangeboten, Verkaufsaufträgen, Verkaufsrechnungen
- und Verkaufsgutschriften wird der Endbetrag inkl. MWST gerundet,
- wenn dieser nicht der eingestellten Genauigkeit entspricht.</p><p>Beim Buchen einer Verkaufsrechnung wird der Rundungsbetrag
- automatisch auf die in der Mandantenkonfiguration festgelegten
- Standardkonten für Rundungserträge bzw. Rundungsaufwendungen gebucht.</p><p>(Die berechnete MWST wird durch den Rundungsbetrag nicht mehr verändert.)</p><p>Die in den Druckvorlagen zur Verfügung stehenden Variablen
- <code class="varname">quototal</code>, <code class="varname">ordtotal</code> bzw.
+ <title>2.18. Rundung in Verkaufsbelegen</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.4.1: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s17.html" title="2.17. Erfolgsrechnung"><link rel="next" href="ch02s19.html" title="2.19. Einstellungen pro Mandant"></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.18. Rundung in Verkaufsbelegen</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s17.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="ch02s19.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.18. Rundung in Verkaufsbelegen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.rounding"></a>2.18. Rundung in Verkaufsbelegen</h2></div></div></div><p>In der Schweiz hat die kleinste aktuell benutzte Münze den Wert von 5 Rappen (0.05 CHF).</p><p>Auch wenn im elektronischen Zahlungsverkehr Beträge mit einer Genauigkeit
+ von 0.01 CHF verwendet werden können, ist es trotzdem nach wie vor üblich,
+ Rechnungen mit auf 0.05 CHF gerundeten Beträgen auszustellen.</p><p>In kivitendo kann seit der Version 3.4.1 die Einstellung für eine solche
+ Rundung pro Mandant / Datenbank festgelegt werden.</p><p>Die Einstellung wird beim Erstellen der Datenbank bei <code class="literal">Genauigkeit</code>
+ festgelegt. Sie kann anschliessend über das Webinterface von kivitendo nicht mehr
+ verändert werden.</p><p>Abhängig vom Wert für <code class="varname">default_manager</code> in
+ <code class="filename">config/kivitendo.conf</code> werden dabei folgende
+ Werte voreingestellt:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>0.05 (default_manager = swiss)</p></li><li class="listitem"><p>0.01 (default_manager = german)</p></li></ul></div><p>Der Wert wird in der Datenbank in der Tabelle <code class="varname">defaults
+ </code>in der Spalte <code class="varname">precision</code> gespeichert.</p><p>In allen Verkaufsangeboten, Verkaufsaufträgen, Verkaufsrechnungen
+ und Verkaufsgutschriften wird der Endbetrag inkl. MWST gerundet,
+ wenn dieser nicht der eingestellten Genauigkeit entspricht.</p><p>Beim Buchen einer Verkaufsrechnung wird der Rundungsbetrag
+ automatisch auf die in der Mandantenkonfiguration festgelegten
+ Standardkonten für Rundungserträge bzw. Rundungsaufwendungen gebucht.</p><p>(Die berechnete MWST wird durch den Rundungsbetrag nicht mehr verändert.)</p><p>Die in den Druckvorlagen zur Verfügung stehenden Variablen
+ <code class="varname">quototal</code>, <code class="varname">ordtotal</code> bzw.
<code class="varname">invtotal</code> enthalten den gerundeten Betrag.</p><p>
- <span class="bold"><strong>Achtung:</strong></span> Werden Verkaufsbelege
- in anderen Währungen als der Standardwährung erstellt, so muss in
- kivitendo 3.4.1 die Genauigkeit 0.01 verwendet werden.</p><p>Das heisst, Firmen in der Schweiz, die teilweise Verkaufsrechnungen
- in Euro oder anderen Währungen erstellen wollen, müssen beim Erstellen
- der Datenbank als Genauigkeit 0.01 wählen und können zur Zeit die
+ <span class="bold"><strong>Achtung:</strong></span> Werden Verkaufsbelege
+ in anderen Währungen als der Standardwährung erstellt, so muss in
+ kivitendo 3.4.1 die Genauigkeit 0.01 verwendet werden.</p><p>Das heisst, Firmen in der Schweiz, die teilweise Verkaufsrechnungen
+ in Euro oder anderen Währungen erstellen wollen, müssen beim Erstellen
+ der Datenbank als Genauigkeit 0.01 wählen und können zur Zeit die
5er Rundung noch nicht nutzen.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s17.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="ch02s19.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.17. Erfolgsrechnung </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.19. Einstellungen pro Mandant</td></tr></table></div></body></html>
\ No newline at end of file
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
+ (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
<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
+ </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">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="d0e5500"></a>3.3.10.1. Einführung</h4></div></div></div><p>Die Variablen in anderen Vorlagen sind ähnlich wie in der
+ </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="d0e5497"></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:
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>3.5. Mandantenkonfiguration Lager</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.4.1: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch03.html" title="Kapitel 3. Features und Funktionen"><link rel="prev" href="ch03s04.html" title="3.4. Excel-Vorlagen"><link rel="next" href="ch03s06.html" title="3.6. Schweizer Kontenpläne"></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.5. Mandantenkonfiguration Lager</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s04.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="ch03s06.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="3.5. Mandantenkonfiguration Lager"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="features.warehouse"></a>3.5. Mandantenkonfiguration Lager</h2></div></div></div>
-
- Die Lagerverwaltung in kivitendo funktioniert standardmässig wie folgt:
- Wird ein Lager mit einem Lagerplatz angelegt, so gibt es die Möglichkeit
- hier über den Menüpunkt Lager entsprechende Warenbewegungen durchzuführen.
- Ferner kann jede Position eines Lieferscheins ein-, bzw. ausgelagert werden
- (Einkauf-, bzw. Verkauf). Es können beliebig viele Lager mit beliebig vielen
- Lagerplätzen abgebildet werden. Die Lagerbewegungen über einen Lieferschein
- erfolgt durch Anklicken jeder Einzelposition und das Auswählen dieser Position
- zu einem Lager mit Lagerplatz. Dieses Verfahren lässt sich schrittweise
- vereinfachen, je nachdem wie die Einstellungen in der Mandatenkonfiguration
- gesetzt werden.
-
- <div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+ <title>3.5. Mandantenkonfiguration Lager</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.4.1: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch03.html" title="Kapitel 3. Features und Funktionen"><link rel="prev" href="ch03s04.html" title="3.4. Excel-Vorlagen"><link rel="next" href="ch03s06.html" title="3.6. Schweizer Kontenpläne"></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.5. Mandantenkonfiguration Lager</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s04.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="ch03s06.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="3.5. Mandantenkonfiguration Lager"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="features.warehouse"></a>3.5. Mandantenkonfiguration Lager</h2></div></div></div><p>
+ Die Lagerverwaltung in kivitendo funktioniert standardmässig wie folgt: Wird ein Lager mit einem Lagerplatz angelegt, so gibt es die
+ Möglichkeit hier über den Menüpunkt Lager entsprechende Warenbewegungen durchzuführen. Ferner kann jede Position eines Lieferscheins
+ ein-, bzw. ausgelagert werden (Einkauf-, bzw. Verkauf). Es können beliebig viele Lager mit beliebig vielen Lagerplätzen abgebildet
+ werden. Die Lagerbewegungen über einen Lieferschein erfolgt durch Anklicken jeder Einzelposition und das Auswählen dieser Position zu
+ einem Lager mit Lagerplatz. Dieses Verfahren lässt sich schrittweise vereinfachen, je nachdem wie die Einstellungen in der
+ Mandatenkonfiguration gesetzt werden.
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<code class="option">Auslagern über Standardlagerplatz</code> Hier wird
ein zusätzlicher Knopf (Auslagern über Standard-Lagerplatz) in dem
Lieferschein-Beleg hinzugefügt, der dann alle Lagerbewegungen über
Lagerbewegung nicht vorhanden ist, möchte man dies auch ignorieren
und ggf. dann nachpflegen, so kann man eine Negativ-Warenmenge mit
dieser Option erlauben. Hierfür muss ein entsprechender Lagerplatz
- (Fehlbestand, o.ä.) konfiguriert sein.</p></li></ul></div>
-
+ (Fehlbestand, o.ä.) konfiguriert sein.</p></li></ul></div><p>
Zusätzliche Funktionshinweise:
-
- <div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<code class="option">Standard-Lagerplatz</code> Ist dieser konfiguriert,
wird dies auch als Standard-Voreinstellung bei der Neuerfassung von
Stammdaten → Waren / Dienstleistung / Erzeugnis verwendet.</p></li><li class="listitem"><p>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>3.6. Schweizer Kontenpläne</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.4.1: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch03.html" title="Kapitel 3. Features und Funktionen"><link rel="prev" href="ch03s05.html" title="3.5. Mandantenkonfiguration Lager"><link rel="next" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"></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.6. Schweizer Kontenpläne</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s05.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="ch04.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="3.6. Schweizer Kontenpläne"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="features.swiss-charts-of-accounts"></a>3.6. Schweizer Kontenpläne</h2></div></div></div><p>Seit der Version 3.4.1 stehen in kivitendo 2 Kontenpläne für
- den Einsatz in der Schweiz zur Verfügung, einer für Firmen und
- Organisationen, die nicht mehrwertsteuerpflichtig sind, und einer
- für Firmen, die mehrwertsteuerpflichtig sind.</p><p>Die Kontenpläne orientieren sich am in der Schweiz üblicherweise
- verwendeten KMU-Kontenrahmen und sind mit der Revision des Schweizerischen
- Obligationenrechts (OR) vom 1.1.2013 kompatibel, insbesondere
- <code class="literal">Art.957a Abs.2</code>.</p><p>Die Möglichkeit, Saldosteuersätze zu verwenden ist in der aktuellen
- Version von kivitendo noch nicht integriert.</p><p>Trotzdem können auch Firmen, die per Saldosteuersatz mit der
- Eidgenössischen Steuerverwaltung abrechnen, kivitendo bereits nutzen.
- Dazu wird der Kontenplan mit MWST ausgewählt. Anschliessend müssen
- alle Aufwandskonten editiert werden und dort der Steuersatz auf 0%
- gesetzt werden.</p><p>So werden bei Kreditorenbuchungen keine Vorsteuern verbucht.</p><p>Wünsche für Anpassungen an den Schweizer Kontenplänen sowie
- Vorschläge für weitere (z.B. branchenspezifische) Kontenpläne
+ <title>3.6. Schweizer Kontenpläne</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.4.1: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch03.html" title="Kapitel 3. Features und Funktionen"><link rel="prev" href="ch03s05.html" title="3.5. Mandantenkonfiguration Lager"><link rel="next" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"></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.6. Schweizer Kontenpläne</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s05.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="ch04.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="3.6. Schweizer Kontenpläne"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="features.swiss-charts-of-accounts"></a>3.6. Schweizer Kontenpläne</h2></div></div></div><p>Seit der Version 3.4.1 stehen in kivitendo 2 Kontenpläne für
+ den Einsatz in der Schweiz zur Verfügung, einer für Firmen und
+ Organisationen, die nicht mehrwertsteuerpflichtig sind, und einer
+ für Firmen, die mehrwertsteuerpflichtig sind.</p><p>Die Kontenpläne orientieren sich am in der Schweiz üblicherweise
+ verwendeten KMU-Kontenrahmen und sind mit der Revision des Schweizerischen
+ Obligationenrechts (OR) vom 1.1.2013 kompatibel, insbesondere
+ <code class="literal">Art.957a Abs.2</code>.</p><p>Die Möglichkeit, Saldosteuersätze zu verwenden ist in der aktuellen
+ Version von kivitendo noch nicht integriert.</p><p>Trotzdem können auch Firmen, die per Saldosteuersatz mit der
+ Eidgenössischen Steuerverwaltung abrechnen, kivitendo bereits nutzen.
+ Dazu wird der Kontenplan mit MWST ausgewählt. Anschliessend müssen
+ alle Aufwandskonten editiert werden und dort der Steuersatz auf 0%
+ gesetzt werden.</p><p>So werden bei Kreditorenbuchungen keine Vorsteuern verbucht.</p><p>Wünsche für Anpassungen an den Schweizer Kontenplänen sowie
+ Vorschläge für weitere (z.B. branchenspezifische) Kontenpläne
bitte an <code class="literal">empfang@revamp-it.ch</code> senden.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03s05.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch03.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch04.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">3.5. Mandantenkonfiguration Lager </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> Kapitel 4. Entwicklerdokumentation</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>Kapitel 4. Entwicklerdokumentation</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.4.1: Installation, Konfiguration, Entwicklung"><link rel="up" href="index.html" title="kivitendo 3.4.1: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch03s06.html" title="3.6. Schweizer Kontenpläne"><link rel="next" href="ch04s02.html" title="4.2. Entwicklung unter FastCGI"></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">Kapitel 4. Entwicklerdokumentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s06.html">Zurück</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch04s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 4. Entwicklerdokumentation"><div class="titlepage"><div><div><h2 class="title"><a name="d0e6159"></a>Kapitel 4. Entwicklerdokumentation</h2></div></div></div><div class="sect1" title="4.1. Globale Variablen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="devel.globals"></a>4.1. Globale Variablen</h2></div></div></div><div class="sect2" title="4.1.1. Wie sehen globale Variablen in Perl aus?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6165"></a>4.1.1. Wie sehen globale Variablen in Perl aus?</h3></div></div></div><p>Globale Variablen liegen in einem speziellen namespace namens
+ <title>Kapitel 4. Entwicklerdokumentation</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.4.1: Installation, Konfiguration, Entwicklung"><link rel="up" href="index.html" title="kivitendo 3.4.1: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch03s06.html" title="3.6. Schweizer Kontenpläne"><link rel="next" href="ch04s02.html" title="4.2. Entwicklung unter FastCGI"></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">Kapitel 4. Entwicklerdokumentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s06.html">Zurück</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch04s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 4. Entwicklerdokumentation"><div class="titlepage"><div><div><h2 class="title"><a name="d0e6158"></a>Kapitel 4. Entwicklerdokumentation</h2></div></div></div><div class="sect1" title="4.1. Globale Variablen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="devel.globals"></a>4.1. Globale Variablen</h2></div></div></div><div class="sect2" title="4.1.1. Wie sehen globale Variablen in Perl aus?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6164"></a>4.1.1. Wie sehen globale Variablen in Perl aus?</h3></div></div></div><p>Globale Variablen liegen in einem speziellen namespace namens
"main", der von überall erreichbar ist. Darüber hinaus sind bareword
globs global und die meisten speziellen Variablen sind...
speziell.</p><p>Daraus ergeben sich folgende Formen:</p><div class="variablelist"><dl><dt><span class="term">
<code class="varname">$PACKAGE::form</code>.</p></dd><dt><span class="term">
<code class="literal">local $form</code>
</span></dt><dd><p>Alle Änderungen an <code class="varname">$form</code> werden am Ende
- des scopes zurückgesetzt</p></dd></dl></div></div><div class="sect2" title="4.1.2. Warum sind globale Variablen ein Problem?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6266"></a>4.1.2. Warum sind globale Variablen ein Problem?</h3></div></div></div><p>Das erste Problem ist <span class="productname">FCGI</span>™.</p><p>
+ des scopes zurückgesetzt</p></dd></dl></div></div><div class="sect2" title="4.1.2. Warum sind globale Variablen ein Problem?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6265"></a>4.1.2. Warum sind globale Variablen ein Problem?</h3></div></div></div><p>Das erste Problem ist <span class="productname">FCGI</span>™.</p><p>
<span class="productname">SQL-Ledger</span>™ hat fast alles im globalen
namespace abgelegt, und erwartet, dass es da auch wiederzufinden ist.
Unter <span class="productname">FCGI</span>™ müssen diese Sachen aber wieder
dies hat, seit der Einführung, u.a. schon so manche langwierige
Bug-Suche verkürzt. Da globale Variablen aber implizit mit Package
angegeben werden, werden die nicht geprüft, und somit kann sich
- schnell ein Tippfehler einschleichen.</p></div><div class="sect2" title="4.1.3. Kanonische globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6299"></a>4.1.3. Kanonische globale Variablen</h3></div></div></div><p>Um dieses Problem im Griff zu halten gibt es einige wenige
+ schnell ein Tippfehler einschleichen.</p></div><div class="sect2" title="4.1.3. Kanonische globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6298"></a>4.1.3. Kanonische globale Variablen</h3></div></div></div><p>Um dieses Problem im Griff zu halten gibt es einige wenige
globale Variablen, die kanonisch sind, d.h. sie haben bestimmte
vorgegebenen Eigenschaften, und alles andere sollte anderweitig
umhergereicht werden.</p><p>Diese Variablen sind im Moment die folgenden neun:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<code class="varname">$::request</code>
</p></li></ul></div><p>Damit diese nicht erneut als Müllhalde missbraucht werden, im
Folgenden eine kurze Erläuterung der bestimmten vorgegebenen
- Eigenschaften (Konventionen):</p><div class="sect3" title="4.1.3.1. $::form"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6363"></a>4.1.3.1. $::form</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Ist ein Objekt der Klasse
+ Eigenschaften (Konventionen):</p><div class="sect3" title="4.1.3.1. $::form"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6362"></a>4.1.3.1. $::form</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Ist ein Objekt der Klasse
"<code class="classname">Form</code>"</p></li><li class="listitem"><p>Wird nach jedem Request gelöscht</p></li><li class="listitem"><p>Muss auch in Tests und Konsolenscripts vorhanden
sein.</p></li><li class="listitem"><p>Enthält am Anfang eines Requests die Requestparameter vom
User</p></li><li class="listitem"><p>Kann zwar intern über Requestgrenzen ein Datenbankhandle
push @{ $form->{TEMPLATE_ARRAYS}{number} }, $form->{"partnumber_$i"};
push @{ $form->{TEMPLATE_ARRAYS}{description} }, $form->{"description_$i"};
# ...
-}</pre></div><div class="sect3" title="4.1.3.2. %::myconfig"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6447"></a>4.1.3.2. %::myconfig</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Das einzige Hash unter den globalen Variablen</p></li><li class="listitem"><p>Wird spätestens benötigt wenn auf die Datenbank
+}</pre></div><div class="sect3" title="4.1.3.2. %::myconfig"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6446"></a>4.1.3.2. %::myconfig</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Das einzige Hash unter den globalen Variablen</p></li><li class="listitem"><p>Wird spätestens benötigt wenn auf die Datenbank
zugegriffen wird</p></li><li class="listitem"><p>Wird bei jedem Request neu erstellt.</p></li><li class="listitem"><p>Enthält die Userdaten des aktuellen Logins</p></li><li class="listitem"><p>Sollte nicht ohne Filterung irgendwo gedumpt werden oder
extern serialisiert werden, weil da auch der Datenbankzugriff
für diesen user drinsteht.</p></li><li class="listitem"><p>Enthält unter anderem Listenbegrenzung vclimit,
überwiegend die Daten, die sich unter <span class="guimenu">Programm</span>
-> <span class="guimenuitem">Einstellungen</span> befinden, bzw. die
Informationen über den Benutzer die über die
- Administrator-Schnittstelle eingegeben wurden.</p></div><div class="sect3" title="4.1.3.3. $::locale"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6486"></a>4.1.3.3. $::locale</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "Locale"</p></li><li class="listitem"><p>Wird pro Request erstellt</p></li><li class="listitem"><p>Muss auch für Tests und Scripte immer verfügbar
+ Administrator-Schnittstelle eingegeben wurden.</p></div><div class="sect3" title="4.1.3.3. $::locale"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6485"></a>4.1.3.3. $::locale</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "Locale"</p></li><li class="listitem"><p>Wird pro Request erstellt</p></li><li class="listitem"><p>Muss auch für Tests und Scripte immer verfügbar
sein.</p></li><li class="listitem"><p>Cached intern über Requestgrenzen hinweg benutzte
Locales</p></li></ul></div><p>Lokalisierung für den aktuellen User. Alle Übersetzungen,
- Zahlen- und Datumsformatierungen laufen über dieses Objekt.</p></div><div class="sect3" title="4.1.3.4. $::lxdebug"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6504"></a>4.1.3.4. $::lxdebug</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "LXDebug"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Muss immer verfügbar sein, in nahezu allen
+ Zahlen- und Datumsformatierungen laufen über dieses Objekt.</p></div><div class="sect3" title="4.1.3.4. $::lxdebug"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6503"></a>4.1.3.4. $::lxdebug</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "LXDebug"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Muss immer verfügbar sein, in nahezu allen
Funktionen</p></li></ul></div><p>
<code class="varname">$::lxdebug</code> stellt Debuggingfunktionen
bereit, wie "<code class="function">enter_sub</code>" und
"<code class="function">message</code>" und "<code class="function">dump</code>" mit
denen man flott Informationen ins Log (tmp/kivitendo-debug.log)
packen kann.</p><p>Beispielsweise so:</p><pre class="programlisting">$main::lxdebug->message(0, 'Meine Konfig:' . Dumper (%::myconfig));
-$main::lxdebug->message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form->{vc});</pre></div><div class="sect3" title="4.1.3.5. $::auth"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6541"></a>4.1.3.5. $::auth</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "SL::Auth"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Hat eine permanente DB Verbindung zur Authdatenbank</p></li><li class="listitem"><p>Wird nach jedem Request resettet.</p></li></ul></div><p>
+$main::lxdebug->message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form->{vc});</pre></div><div class="sect3" title="4.1.3.5. $::auth"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6540"></a>4.1.3.5. $::auth</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "SL::Auth"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Hat eine permanente DB Verbindung zur Authdatenbank</p></li><li class="listitem"><p>Wird nach jedem Request resettet.</p></li></ul></div><p>
<code class="varname">$::auth</code> stellt Funktionen bereit um die
Rechte des aktuellen Users abzufragen. Obwohl diese Informationen
vom aktuellen User abhängen wird das Objekt aus
Dessen Einstellungen können über
<code class="literal">$::auth->client</code> abgefragt werden; Rückgabewert
ist ein Hash mit den Werten aus der Tabelle
- <code class="literal">auth.clients</code>.</p></div><div class="sect3" title="4.1.3.6. $::lx_office_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6570"></a>4.1.3.6. $::lx_office_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
+ <code class="literal">auth.clients</code>.</p></div><div class="sect3" title="4.1.3.6. $::lx_office_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6569"></a>4.1.3.6. $::lx_office_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
"<code class="classname">SL::LxOfficeConf</code>"</p></li><li class="listitem"><p>Global gecached</p></li><li class="listitem"><p>Repräsentation der
<code class="filename">config/kivitendo.conf[.default]</code>-Dateien</p></li></ul></div><p>Globale Konfiguration. Configdateien werden zum Start gelesen
und danach nicht mehr angefasst. Es ist derzeit nicht geplant, dass
file_name = /tmp/kivitendo-debug.log</pre><p>ist der Key <code class="varname">file</code> im Programm als
<code class="varname">$::lx_office_conf->{debug}{file}</code>
erreichbar.</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>Zugriff auf die Konfiguration erfolgt im Moment über
- Hashkeys, sind also nicht gegen Tippfehler abgesichert.</p></td></tr></table></div></div><div class="sect3" title="4.1.3.7. $::instance_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6606"></a>4.1.3.7. $::instance_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
+ Hashkeys, sind also nicht gegen Tippfehler abgesichert.</p></td></tr></table></div></div><div class="sect3" title="4.1.3.7. $::instance_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6605"></a>4.1.3.7. $::instance_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
"<code class="classname">SL::InstanceConfiguration</code>"</p></li><li class="listitem"><p>wird pro Request neu erstellt</p></li></ul></div><p>Funktioniert wie <code class="varname">$::lx_office_conf</code>,
speichert aber Daten die von der Instanz abhängig sind. Eine Instanz
ist hier eine Mandantendatenbank. Beispielsweise überprüft
</p><pre class="programlisting">$::instance_conf->get_inventory_system eq 'perpetual'</pre><p>
- ob die berüchtigte Bestandsmethode zur Anwendung kommt.</p></div><div class="sect3" title="4.1.3.8. $::dispatcher"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6627"></a>4.1.3.8. $::dispatcher</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
+ ob die berüchtigte Bestandsmethode zur Anwendung kommt.</p></div><div class="sect3" title="4.1.3.8. $::dispatcher"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6626"></a>4.1.3.8. $::dispatcher</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
"<code class="varname">SL::Dispatcher</code>"</p></li><li class="listitem"><p>wird pro Serverprozess erstellt.</p></li><li class="listitem"><p>enthält Informationen über die technische Verbindung zum
Server</p></li></ul></div><p>Der dritte Punkt ist auch der einzige Grund warum das Objekt
global gespeichert wird. Wird vermutlich irgendwann in einem anderen
- Objekt untergebracht.</p></div><div class="sect3" title="4.1.3.9. $::request"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6645"></a>4.1.3.9. $::request</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Hashref (evtl später Objekt)</p></li><li class="listitem"><p>Wird pro Request neu initialisiert.</p></li><li class="listitem"><p>Keine Unterstruktur garantiert.</p></li></ul></div><p>
+ Objekt untergebracht.</p></div><div class="sect3" title="4.1.3.9. $::request"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6644"></a>4.1.3.9. $::request</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Hashref (evtl später Objekt)</p></li><li class="listitem"><p>Wird pro Request neu initialisiert.</p></li><li class="listitem"><p>Keine Unterstruktur garantiert.</p></li></ul></div><p>
<code class="varname">$::request</code> ist ein generischer Platz um
Daten "für den aktuellen Request" abzulegen. Sollte nicht für action
at a distance benutzt werden, sondern um lokales memoizing zu
<code class="varname">$::request</code>
</p></li><li class="listitem"><p>Muss ich von anderen Teilen des Programms lesend drauf
zugreifen? Dann <code class="varname">$::request</code>, aber Zugriff über
- Wrappermethode</p></li></ul></div></div></div><div class="sect2" title="4.1.4. Ehemalige globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6687"></a>4.1.4. Ehemalige globale Variablen</h3></div></div></div><p>Die folgenden Variablen waren einmal im Programm, und wurden
- entfernt.</p><div class="sect3" title="4.1.4.1. $::cgi"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6692"></a>4.1.4.1. $::cgi</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil cookie Methoden nicht als
+ Wrappermethode</p></li></ul></div></div></div><div class="sect2" title="4.1.4. Ehemalige globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6686"></a>4.1.4. Ehemalige globale Variablen</h3></div></div></div><p>Die folgenden Variablen waren einmal im Programm, und wurden
+ entfernt.</p><div class="sect3" title="4.1.4.1. $::cgi"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6691"></a>4.1.4.1. $::cgi</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil cookie Methoden nicht als
Klassenfunktionen funktionieren</p></li><li class="listitem"><p>Aufruf als Klasse erzeugt Dummyobjekt was im
Klassennamespace gehalten wird und über Requestgrenzen
leaked</p></li><li class="listitem"><p>liegt jetzt unter
<code class="varname">$::request->{cgi}</code>
- </p></li></ul></div></div><div class="sect3" title="4.1.4.2. $::all_units"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6708"></a>4.1.4.2. $::all_units</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil einige Funktionen in Schleifen zum Teil
+ </p></li></ul></div></div><div class="sect3" title="4.1.4.2. $::all_units"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6707"></a>4.1.4.2. $::all_units</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil einige Funktionen in Schleifen zum Teil
ein paar hundert mal pro Request eine Liste der Einheiten
brauchen, und de als Parameter durch einen Riesenstack von
Funktionen geschleift werden müssten.</p></li><li class="listitem"><p>Liegt jetzt unter
<code class="varname">$::request->{cache}{all_units}</code>
</p></li><li class="listitem"><p>Wird nur in
<code class="function">AM->retrieve_all_units()</code> gesetzt oder
- gelesen.</p></li></ul></div></div><div class="sect3" title="4.1.4.3. %::called_subs"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6727"></a>4.1.4.3. %::called_subs</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>wurde benutzt um callsub deep recursions
+ gelesen.</p></li></ul></div></div><div class="sect3" title="4.1.4.3. %::called_subs"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6726"></a>4.1.4.3. %::called_subs</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>wurde benutzt um callsub deep recursions
abzufangen.</p></li><li class="listitem"><p>Wurde entfernt, weil callsub nur einen Bruchteil der
möglichen Rekursioenen darstellt, und da nie welche
auftreten.</p></li><li class="listitem"><p>komplette recursion protection wurde entfernt.</p></li></ul></div></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03s06.html">Zurück</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch04s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">3.6. Schweizer Kontenpläne </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 4.2. Entwicklung unter FastCGI</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>kivitendo 3.4.1: Installation, Konfiguration, Entwicklung</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.4.1: Installation, Konfiguration, Entwicklung"><link rel="next" href="ch01.html" title="Kapitel 1. Aktuelle Hinweise"></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">kivitendo 3.4.1: Installation, Konfiguration, Entwicklung</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01.html">Weiter</a></td></tr></table><hr></div><div lang="de" class="book" title="kivitendo 3.4.1: Installation, Konfiguration, Entwicklung"><div class="titlepage"><div><div><h1 class="title"><a name="kivitendo-documentation"></a>kivitendo 3.4.1: Installation, Konfiguration, Entwicklung</h1></div></div><hr></div><div class="toc"><p><b>Inhaltsverzeichnis</b></p><dl><dt><span class="chapter"><a href="ch01.html">1. Aktuelle Hinweise</a></span></dt><dt><span class="chapter"><a href="ch02.html">2. Installation und Grundkonfiguration</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch02.html#Installation-%C3%9Cbersicht">2.1. Übersicht</a></span></dt><dt><span class="sect1"><a href="ch02s02.html">2.2. Benötigte Software und Pakete</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s02.html#Betriebssystem">2.2.1. Betriebssystem</a></span></dt><dt><span class="sect2"><a href="ch02s02.html#Pakete">2.2.2. Benötigte Perl-Pakete installieren</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s03.html">2.3. Manuelle Installation des Programmpaketes</a></span></dt><dt><span class="sect1"><a href="ch02s04.html">2.4. kivitendo-Konfigurationsdatei</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s04.html#config.config-file.introduction">2.4.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#config.config-file.sections-parameters">2.4.2. Abschnitte und Parameter</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#config.config-file.prior-versions">2.4.3. Versionen vor 2.6.3</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s05.html">2.5. Anpassung der PostgreSQL-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s05.html#Zeichens%C3%A4tze-die-Verwendung-von-UTF-8">2.5.1. Zeichensätze/die Verwendung von Unicode/UTF-8</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#%C3%84nderungen-an-Konfigurationsdateien">2.5.2. Änderungen an Konfigurationsdateien</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#Erweiterung-f%C3%BCr-servergespeicherte-Prozeduren">2.5.3. Erweiterung für servergespeicherte Prozeduren</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#Datenbankbenutzer-anlegen">2.5.4. Datenbankbenutzer anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s06.html">2.6. Webserver-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s06.html#d0e869">2.6.1. Grundkonfiguration mittels CGI</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#Apache-Konfiguration.FCGI">2.6.2. Konfiguration für FastCGI/FCGI</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#d0e1014">2.6.3. Weitergehende Konfiguration</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s07.html">2.7. Der Task-Server</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s07.html#Konfiguration-des-Task-Servers">2.7.1. Verfügbare und notwendige Konfigurationsoptionen</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Konfiguration-der-Mandanten-fuer-den-Task-Servers">2.7.2. Konfiguration der Mandanten für den Task-Server</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Einbinden-in-den-Boot-Prozess">2.7.3. Automatisches Starten des Task-Servers beim Booten</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Prozesskontrolle">2.7.4. Wie der Task-Server gestartet und beendet wird</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s08.html">2.8. Benutzerauthentifizierung und Administratorpasswort</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s08.html#Grundlagen-zur-Benutzerauthentifizierung">2.8.1. Grundlagen zur Benutzerauthentifizierung</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Administratorpasswort">2.8.2. Administratorpasswort</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Authentifizierungsdatenbank">2.8.3. Authentifizierungsdatenbank</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Passwort%C3%BCberpr%C3%BCfung">2.8.4. Passwortüberprüfung</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Name-des-Session-Cookies">2.8.5. Name des Session-Cookies</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Anlegen-der-Authentifizierungsdatenbank">2.8.6. Anlegen der Authentifizierungsdatenbank</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s09.html">2.9. Mandanten-, Benutzer- und Gruppenverwaltung</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s09.html#Zusammenh%C3%A4nge">2.9.1. Zusammenhänge</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Mandanten-Benutzer-Gruppen">2.9.2. Mandanten, Benutzer und Gruppen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Datenbanken-anlegen">2.9.3. Datenbanken anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Gruppen-anlegen">2.9.4. Gruppen anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Benutzer-anlegen">2.9.5. Benutzer anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Mandanten-anlegen">2.9.6. Mandanten anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s10.html">2.10. Drucker- und Systemverwaltung</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s10.html#Druckeradministration">2.10.1. Druckeradministration</a></span></dt><dt><span class="sect2"><a href="ch02s10.html#System">2.10.2. System sperren / entsperren</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s11.html">2.11. E-Mail-Versand aus kivitendo heraus</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s11.html#config.sending-email.sendmail">2.11.1. Versand über lokalen E-Mail-Server</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#config.sending-email.smtp">2.11.2. Versand über einen SMTP-Server</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s12.html">2.12. Drucken mit kivitendo</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s12.html#Vorlagenverzeichnis-anlegen">2.12.1. Vorlagenverzeichnis anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#Vorlagen-RB">2.12.2. Der Druckvorlagensatz RB</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#f-tex">2.12.3. f-tex</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#Vorlagen-rev-odt">2.12.4. Der Druckvorlagensatz rev-odt</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#allgemeine-hinweise-zu-latex">2.12.5. Allgemeine Hinweise zu LaTeX Vorlagen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s13.html">2.13. OpenDocument-Vorlagen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s13.html#d0e2161">2.13.1. OpenDocument (odt) Druckvorlagen mit Makros</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s14.html">2.14. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
+ <title>kivitendo 3.4.1: Installation, Konfiguration, Entwicklung</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.4.1: Installation, Konfiguration, Entwicklung"><link rel="next" href="ch01.html" title="Kapitel 1. Aktuelle Hinweise"></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">kivitendo 3.4.1: Installation, Konfiguration, Entwicklung</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01.html">Weiter</a></td></tr></table><hr></div><div lang="de" class="book" title="kivitendo 3.4.1: Installation, Konfiguration, Entwicklung"><div class="titlepage"><div><div><h1 class="title"><a name="kivitendo-documentation"></a>kivitendo 3.4.1: Installation, Konfiguration, Entwicklung</h1></div></div><hr></div><div class="toc"><p><b>Inhaltsverzeichnis</b></p><dl><dt><span class="chapter"><a href="ch01.html">1. Aktuelle Hinweise</a></span></dt><dt><span class="chapter"><a href="ch02.html">2. Installation und Grundkonfiguration</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch02.html#Installation-%C3%9Cbersicht">2.1. Übersicht</a></span></dt><dt><span class="sect1"><a href="ch02s02.html">2.2. Benötigte Software und Pakete</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s02.html#Betriebssystem">2.2.1. Betriebssystem</a></span></dt><dt><span class="sect2"><a href="ch02s02.html#Pakete">2.2.2. Benötigte Perl-Pakete installieren</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s03.html">2.3. Manuelle Installation des Programmpaketes</a></span></dt><dt><span class="sect1"><a href="ch02s04.html">2.4. kivitendo-Konfigurationsdatei</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s04.html#config.config-file.introduction">2.4.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#config.config-file.sections-parameters">2.4.2. Abschnitte und Parameter</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#config.config-file.prior-versions">2.4.3. Versionen vor 2.6.3</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s05.html">2.5. Anpassung der PostgreSQL-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s05.html#Zeichens%C3%A4tze-die-Verwendung-von-UTF-8">2.5.1. Zeichensätze/die Verwendung von Unicode/UTF-8</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#%C3%84nderungen-an-Konfigurationsdateien">2.5.2. Änderungen an Konfigurationsdateien</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#Erweiterung-f%C3%BCr-servergespeicherte-Prozeduren">2.5.3. Erweiterung für servergespeicherte Prozeduren</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#Datenbankbenutzer-anlegen">2.5.4. Datenbankbenutzer anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s06.html">2.6. Webserver-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s06.html#d0e866">2.6.1. Grundkonfiguration mittels CGI</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#Apache-Konfiguration.FCGI">2.6.2. Konfiguration für FastCGI/FCGI</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#d0e1011">2.6.3. Weitergehende Konfiguration</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s07.html">2.7. Der Task-Server</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s07.html#Konfiguration-des-Task-Servers">2.7.1. Verfügbare und notwendige Konfigurationsoptionen</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Konfiguration-der-Mandanten-fuer-den-Task-Servers">2.7.2. Konfiguration der Mandanten für den Task-Server</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Einbinden-in-den-Boot-Prozess">2.7.3. Automatisches Starten des Task-Servers beim Booten</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Prozesskontrolle">2.7.4. Wie der Task-Server gestartet und beendet wird</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s08.html">2.8. Benutzerauthentifizierung und Administratorpasswort</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s08.html#Grundlagen-zur-Benutzerauthentifizierung">2.8.1. Grundlagen zur Benutzerauthentifizierung</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Administratorpasswort">2.8.2. Administratorpasswort</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Authentifizierungsdatenbank">2.8.3. Authentifizierungsdatenbank</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Passwort%C3%BCberpr%C3%BCfung">2.8.4. Passwortüberprüfung</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Name-des-Session-Cookies">2.8.5. Name des Session-Cookies</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Anlegen-der-Authentifizierungsdatenbank">2.8.6. Anlegen der Authentifizierungsdatenbank</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s09.html">2.9. Mandanten-, Benutzer- und Gruppenverwaltung</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s09.html#Zusammenh%C3%A4nge">2.9.1. Zusammenhänge</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Mandanten-Benutzer-Gruppen">2.9.2. Mandanten, Benutzer und Gruppen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Datenbanken-anlegen">2.9.3. Datenbanken anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Gruppen-anlegen">2.9.4. Gruppen anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Benutzer-anlegen">2.9.5. Benutzer anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Mandanten-anlegen">2.9.6. Mandanten anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s10.html">2.10. Drucker- und Systemverwaltung</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s10.html#Druckeradministration">2.10.1. Druckeradministration</a></span></dt><dt><span class="sect2"><a href="ch02s10.html#System">2.10.2. System sperren / entsperren</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s11.html">2.11. E-Mail-Versand aus kivitendo heraus</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s11.html#config.sending-email.sendmail">2.11.1. Versand über lokalen E-Mail-Server</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#config.sending-email.smtp">2.11.2. Versand über einen SMTP-Server</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s12.html">2.12. Drucken mit kivitendo</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s12.html#Vorlagenverzeichnis-anlegen">2.12.1. Vorlagenverzeichnis anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#Vorlagen-RB">2.12.2. Der Druckvorlagensatz RB</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#f-tex">2.12.3. f-tex</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#Vorlagen-rev-odt">2.12.4. Der Druckvorlagensatz rev-odt</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#allgemeine-hinweise-zu-latex">2.12.5. Allgemeine Hinweise zu LaTeX Vorlagen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s13.html">2.13. OpenDocument-Vorlagen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s13.html#d0e2158">2.13.1. OpenDocument (odt) Druckvorlagen mit Makros</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s14.html">2.14. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
EUR</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s14.html#config.eur.introduction">2.14.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s14.html#config.eur.parameters">2.14.2. Konfigurationsparameter</a></span></dt><dt><span class="sect2"><a href="ch02s14.html#config.eur.setting-parameters">2.14.3. Festlegen der Parameter</a></span></dt><dt><span class="sect2"><a href="ch02s14.html#config.eur.inventory-system-perpetual">2.14.4. Bemerkungen zur Bestandsmethode</a></span></dt><dt><span class="sect2"><a href="ch02s14.html#config.eur.knonw-issues">2.14.5. Bekannte Probleme</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s15.html">2.15. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s15.html#config.skr04-update-3804.introduction">2.15.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s15.html#config.skr04-update-3804.create-chart">2.15.2. Konto 3804 manuell anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s16.html">2.16. Verhalten des Bilanzberichts</a></span></dt><dt><span class="sect1"><a href="ch02s17.html">2.17. Erfolgsrechnung</a></span></dt><dt><span class="sect1"><a href="ch02s18.html">2.18. Rundung in Verkaufsbelegen</a></span></dt><dt><span class="sect1"><a href="ch02s19.html">2.19. Einstellungen pro Mandant</a></span></dt><dt><span class="sect1"><a href="ch02s20.html">2.20. kivitendo ERP verwenden</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch03.html">3. Features und Funktionen</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch03.html#features.periodic-invoices">3.1. Wiederkehrende Rechnungen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.introduction">3.1.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.configuration">3.1.2. Konfiguration</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.variables">3.1.3. Spezielle Variablen</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.reports">3.1.4. Auflisten</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.task-server">3.1.5. Erzeugung der eigentlichen Rechnungen</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.create-for-current-month">3.1.6. Erste Rechnung für aktuellen Monat erstellen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s02.html">3.2. Bankerweiterung</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s02.html#features.bank.introduction">3.2.1. Einführung</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s03.html">3.3. Dokumentenvorlagen und verfügbare Variablen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.einf%C3%BChrung">3.3.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.variablen-ausgeben">3.3.2. Variablen ausgeben</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.verwendung-in-druckbefehlen">3.3.3. Verwendung in Druckbefehlen</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.tag-style">3.3.4. Anfang und Ende der Tags verändern</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.zuordnung-dateinamen">3.3.5. Zuordnung von den Dateinamen zu den Funktionen</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.dateinamen-erweitert">3.3.6. Sprache, Drucker und E-Mail</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.allgemeine-variablen">3.3.7. Allgemeine Variablen, die in allen Vorlagen vorhanden
sind</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.invoice">3.3.8. Variablen in Rechnungen</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.dunning">3.3.9. Variablen in Mahnungen und Rechnungen über Mahngebühren</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.andere-vorlagen">3.3.10. Variablen in anderen Vorlagen</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.bloecke">3.3.11. Blöcke, bedingte Anweisungen und Schleifen</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.markup">3.3.12. Markup-Code zur Textformatierung innerhalb von
- Formularen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s04.html">3.4. Excel-Vorlagen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s04.html#excel-templates.summary">3.4.1. Zusammenfassung</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#excel-templates.usage">3.4.2. Bedienung</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#excel-templates.syntax">3.4.3. Variablensyntax</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#excel-templates.limitations">3.4.4. Einschränkungen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s05.html">3.5. Mandantenkonfiguration Lager</a></span></dt><dt><span class="sect1"><a href="ch03s06.html">3.6. Schweizer Kontenpläne</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Entwicklerdokumentation</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch04.html#devel.globals">4.1. Globale Variablen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04.html#d0e6165">4.1.1. Wie sehen globale Variablen in Perl aus?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e6266">4.1.2. Warum sind globale Variablen ein Problem?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e6299">4.1.3. Kanonische globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e6687">4.1.4. Ehemalige globale Variablen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s02.html">4.2. Entwicklung unter FastCGI</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.general">4.2.1. Allgemeines</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.exiting">4.2.2. Programmende und Ausnahmen</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.globals">4.2.3. Globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.performance">4.2.4. Performance und Statistiken</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s03.html">4.3. SQL-Upgradedateien</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.introduction">4.3.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.format">4.3.2. Format der Kontrollinformationen</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.format-perl-files">4.3.3. Format von in Perl geschriebenen
+ Formularen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s04.html">3.4. Excel-Vorlagen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s04.html#excel-templates.summary">3.4.1. Zusammenfassung</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#excel-templates.usage">3.4.2. Bedienung</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#excel-templates.syntax">3.4.3. Variablensyntax</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#excel-templates.limitations">3.4.4. Einschränkungen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s05.html">3.5. Mandantenkonfiguration Lager</a></span></dt><dt><span class="sect1"><a href="ch03s06.html">3.6. Schweizer Kontenpläne</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Entwicklerdokumentation</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch04.html#devel.globals">4.1. Globale Variablen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04.html#d0e6164">4.1.1. Wie sehen globale Variablen in Perl aus?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e6265">4.1.2. Warum sind globale Variablen ein Problem?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e6298">4.1.3. Kanonische globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e6686">4.1.4. Ehemalige globale Variablen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s02.html">4.2. Entwicklung unter FastCGI</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.general">4.2.1. Allgemeines</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.exiting">4.2.2. Programmende und Ausnahmen</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.globals">4.2.3. Globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.performance">4.2.4. Performance und Statistiken</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s03.html">4.3. SQL-Upgradedateien</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.introduction">4.3.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.format">4.3.2. Format der Kontrollinformationen</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.format-perl-files">4.3.3. Format von in Perl geschriebenen
Datenbankupgradescripten</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.dbupgrade-tool">4.3.4. Hilfsscript dbupgrade2_tool.pl</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s04.html">4.4. Translations and languages</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s04.html#translations-languages.introduction">4.4.1. Introduction</a></span></dt><dt><span class="sect2"><a href="ch04s04.html#translations-languages.character-set">4.4.2. Character set</a></span></dt><dt><span class="sect2"><a href="ch04s04.html#translations-languages.file-structure">4.4.3. File structure</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s05.html">4.5. Die kivitendo-Test-Suite</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.intro">4.5.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.prerequisites">4.5.2. Voraussetzungen</a></span></dt><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.execution">4.5.3. Existierende Tests ausführen</a></span></dt><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.meaning_of_scripts">4.5.4. Bedeutung der verschiedenen Test-Scripte</a></span></dt><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.create_new">4.5.5. Neue Test-Scripte erstellen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s06.html">4.6. Stil-Richtlinien</a></span></dt><dt><span class="sect1"><a href="ch04s07.html">4.7. Dokumentation erstellen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s07.html#devel.build-doc.introduction">4.7.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s07.html#devel.build-doc.required-software">4.7.2. Benötigte Software</a></span></dt><dt><span class="sect2"><a href="ch04s07.html#devel.build-doc.build">4.7.3. PDFs und HTML-Seiten erstellen</a></span></dt><dt><span class="sect2"><a href="ch04s07.html#devel.build-doc.repository">4.7.4. Einchecken in das Git-Repository</a></span></dt></dl></dd></dl></dd></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Kapitel 1. Aktuelle Hinweise</td></tr></table></div></body></html>
\ No newline at end of file