Revision e449cab2
Von Moritz Bunkus vor mehr als 8 Jahren hinzugefügt
doc/html/ch02s02.html | ||
---|---|---|
52 | 52 |
<code class="literal">JSON</code> |
53 | 53 |
</p></li><li class="listitem"><p> |
54 | 54 |
<code class="literal">List::MoreUtils</code> |
55 |
</p></li><li class="listitem">-> |
|
56 |
<p> |
|
55 |
</p></li><li class="listitem"><p> |
|
57 | 56 |
<code class="literal">List::UtilsBy</code> |
58 | 57 |
</p></li><li class="listitem"><p> |
59 | 58 |
<code class="literal">Net::SMTP::SSL</code> (optional, bei |
... | ... | |
83 | 82 |
<code class="literal">Text::Iconv</code> |
84 | 83 |
</p></li><li class="listitem"><p> |
85 | 84 |
<code class="literal">URI</code> |
86 |
</p>-> |
|
87 |
</li><li class="listitem"><p> |
|
85 |
</p></li><li class="listitem"><p> |
|
88 | 86 |
<code class="literal">XML::Writer</code> |
89 | 87 |
</p></li><li class="listitem"><p> |
90 | 88 |
<code class="literal">YAML</code> |
... | ... | |
111 | 109 |
sind auch in 2.6.1 weiterhin mit ausgeliefert, wurden in einer |
112 | 110 |
zukünftigen Version aber aus dem Paket entfernt werden. Es wird |
113 | 111 |
empfohlen diese Module zusammen mit den anderen als Bibliotheken zu |
114 |
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
|
|
112 |
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
|
|
115 | 113 |
Perl-Pakete als Debian-Pakete zur Verfügung. Sie können mit |
116 | 114 |
folgendem Befehl installiert werden:</p><pre class="programlisting">apt-get install apache2 libarchive-zip-perl libclone-perl \ |
117 | 115 |
libconfig-std-perl libdatetime-perl libdbd-pg-perl libdbi-perl \ |
... | ... | |
127 | 125 |
</pre><p>Für das Paket HTML::Restrict gibt es kein Debian-Paket, dies |
128 | 126 |
muß per CPAN installiert werden. Unter Ubuntu funktioniert das |
129 | 127 |
mit:</p><pre class="programlisting">apt-get install build-essential |
130 |
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
|
|
128 |
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
|
|
131 | 129 |
RPM-Pakete zur Verfügung. Sie können mit folgendem Befehl |
132 | 130 |
installiert werden:</p><pre class="programlisting">dnf install httpd mod_fcgid perl-Archive-Zip perl-Clone perl-DBD-Pg \ |
133 | 131 |
perl-DBI perl-DateTime perl-Email-Address perl-Email-MIME perl-FCGI \ |
... | ... | |
137 | 135 |
perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI \ |
138 | 136 |
perl-XML-Writer perl-YAML perl-parent postgresql-server perl-CPAN \ |
139 | 137 |
perl-Algorithm-CheckDigits perl-GD perl-Class-XSAccessor perl-Text-Balanced</pre><p>Zusätzlich müssen einige Pakete aus dem CPAN installiert |
140 |
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
|
|
138 |
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
|
|
141 | 139 |
RPM-Pakete zur Verfügung. Sie können mit folgendem Befehl |
142 | 140 |
installiert werden:</p><pre class="programlisting">zypper install apache2 apache2-mod_fcgid perl-Archive-Zip perl-Clone \ |
143 | 141 |
perl-Config-Std perl-DBD-Pg perl-DBI perl-DateTime perl-Email-Address \ |
doc/html/ch02s04.html | ||
---|---|---|
62 | 62 |
|
63 | 63 |
[system] |
64 | 64 |
default_manager = german</pre><p>Für kivitendo Installationen in der Schweiz sollte hier <code class="varname">german</code> |
65 |
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
|
|
66 |
werden automatisch die Standard-Werte für die Schweiz voreingestellt:
|
|
67 |
Währung CHF, 5er-Rundung, Schweizer KMU-Kontenplan, Sollversteuerung,
|
|
65 |
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 |
|
66 |
werden automatisch die Standard-Werte für die Schweiz voreingestellt: |
|
67 |
Währung CHF, 5er-Rundung, Schweizer KMU-Kontenplan, Sollversteuerung, |
|
68 | 68 |
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 |
69 | 69 |
(unter Mandantenkonfiguration → Standardkonten veränderbar)</p></li><li class="listitem"><p>das verwendete Zahlenformat wird auf <code class="varname">1'000.00</code> eingestellt |
70 |
(unter Programm → Benutzereinstellungen veränderbar)</p></li><li class="listitem"><p>DATEV-Automatik und UStVA werden nicht angezeigt, Erfolgsrechnung
|
|
70 |
(unter Programm → Benutzereinstellungen veränderbar)</p></li><li class="listitem"><p>DATEV-Automatik und UStVA werden nicht angezeigt, Erfolgsrechnung |
|
71 | 71 |
ersetzt GUV ( unter Mandantenkonfiguration → Features veränderbar)</p></li></ul></div><p>Nutzt man wiederkehrende Rechnungen, kann man unter |
72 | 72 |
<code class="varname">[periodic_invoices]</code> den Login eines Benutzers |
73 | 73 |
angeben, der nach Erstellung der Rechnungen eine entsprechende E-Mail |
doc/html/ch02s06.html | ||
---|---|---|
1 | 1 |
<html><head> |
2 | 2 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
3 |
<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
|
|
3 |
<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
|
|
4 | 4 |
mittels FastCGI/FCGI. Die Einrichtung wird ausführlich im Abschnitt |
5 | 5 |
<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 |
6 | 6 |
Webserverkonfigurationsdatei <code class="literal">httpd.conf</code> eingestellt |
... | ... | |
107 | 107 |
Alias /url/for/kivitendo-erp-fcgid/ /path/to/kivitendo-erp/</pre><p>Dann ist unter <code class="filename">/url/for/kivitendo-erp/</code> |
108 | 108 |
die normale Version erreichbar, und unter |
109 | 109 |
<code class="constant">/url/for/kivitendo-erp-fcgid/</code> die |
110 |
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
|
|
110 |
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
|
|
111 | 111 |
von kivitendo nur über https-verschlüsselten Verbindungen, sowie |
112 | 112 |
weiteren Zusatzmassnahmen, wie beispielsweise Basic Authenticate. Die |
113 | 113 |
Konfigurationsmöglichkeiten sprengen allerdings den Rahmen dieser |
doc/html/ch02s07.html | ||
---|---|---|
34 | 34 |
Links aus einem der Runlevel-Verzeichnisse heraus in den Boot-Prozess |
35 | 35 |
einzubinden. Da das bei neueren Linux-Distributionen aber nicht |
36 | 36 |
zwangsläufig funktioniert, werden auch Start-Scripte mitgeliefert, die |
37 |
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,
|
|
37 |
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,
|
|
38 | 38 |
ältere Fedora)</h4></div></div></div><p>Kopieren Sie die Datei |
39 | 39 |
<code class="filename">scripts/boot/system-v/kivitendo-task-server</code> |
40 | 40 |
nach <code class="filename">/etc/init.d/kivitendo-task-server</code>. Passen |
... | ... | |
43 | 43 |
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 |
44 | 44 |
# Nur bei Debian Squeeze und neuer: |
45 | 45 |
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 |
46 |
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
|
|
46 |
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
|
|
47 | 47 |
<code class="filename">scripts/boot/upstart/kivitendo-task-server.conf</code> |
48 | 48 |
nach <code class="filename">/etc/init/kivitendo-task-server.conf</code>. |
49 | 49 |
Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile |
50 | 50 |
<code class="literal">exec ....</code>).</p><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet |
51 |
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 |
|
52 |
Fedora, neuere Ubuntu)</h4></div></div></div><p>Verlinken Sie die Datei |
|
53 |
<code class="filename">scripts/boot/systemd/kivitendo-task-server.service</code> |
|
54 |
nach <code class="filename">/etc/systemd/system/</code>. Passen Sie in der |
|
55 |
kopierten Datei den Pfad zum Task-Server an (Zeile |
|
56 |
<code class="literal">ExecStart=....</code> und |
|
57 |
<code class="literal">ExecStop=...</code>). Binden Sie das Script in den |
|
58 |
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 |
|
59 |
ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/</pre><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet |
|
60 |
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> |
|
51 |
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 |
|
52 |
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 |
|
53 |
<code class="filename">/etc/systemd/system/</code>. Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeilen |
|
54 |
<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 |
|
55 |
Befehl aus:</p><pre class="programlisting">systemctl daemon-reload |
|
56 |
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 |
|
57 |
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> |
|
61 | 58 |
<code class="literal">Befehl</code> ist dabei eine der folgenden |
62 | 59 |
Optionen:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> |
63 | 60 |
<code class="literal">start</code> startet eine neue Instanz des |
doc/html/ch02s12.html | ||
---|---|---|
155 | 155 |
if-Blöcken ist, dass immer der gesamte Block überschrieben werden muss |
156 | 156 |
und nicht nur Teile davon, da dies sonst oft zu einer odt-Datei führt, |
157 | 157 |
die vom Parser nicht korrekt gelesen werden kann.</p><p>Zur Zeit gibt es in kivitendo noch keine Möglichkeit, |
158 |
odt-Vorlagen bei Mahnungen, Briefen und Pflichtenheften einzusetzen.
|
|
158 |
odt-Vorlagen bei Mahnungen, Briefen und Pflichtenheften einzusetzen. |
|
159 | 159 |
Entsprechende Vorlagen sind deshalb nicht vorhanden.</p><p>Fehlermeldungen, Anregungen und Wünsche bitte senden an: |
160 | 160 |
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 |
161 | 161 |
schon funktionieren. Sollte ein Fehler auftreten, wirft TeX sehr lange |
doc/html/ch02s13.html | ||
---|---|---|
22 | 22 |
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> |
23 | 23 |
<code class="literal">xvfb</code> muss den Pfad zum “X virtual frame buffer” |
24 | 24 |
enthalten.</p><p>Zusätzlich gibt es zwei verschiedene Arten, wie kivitendo mit |
25 |
LibreOffice bzw. OpenOffice kommuniziert. Die erste Variante, die benutzt
|
|
26 |
wird, wenn die Variable <code class="literal">$openofficeorg_daemon</code> gesetzt
|
|
27 |
ist, startet ein LibreOffice oder OpenOffice, das auch nach der Umwandlung
|
|
28 |
des Dokumentes gestartet bleibt. Bei weiteren Umwandlungen wird dann diese
|
|
29 |
laufende Instanz benutzt. Der Vorteil ist, dass die Zeit zur Umwandlung
|
|
30 |
deutlich reduziert wird, weil nicht für jedes Dokument ein LibreOffice bzw.
|
|
31 |
OpenOffice gestartet werden muss. Der Nachteil ist, dass diese Methode
|
|
32 |
Python und die Python-UNO-Bindings benötigt, die Bestandteil von LibreOffice
|
|
33 |
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
|
|
25 |
LibreOffice bzw. OpenOffice kommuniziert. Die erste Variante, die benutzt |
|
26 |
wird, wenn die Variable <code class="literal">$openofficeorg_daemon</code> gesetzt |
|
27 |
ist, startet ein LibreOffice oder OpenOffice, das auch nach der Umwandlung |
|
28 |
des Dokumentes gestartet bleibt. Bei weiteren Umwandlungen wird dann diese |
|
29 |
laufende Instanz benutzt. Der Vorteil ist, dass die Zeit zur Umwandlung |
|
30 |
deutlich reduziert wird, weil nicht für jedes Dokument ein LibreOffice bzw. |
|
31 |
OpenOffice gestartet werden muss. Der Nachteil ist, dass diese Methode |
|
32 |
Python und die Python-UNO-Bindings benötigt, die Bestandteil von LibreOffice |
|
33 |
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 |
|
34 | 34 |
normalerweise der Python-Interpreter |
35 | 35 |
<code class="filename">/usr/bin/python</code> benutzt. |
36 | 36 |
Sollte dies nicht der richtige sein, so kann man mit zwei |
... | ... | |
40 | 40 |
festgelegt; sie steht standardmäßig auf dem eben erwähnten Wert |
41 | 41 |
<code class="literal">/usr/bin/python</code>.</p><p>Zusätzlich ist es möglich, Pfade anzugeben, in denen Python |
42 | 42 |
neben seinen normalen Suchpfaden ebenfalls nach Modulen gesucht wird, |
43 |
z.B. falls sich diese in einem gesonderten LibreOffice- bzw.
|
|
43 |
z.B. falls sich diese in einem gesonderten LibreOffice- bzw. |
|
44 | 44 |
OpenOffice-Verzeichnis befinden. Diese zweite Variable heißt |
45 | 45 |
<code class="literal">python_uno_path</code> und befindet sich im Abschnitt |
46 | 46 |
<code class="literal">environment</code>. Sie ist standardmäßig leer. Werden |
... | ... | |
48 | 48 |
voneinander getrennt werden. Der Inhalt wird an den Python-Interpreter |
49 | 49 |
über die Umgebungsvariable <code class="literal">PYTHONPATH</code> |
50 | 50 |
übergeben.</p></td></tr></table></div><p>Ist <code class="literal">$openofficeorg_daemon</code> nicht gesetzt, so |
51 |
wird für jedes Dokument LibreOffice bzw. OpenOffice neu gestartet
|
|
52 |
und die Konvertierung mit Hilfe eines Makros durchgeführt. Dieses
|
|
51 |
wird für jedes Dokument LibreOffice bzw. OpenOffice neu gestartet |
|
52 |
und die Konvertierung mit Hilfe eines Makros durchgeführt. Dieses |
|
53 | 53 |
Makro muss in der Dokumentenvorlage enthalten sein und |
54 | 54 |
“Standard.Conversion.ConvertSelfToPDF()” heißen. Die Beispielvorlage |
55 | 55 |
‘<code class="literal">templates/print/rev-odt/invoice.odt</code>’ |
56 | 56 |
enthält ein solches Makro, das in jeder anderen Dokumentenvorlage |
57 | 57 |
ebenfalls enthalten sein muss.</p><p>Als letztes muss herausgefunden werden, welchen Namen |
58 | 58 |
OpenOffice bzw. LibreOffice dem Verzeichnis mit den Benutzereinstellungen |
59 |
gibt. Unter Debian ist dies momentan
|
|
60 |
<code class="literal">~/.config/libreoffice</code>. kivitendo verwendet das
|
|
59 |
gibt. Unter Debian ist dies momentan |
|
60 |
<code class="literal">~/.config/libreoffice</code>. kivitendo verwendet das |
|
61 | 61 |
Verzeichnis <code class="literal">users/.openoffice.org2</code>. |
62 | 62 |
Eventuell muss dieses Verzeichnis umbenannt werden.</p><p>Dieses Verzeichnis, wie auch das komplette |
63 | 63 |
<code class="literal">users</code>-Verzeichnis, muss vom Webserver beschreibbar |
64 |
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
|
|
65 |
erneut überprüft werden, wenn die Konvertierung nach PDF
|
|
66 |
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
|
|
64 |
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 |
|
65 |
erneut überprüft werden, wenn die Konvertierung nach PDF |
|
66 |
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
|
|
67 | 67 |
Aufgaben erfüllen.</p><p>Der Vorlagensatz "rev-odt" enthält solche Vorlagen mit <span class="bold"><strong>Schweizer Bank-Einzahlungsscheinen (BESR)</strong></span>. |
68 | 68 |
Diese Makros haben die Aufgabe, die in den Einzahlungsscheinen |
69 | 69 |
benötigte Referenznummer und Kodierzeile zu erzeugen. Hier eine kurze |
70 | 70 |
Beschreibung, wie die Makros aufgebaut sind, und was bei ihrer Nutzung |
71 | 71 |
zu beachten ist (<span class="bold"><strong>in fett sind nötige einmalige |
72 |
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:
|
|
73 |
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
|
|
72 |
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:
|
|
73 |
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
|
|
74 | 74 |
Standardvorlage ohne Einzahlungsschein weitere Vorlagen (z.B. mit |
75 | 75 |
Einzahlungsschein) auswählbar sind, muss für jedes Vorlagen-Suffix |
76 | 76 |
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 |
... | ... | |
80 | 80 |
darf aber nicht leer sein)</p></li><li class="listitem"><p>Vorlagenkürzel → besr bzw. selbst gewähltes |
81 | 81 |
Vorlagensuffix (muss genau der Zeichenfolge entsprechen, die |
82 | 82 |
zwischen "invoice_" bzw. "sales_order_" und ".odt" |
83 |
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
|
|
83 |
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
|
|
84 | 84 |
im Rechnungs- bzw. Auftragsformular angezeigt haben möchte, kann |
85 | 85 |
dies persönlich für sich bei den Benutzereinstellungen |
86 | 86 |
konfigurieren:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Programm → Benutzereinstellungen → |
87 | 87 |
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 |
88 |
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
|
|
88 |
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
|
|
89 | 89 |
aus dem von kivitendo erzeugten odt-Dokument die korrekte |
90 | 90 |
Referenznummer inklusive Prüfziffer sowie die Kodierzeile in |
91 | 91 |
OCRB-Schrift erzeugen und am richtigen Ort ins Dokument |
... | ... | |
114 | 114 |
angepasst werden.</strong></span> Dabei ist darauf zu achten, dass |
115 | 115 |
sich die Positionen der Postkonto-Nummern der Bank, sowie der |
116 | 116 |
Zeichenfolgen dddfr, DDDREF1, DDDREF2, 609, DDDKODIERZEILE nicht |
117 |
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
|
|
117 |
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
|
|
118 | 118 |
odt-Rechnung (analog bei Auftrag)</h4></div></div></div><p>Im Fussbereich der Rechnungsmaske muss neben Rechnung, |
119 | 119 |
OpenDocument/OASIS und Bildschirm die im Adminbereich erstellte |
120 | 120 |
Druckerbeschreibung ausgewählt werden, falls diese nicht bereits bei |
121 | 121 |
den Benutzereinstellungen als persönlicher Standard gewählt |
122 |
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
|
|
122 |
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
|
|
123 | 123 |
die Meldung kommt, dass Makros aus Sicherheitsgründen nicht |
124 | 124 |
ausgeführt werden, so müssen folgende Einstellungen in LibreOffice |
125 | 125 |
angepasst werden:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Extras → Optionen → Sicherheit → |
doc/html/ch02s14.html | ||
---|---|---|
39 | 39 |
der Admininstration können diese Optionen nun unabhängig voneinander |
40 | 40 |
eingestellt werden.</p><p>Für die Schweiz sind folgende Einstellungen üblich: |
41 | 41 |
</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> |
42 |
Diese Einstellungen werden automatisch beim Erstellen einer neuen
|
|
43 |
Datenbank vorausgewählt, wenn in <code class="filename">config/kivitendo.conf</code> unter
|
|
42 |
Diese Einstellungen werden automatisch beim Erstellen einer neuen |
|
43 |
Datenbank vorausgewählt, wenn in <code class="filename">config/kivitendo.conf</code> unter |
|
44 | 44 |
<code class="varname">[system]</code> |
45 |
<code class="literal">default_manager = swiss</code> eingestellt ist.
|
|
45 |
<code class="literal">default_manager = swiss</code> eingestellt ist. |
|
46 | 46 |
</p><p>Beim Upgrade bestehender Mandanten wird eur ausgelesen und die |
47 | 47 |
Variablen werden so gesetzt, daß sich an der Funktionalität nichts |
48 | 48 |
ändert.</p><p>Die aktuelle Konfiguration wird unter Nummernkreise und |
doc/html/ch02s16.html | ||
---|---|---|
17 | 17 |
den Optionen mit EB-Buchungen wird vorausgesetzt, daß diese immer am 1. |
18 | 18 |
Tag des Wirtschaftsjahres gebucht werden. Zur Sicherheit wird das |
19 | 19 |
Startdatum im Bilanzbericht jetzt zusätzlich zum Stichtag mit angezeigt. |
20 |
Das hilft auch bei der Kontrolle für den Abgleich mit der GuV bzw.
|
|
20 |
Das hilft auch bei der Kontrolle für den Abgleich mit der GuV bzw. |
|
21 | 21 |
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> |
doc/html/ch02s17.html | ||
---|---|---|
1 | 1 |
<html><head> |
2 | 2 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
3 | 3 |
<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> |
4 |
Erfolgsrechnung</strong></span>.</p><p>Die Erfolgsrechnung kann in der Mandantenkonfiguration unter Features
|
|
4 |
Erfolgsrechnung</strong></span>.</p><p>Die Erfolgsrechnung kann in der Mandantenkonfiguration unter Features |
|
5 | 5 |
an- oder abgeschaltet werden. Mit der Einstellung <code class="varname">default_manager = swiss |
6 |
</code> in der <code class="filename">config/kivitendo.conf</code> wird beim neu Erstellen
|
|
6 |
</code> in der <code class="filename">config/kivitendo.conf</code> wird beim neu Erstellen |
|
7 | 7 |
einer Datenbank automatisch die Anzeige der Erfolgsrechnung im Menü <span class="guimenu">Berichte |
8 |
</span> ausgewählt und ersetzt dort die GUV.</p><p>Im Gegensatz zur GUV werden bei der Erfolgsrechnung sämtliche Aufwands- und
|
|
9 |
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
|
|
10 |
erscheinen soll, unter <code class="varname">Sonstige Einstellungen/Erfolgsrechnung</code>
|
|
11 |
entweder <code class="literal">01.Ertrag</code> oder <code class="literal">06.Aufwand</code> ausgewählt
|
|
12 |
werden.</p><p>Wird bei einem Erlöskonto <code class="literal">06.Aufwand</code> ausgewählt,
|
|
13 |
so wird dieses Konto als Aufwandsminderung unter AUFWAND aufgelistet.</p><p>Wird bei einem Aufwandskonto <code class="literal">01.Ertrag</code> ausgewählt,
|
|
14 |
so wird dieses Konto als Ertragsminderung unter ERTRAG aufgelistet.</p><p>Soll bei einer bereits bestehenden Buchhaltung in Zukunft zusätzlich
|
|
15 |
die Erfolgsrechnung als Bericht verwendet werden, so müssen die Einstellungen
|
|
16 |
zu allen Erlös- und Aufwandskonten unter <code class="varname">Sonstige
|
|
8 |
</span> ausgewählt und ersetzt dort die GUV.</p><p>Im Gegensatz zur GUV werden bei der Erfolgsrechnung sämtliche Aufwands- und |
|
9 |
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 |
|
10 |
erscheinen soll, unter <code class="varname">Sonstige Einstellungen/Erfolgsrechnung</code> |
|
11 |
entweder <code class="literal">01.Ertrag</code> oder <code class="literal">06.Aufwand</code> ausgewählt |
|
12 |
werden.</p><p>Wird bei einem Erlöskonto <code class="literal">06.Aufwand</code> ausgewählt, |
|
13 |
so wird dieses Konto als Aufwandsminderung unter AUFWAND aufgelistet.</p><p>Wird bei einem Aufwandskonto <code class="literal">01.Ertrag</code> ausgewählt, |
|
14 |
so wird dieses Konto als Ertragsminderung unter ERTRAG aufgelistet.</p><p>Soll bei einer bereits bestehenden Buchhaltung in Zukunft zusätzlich |
|
15 |
die Erfolgsrechnung als Bericht verwendet werden, so müssen die Einstellungen |
|
16 |
zu allen Erlös- und Aufwandskonten unter <code class="varname">Sonstige |
|
17 | 17 |
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> |
doc/html/ch02s18.html | ||
---|---|---|
1 | 1 |
<html><head> |
2 | 2 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
3 |
<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
|
|
4 |
von 0.01 CHF verwendet werden können, ist es trotzdem nach wie vor üblich,
|
|
5 |
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
|
|
6 |
Rundung pro Mandant / Datenbank festgelegt werden.</p><p>Die Einstellung wird beim Erstellen der Datenbank bei <code class="literal">Genauigkeit</code>
|
|
7 |
festgelegt. Sie kann anschliessend über das Webinterface von kivitendo nicht mehr
|
|
8 |
verändert werden.</p><p>Abhängig vom Wert für <code class="varname">default_manager</code> in
|
|
9 |
<code class="filename">config/kivitendo.conf</code> werden dabei folgende
|
|
10 |
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
|
|
11 |
</code>in der Spalte <code class="varname">precision</code> gespeichert.</p><p>In allen Verkaufsangeboten, Verkaufsaufträgen, Verkaufsrechnungen
|
|
12 |
und Verkaufsgutschriften wird der Endbetrag inkl. MWST gerundet,
|
|
13 |
wenn dieser nicht der eingestellten Genauigkeit entspricht.</p><p>Beim Buchen einer Verkaufsrechnung wird der Rundungsbetrag
|
|
14 |
automatisch auf die in der Mandantenkonfiguration festgelegten
|
|
15 |
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
|
|
16 |
<code class="varname">quototal</code>, <code class="varname">ordtotal</code> bzw.
|
|
3 |
<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 |
|
4 |
von 0.01 CHF verwendet werden können, ist es trotzdem nach wie vor üblich, |
|
5 |
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 |
|
6 |
Rundung pro Mandant / Datenbank festgelegt werden.</p><p>Die Einstellung wird beim Erstellen der Datenbank bei <code class="literal">Genauigkeit</code> |
|
7 |
festgelegt. Sie kann anschliessend über das Webinterface von kivitendo nicht mehr |
|
8 |
verändert werden.</p><p>Abhängig vom Wert für <code class="varname">default_manager</code> in |
|
9 |
<code class="filename">config/kivitendo.conf</code> werden dabei folgende |
|
10 |
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 |
|
11 |
</code>in der Spalte <code class="varname">precision</code> gespeichert.</p><p>In allen Verkaufsangeboten, Verkaufsaufträgen, Verkaufsrechnungen |
|
12 |
und Verkaufsgutschriften wird der Endbetrag inkl. MWST gerundet, |
|
13 |
wenn dieser nicht der eingestellten Genauigkeit entspricht.</p><p>Beim Buchen einer Verkaufsrechnung wird der Rundungsbetrag |
|
14 |
automatisch auf die in der Mandantenkonfiguration festgelegten |
|
15 |
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 |
|
16 |
<code class="varname">quototal</code>, <code class="varname">ordtotal</code> bzw. |
|
17 | 17 |
<code class="varname">invtotal</code> enthalten den gerundeten Betrag.</p><p> |
18 |
<span class="bold"><strong>Achtung:</strong></span> Werden Verkaufsbelege
|
|
19 |
in anderen Währungen als der Standardwährung erstellt, so muss in
|
|
20 |
kivitendo 3.4.1 die Genauigkeit 0.01 verwendet werden.</p><p>Das heisst, Firmen in der Schweiz, die teilweise Verkaufsrechnungen
|
|
21 |
in Euro oder anderen Währungen erstellen wollen, müssen beim Erstellen
|
|
22 |
der Datenbank als Genauigkeit 0.01 wählen und können zur Zeit die
|
|
18 |
<span class="bold"><strong>Achtung:</strong></span> Werden Verkaufsbelege |
|
19 |
in anderen Währungen als der Standardwährung erstellt, so muss in |
|
20 |
kivitendo 3.4.1 die Genauigkeit 0.01 verwendet werden.</p><p>Das heisst, Firmen in der Schweiz, die teilweise Verkaufsrechnungen |
|
21 |
in Euro oder anderen Währungen erstellen wollen, müssen beim Erstellen |
|
22 |
der Datenbank als Genauigkeit 0.01 wählen und können zur Zeit die |
|
23 | 23 |
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> |
doc/html/ch03s03.html | ||
---|---|---|
5 | 5 |
einer Vorlage durch ihren Inhalt ersetzt, wenn sie in der Form |
6 | 6 |
<code class="function"><%variablenname%></code> verwendet wird. Für |
7 | 7 |
LaTeX- und HTML-Vorlagen kann man die Form dieser Tags auch verändern |
8 |
(siehe <a class="xref" href="ch03s03.html#dokumentenvorlagen-und-variablen.tag-style" title="3.3.4. Anfang und Ende der Tags verändern">Anfang und Ende der Tags verändern</a>).</p><p>kivitendo unterstützt LaTeX-, HTML- und OpenDocument-Vorlagen.
|
|
9 |
Sofern es nicht ausdrücklich eingeschränkt wird, gilt das im
|
|
8 |
(siehe <a class="xref" href="ch03s03.html#dokumentenvorlagen-und-variablen.tag-style" title="3.3.4. Anfang und Ende der Tags verändern">Anfang und Ende der Tags verändern</a>).</p><p>kivitendo unterstützt LaTeX-, HTML- und OpenDocument-Vorlagen. |
|
9 |
Sofern es nicht ausdrücklich eingeschränkt wird, gilt das im |
|
10 | 10 |
Folgenden gesagte für alle Vorlagenarten.</p><p>Insgesamt sind technisch gesehen eine ganze Menge mehr Variablen |
11 | 11 |
verfügbar als hier aufgelistet werden. Die meisten davon können |
12 | 12 |
allerdings innerhalb einer solchen Vorlage nicht sinnvoll verwendet |
... | ... | |
386 | 386 |
<code class="varname">quonumber</code> |
387 | 387 |
</span></dt><dd><p>Angebotsnummer</p></dd><dt><span class="term"> |
388 | 388 |
<code class="varname">rounding</code> |
389 |
</span></dt><dd><p>Betrag, um den <code class="varname">invtotal</code> gerundet wurde
|
|
389 |
</span></dt><dd><p>Betrag, um den <code class="varname">invtotal</code> gerundet wurde |
|
390 | 390 |
(kann positiv oder negativ sein)</p></dd><dt><span class="term"> |
391 | 391 |
<code class="varname">shippingpoint</code> |
392 | 392 |
</span></dt><dd><p>Versandort</p></dd><dt><span class="term"> |
... | ... | |
605 | 605 |
<code class="varname">invdate</code> |
606 | 606 |
</span></dt><dd><p>Rechnungsdatum</p></dd><dt><span class="term"> |
607 | 607 |
<code class="varname">invnumber</code> |
608 |
</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
|
|
608 |
</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
|
|
609 | 609 |
Rechnung. Allerdings heißen die Variablen, die mit |
610 | 610 |
<code class="varname">inv</code> beginnen, jetzt anders. Bei den Angeboten |
611 | 611 |
fangen sie mit <code class="varname">quo</code> für "quotation" an: |
doc/html/ch03s05.html | ||
---|---|---|
1 | 1 |
<html><head> |
2 | 2 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
3 |
<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> |
|
4 |
|
|
5 |
Die Lagerverwaltung in kivitendo funktioniert standardmässig wie folgt: |
|
6 |
Wird ein Lager mit einem Lagerplatz angelegt, so gibt es die Möglichkeit |
|
7 |
hier über den Menüpunkt Lager entsprechende Warenbewegungen durchzuführen. |
|
8 |
Ferner kann jede Position eines Lieferscheins ein-, bzw. ausgelagert werden |
|
9 |
(Einkauf-, bzw. Verkauf). Es können beliebig viele Lager mit beliebig vielen |
|
10 |
Lagerplätzen abgebildet werden. Die Lagerbewegungen über einen Lieferschein |
|
11 |
erfolgt durch Anklicken jeder Einzelposition und das Auswählen dieser Position |
|
12 |
zu einem Lager mit Lagerplatz. Dieses Verfahren lässt sich schrittweise |
|
13 |
vereinfachen, je nachdem wie die Einstellungen in der Mandatenkonfiguration |
|
14 |
gesetzt werden. |
|
15 |
|
|
16 |
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> |
|
3 |
<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> |
|
4 |
Die Lagerverwaltung in kivitendo funktioniert standardmässig wie folgt: Wird ein Lager mit einem Lagerplatz angelegt, so gibt es die |
|
5 |
Möglichkeit hier über den Menüpunkt Lager entsprechende Warenbewegungen durchzuführen. Ferner kann jede Position eines Lieferscheins |
|
6 |
ein-, bzw. ausgelagert werden (Einkauf-, bzw. Verkauf). Es können beliebig viele Lager mit beliebig vielen Lagerplätzen abgebildet |
|
7 |
werden. Die Lagerbewegungen über einen Lieferschein erfolgt durch Anklicken jeder Einzelposition und das Auswählen dieser Position zu |
|
8 |
einem Lager mit Lagerplatz. Dieses Verfahren lässt sich schrittweise vereinfachen, je nachdem wie die Einstellungen in der |
|
9 |
Mandatenkonfiguration gesetzt werden. |
|
10 |
</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> |
|
17 | 11 |
<code class="option">Auslagern über Standardlagerplatz</code> Hier wird |
18 | 12 |
ein zusätzlicher Knopf (Auslagern über Standard-Lagerplatz) in dem |
19 | 13 |
Lieferschein-Beleg hinzugefügt, der dann alle Lagerbewegungen über |
... | ... | |
23 | 17 |
Lagerbewegung nicht vorhanden ist, möchte man dies auch ignorieren |
24 | 18 |
und ggf. dann nachpflegen, so kann man eine Negativ-Warenmenge mit |
25 | 19 |
dieser Option erlauben. Hierfür muss ein entsprechender Lagerplatz |
26 |
(Fehlbestand, o.ä.) konfiguriert sein.</p></li></ul></div> |
|
27 |
|
|
20 |
(Fehlbestand, o.ä.) konfiguriert sein.</p></li></ul></div><p> |
|
28 | 21 |
Zusätzliche Funktionshinweise: |
29 |
|
|
30 |
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> |
|
22 |
</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> |
|
31 | 23 |
<code class="option">Standard-Lagerplatz</code> Ist dieser konfiguriert, |
32 | 24 |
wird dies auch als Standard-Voreinstellung bei der Neuerfassung von |
33 | 25 |
Stammdaten → Waren / Dienstleistung / Erzeugnis verwendet.</p></li><li class="listitem"><p> |
doc/html/ch03s06.html | ||
---|---|---|
1 | 1 |
<html><head> |
2 | 2 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
3 |
<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
|
|
4 |
den Einsatz in der Schweiz zur Verfügung, einer für Firmen und
|
|
5 |
Organisationen, die nicht mehrwertsteuerpflichtig sind, und einer
|
|
6 |
für Firmen, die mehrwertsteuerpflichtig sind.</p><p>Die Kontenpläne orientieren sich am in der Schweiz üblicherweise
|
|
7 |
verwendeten KMU-Kontenrahmen und sind mit der Revision des Schweizerischen
|
|
8 |
Obligationenrechts (OR) vom 1.1.2013 kompatibel, insbesondere
|
|
9 |
<code class="literal">Art.957a Abs.2</code>.</p><p>Die Möglichkeit, Saldosteuersätze zu verwenden ist in der aktuellen
|
|
10 |
Version von kivitendo noch nicht integriert.</p><p>Trotzdem können auch Firmen, die per Saldosteuersatz mit der
|
|
11 |
Eidgenössischen Steuerverwaltung abrechnen, kivitendo bereits nutzen.
|
|
12 |
Dazu wird der Kontenplan mit MWST ausgewählt. Anschliessend müssen
|
|
13 |
alle Aufwandskonten editiert werden und dort der Steuersatz auf 0%
|
|
14 |
gesetzt werden.</p><p>So werden bei Kreditorenbuchungen keine Vorsteuern verbucht.</p><p>Wünsche für Anpassungen an den Schweizer Kontenplänen sowie
|
|
15 |
Vorschläge für weitere (z.B. branchenspezifische) Kontenpläne
|
|
3 |
<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 |
|
4 |
den Einsatz in der Schweiz zur Verfügung, einer für Firmen und |
|
5 |
Organisationen, die nicht mehrwertsteuerpflichtig sind, und einer |
|
6 |
für Firmen, die mehrwertsteuerpflichtig sind.</p><p>Die Kontenpläne orientieren sich am in der Schweiz üblicherweise |
|
7 |
verwendeten KMU-Kontenrahmen und sind mit der Revision des Schweizerischen |
|
8 |
Obligationenrechts (OR) vom 1.1.2013 kompatibel, insbesondere |
|
9 |
<code class="literal">Art.957a Abs.2</code>.</p><p>Die Möglichkeit, Saldosteuersätze zu verwenden ist in der aktuellen |
|
10 |
Version von kivitendo noch nicht integriert.</p><p>Trotzdem können auch Firmen, die per Saldosteuersatz mit der |
|
11 |
Eidgenössischen Steuerverwaltung abrechnen, kivitendo bereits nutzen. |
|
12 |
Dazu wird der Kontenplan mit MWST ausgewählt. Anschliessend müssen |
|
13 |
alle Aufwandskonten editiert werden und dort der Steuersatz auf 0% |
|
14 |
gesetzt werden.</p><p>So werden bei Kreditorenbuchungen keine Vorsteuern verbucht.</p><p>Wünsche für Anpassungen an den Schweizer Kontenplänen sowie |
|
15 |
Vorschläge für weitere (z.B. branchenspezifische) Kontenpläne |
|
16 | 16 |
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> |
doc/html/ch04.html | ||
---|---|---|
1 | 1 |
<html><head> |
2 | 2 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
3 |
<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
|
|
3 |
<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
|
|
4 | 4 |
"main", der von überall erreichbar ist. Darüber hinaus sind bareword |
5 | 5 |
globs global und die meisten speziellen Variablen sind... |
6 | 6 |
speziell.</p><p>Daraus ergeben sich folgende Formen:</p><div class="variablelist"><dl><dt><span class="term"> |
... | ... | |
25 | 25 |
<code class="varname">$PACKAGE::form</code>.</p></dd><dt><span class="term"> |
26 | 26 |
<code class="literal">local $form</code> |
27 | 27 |
</span></dt><dd><p>Alle Änderungen an <code class="varname">$form</code> werden am Ende |
28 |
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>
|
|
28 |
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>
|
|
29 | 29 |
<span class="productname">SQL-Ledger</span>™ hat fast alles im globalen |
30 | 30 |
namespace abgelegt, und erwartet, dass es da auch wiederzufinden ist. |
31 | 31 |
Unter <span class="productname">FCGI</span>™ müssen diese Sachen aber wieder |
... | ... | |
39 | 39 |
dies hat, seit der Einführung, u.a. schon so manche langwierige |
40 | 40 |
Bug-Suche verkürzt. Da globale Variablen aber implizit mit Package |
41 | 41 |
angegeben werden, werden die nicht geprüft, und somit kann sich |
42 |
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
|
|
42 |
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
|
|
43 | 43 |
globale Variablen, die kanonisch sind, d.h. sie haben bestimmte |
44 | 44 |
vorgegebenen Eigenschaften, und alles andere sollte anderweitig |
45 | 45 |
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> |
... | ... | |
62 | 62 |
<code class="varname">$::request</code> |
63 | 63 |
</p></li></ul></div><p>Damit diese nicht erneut als Müllhalde missbraucht werden, im |
64 | 64 |
Folgenden eine kurze Erläuterung der bestimmten vorgegebenen |
65 |
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
|
|
65 |
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
|
|
66 | 66 |
"<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 |
67 | 67 |
sein.</p></li><li class="listitem"><p>Enthält am Anfang eines Requests die Requestparameter vom |
68 | 68 |
User</p></li><li class="listitem"><p>Kann zwar intern über Requestgrenzen ein Datenbankhandle |
... | ... | |
110 | 110 |
push @{ $form->{TEMPLATE_ARRAYS}{number} }, $form->{"partnumber_$i"}; |
111 | 111 |
push @{ $form->{TEMPLATE_ARRAYS}{description} }, $form->{"description_$i"}; |
112 | 112 |
# ... |
113 |
}</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
|
|
113 |
}</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
|
|
114 | 114 |
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 |
115 | 115 |
extern serialisiert werden, weil da auch der Datenbankzugriff |
116 | 116 |
für diesen user drinsteht.</p></li><li class="listitem"><p>Enthält unter anderem Listenbegrenzung vclimit, |
... | ... | |
122 | 122 |
überwiegend die Daten, die sich unter <span class="guimenu">Programm</span> |
123 | 123 |
-> <span class="guimenuitem">Einstellungen</span> befinden, bzw. die |
124 | 124 |
Informationen über den Benutzer die über die |
125 |
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
|
|
125 |
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
|
|
126 | 126 |
sein.</p></li><li class="listitem"><p>Cached intern über Requestgrenzen hinweg benutzte |
127 | 127 |
Locales</p></li></ul></div><p>Lokalisierung für den aktuellen User. Alle Übersetzungen, |
128 |
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
|
|
128 |
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
|
|
129 | 129 |
Funktionen</p></li></ul></div><p> |
130 | 130 |
<code class="varname">$::lxdebug</code> stellt Debuggingfunktionen |
131 | 131 |
bereit, wie "<code class="function">enter_sub</code>" und |
... | ... | |
135 | 135 |
"<code class="function">message</code>" und "<code class="function">dump</code>" mit |
136 | 136 |
denen man flott Informationen ins Log (tmp/kivitendo-debug.log) |
137 | 137 |
packen kann.</p><p>Beispielsweise so:</p><pre class="programlisting">$main::lxdebug->message(0, 'Meine Konfig:' . Dumper (%::myconfig)); |
138 |
$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>
|
|
138 |
$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>
|
|
139 | 139 |
<code class="varname">$::auth</code> stellt Funktionen bereit um die |
140 | 140 |
Rechte des aktuellen Users abzufragen. Obwohl diese Informationen |
141 | 141 |
vom aktuellen User abhängen wird das Objekt aus |
... | ... | |
144 | 144 |
Dessen Einstellungen können über |
145 | 145 |
<code class="literal">$::auth->client</code> abgefragt werden; Rückgabewert |
146 | 146 |
ist ein Hash mit den Werten aus der Tabelle |
147 |
<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
|
|
147 |
<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
|
|
148 | 148 |
"<code class="classname">SL::LxOfficeConf</code>"</p></li><li class="listitem"><p>Global gecached</p></li><li class="listitem"><p>Repräsentation der |
149 | 149 |
<code class="filename">config/kivitendo.conf[.default]</code>-Dateien</p></li></ul></div><p>Globale Konfiguration. Configdateien werden zum Start gelesen |
150 | 150 |
und danach nicht mehr angefasst. Es ist derzeit nicht geplant, dass |
... | ... | |
154 | 154 |
file_name = /tmp/kivitendo-debug.log</pre><p>ist der Key <code class="varname">file</code> im Programm als |
155 | 155 |
<code class="varname">$::lx_office_conf->{debug}{file}</code> |
156 | 156 |
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 |
157 |
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
|
|
157 |
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
|
|
158 | 158 |
"<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>, |
159 | 159 |
speichert aber Daten die von der Instanz abhängig sind. Eine Instanz |
160 | 160 |
ist hier eine Mandantendatenbank. Beispielsweise überprüft |
161 | 161 |
</p><pre class="programlisting">$::instance_conf->get_inventory_system eq 'perpetual'</pre><p> |
162 |
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
|
|
162 |
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
|
|
163 | 163 |
"<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 |
164 | 164 |
Server</p></li></ul></div><p>Der dritte Punkt ist auch der einzige Grund warum das Objekt |
165 | 165 |
global gespeichert wird. Wird vermutlich irgendwann in einem anderen |
166 |
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>
|
|
166 |
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>
|
|
167 | 167 |
<code class="varname">$::request</code> ist ein generischer Platz um |
168 | 168 |
Daten "für den aktuellen Request" abzulegen. Sollte nicht für action |
169 | 169 |
at a distance benutzt werden, sondern um lokales memoizing zu |
... | ... | |
176 | 176 |
<code class="varname">$::request</code> |
177 | 177 |
</p></li><li class="listitem"><p>Muss ich von anderen Teilen des Programms lesend drauf |
178 | 178 |
zugreifen? Dann <code class="varname">$::request</code>, aber Zugriff über |
179 |
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
|
|
180 |
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
|
|
179 |
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
|
|
180 |
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
|
|
181 | 181 |
Klassenfunktionen funktionieren</p></li><li class="listitem"><p>Aufruf als Klasse erzeugt Dummyobjekt was im |
182 | 182 |
Klassennamespace gehalten wird und über Requestgrenzen |
183 | 183 |
leaked</p></li><li class="listitem"><p>liegt jetzt unter |
184 | 184 |
<code class="varname">$::request->{cgi}</code> |
185 |
</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
|
|
185 |
</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
|
|
186 | 186 |
ein paar hundert mal pro Request eine Liste der Einheiten |
187 | 187 |
brauchen, und de als Parameter durch einen Riesenstack von |
188 | 188 |
Funktionen geschleift werden müssten.</p></li><li class="listitem"><p>Liegt jetzt unter |
189 | 189 |
<code class="varname">$::request->{cache}{all_units}</code> |
190 | 190 |
</p></li><li class="listitem"><p>Wird nur in |
191 | 191 |
<code class="function">AM->retrieve_all_units()</code> gesetzt oder |
192 |
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
|
|
192 |
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
|
|
193 | 193 |
abzufangen.</p></li><li class="listitem"><p>Wurde entfernt, weil callsub nur einen Bruchteil der |
194 | 194 |
möglichen Rekursioenen darstellt, und da nie welche |
195 | 195 |
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> |
doc/html/index.html | ||
---|---|---|
1 | 1 |
<html><head> |
2 | 2 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
3 |
<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:
|
|
3 |
<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:
|
|
4 | 4 |
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 |
5 | 5 |
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 |
6 |
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
|
|
6 |
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
|
|
7 | 7 |
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> |
Auch abrufbar als: Unified diff
Dokumentation: HTML-Seiten und PDF neu gebaut