-<?xml version="1.0" encoding="UTF-8"?>\r
+<?xml version="1.0" encoding="UTF-8"?>\r
\r
<!-- This file is part of DobuDish -->\r
\r
<xsl:import href="../../../system/custom-xsl/html-book.xsl"/>\r
<xsl:import href="common.xsl"/>\r
\r
+ <xsl:param name="chunker.output.encoding" select="'UTF-8'"/>\r
+\r
</xsl:stylesheet>
\ No newline at end of file
<html><head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Kapitel 1. Aktuelle Hinweise</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="index.html" title="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="prev" href="index.html" title="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="next" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"></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 1. Aktuelle Hinweise</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Zurück</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 1. Aktuelle Hinweise"><div class="titlepage"><div><div><h2 class="title"><a name="Aktuelle-Hinweise"></a>Kapitel 1. Aktuelle Hinweise</h2></div></div></div><p>Aktuelle Installations- und Konfigurationshinweise gibt es:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>auf der Lx-Office-Homepage unter <a class="ulink" href="http://lx-office.org/index.php?id=dokumentation" target="_top">http://lx-office.org/index.php?id=dokumentation</a>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>Kapitel 1. Aktuelle Hinweise</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="index.html" title="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="prev" href="index.html" title="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="next" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"></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 1. Aktuelle Hinweise</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Zurück</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 1. Aktuelle Hinweise"><div class="titlepage"><div><div><h2 class="title"><a name="Aktuelle-Hinweise"></a>Kapitel 1. Aktuelle Hinweise</h2></div></div></div><p>Aktuelle Installations- und Konfigurationshinweise gibt es:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>auf der Lx-Office-Homepage unter <a class="ulink" href="http://lx-office.org/index.php?id=dokumentation" target="_top">http://lx-office.org/index.php?id=dokumentation</a>
</p></li><li class="listitem"><p>im Lx-Office-Wiki unter Dokumentation (<a class="ulink" href="http://wiki.lx-office.org/index.php/Lx-Office_ERP" target="_top">http://wiki.lx-office.org/index.php/Lx-Office_ERP</a>)</p></li><li class="listitem"><p>im Lx-Office-Forum: <a class="ulink" href="http://www.lx-office.org/forum/" target="_top">http://www.lx-office.org/forum/</a>
- </p></li></ul></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Zurück</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Lx-Office: Installation, Konfiguration, Entwicklung </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> Kapitel 2. Installation und Grundkonfiguration</td></tr></table></div></body></html>
\ No newline at end of file
+ </p></li></ul></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Zurück</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Lx-Office: Installation, Konfiguration, Entwicklung </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> Kapitel 2. Installation und Grundkonfiguration</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Kapitel 2. Installation und Grundkonfiguration</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="index.html" title="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch01.html" title="Kapitel 1. Aktuelle Hinweise"><link rel="next" href="ch02s02.html" title="2.2. Manuelle Installation des Programmpaketes"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Kapitel 2. Installation und Grundkonfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01.html">Zurück</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 2. Installation und Grundkonfiguration"><div class="titlepage"><div><div><h2 class="title"><a name="config"></a>Kapitel 2. Installation und Grundkonfiguration</h2></div></div></div><div class="sect1" title="2.1. Benötigte Software und Pakete"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Ben%C3%B6tigte-Software-und-Pakete"></a>2.1. Benötigte Software und Pakete</h2></div></div></div><div class="sect2" title="2.1.1. Betriebssystem"><div class="titlepage"><div><div><h3 class="title"><a name="Betriebssystem"></a>2.1.1. Betriebssystem</h3></div></div></div><p>Lx-Office ist für Linux konzipiert, und sollte auf jedem
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>Kapitel 2. Installation und Grundkonfiguration</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="index.html" title="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch01.html" title="Kapitel 1. Aktuelle Hinweise"><link rel="next" href="ch02s02.html" title="2.2. Manuelle Installation des Programmpaketes"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Kapitel 2. Installation und Grundkonfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01.html">Zurück</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 2. Installation und Grundkonfiguration"><div class="titlepage"><div><div><h2 class="title"><a name="config"></a>Kapitel 2. Installation und Grundkonfiguration</h2></div></div></div><div class="sect1" title="2.1. Benötigte Software und Pakete"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Ben%C3%B6tigte-Software-und-Pakete"></a>2.1. Benötigte Software und Pakete</h2></div></div></div><div class="sect2" title="2.1.1. Betriebssystem"><div class="titlepage"><div><div><h3 class="title"><a name="Betriebssystem"></a>2.1.1. Betriebssystem</h3></div></div></div><p>Lx-Office ist für Linux konzipiert, und sollte auf jedem
unixoiden Betriebssystem zum Laufen zu kriegen sein. Getestet ist
- diese Version im speziellen auf Debian und Ubuntu, grundsätzlich wurde
- bei der Auswahl der Pakete aber darauf Rücksicht genommen, dass es
- ohne große Probleme auf den derzeit aktuellen verbreiteten
- Distributionen läuft.</p><p>Anfang 2012 sind das folgende Systeme, von denen bekannt ist,
- dass Lx-Office auf ihnen läuft:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Ubuntu 8.04 LTS Hardy Heron, 10.04 LTS Lucid Lynx bis 11.10
- Oneiric Ocelot</p></li><li class="listitem"><p>Debian 5.0 Lenny und 6.0 Squeeze</p></li><li class="listitem"><p>openSUSE 11.2 und 11.3</p></li><li class="listitem"><p>SuSE Linux Enterprice Server 11</p></li><li class="listitem"><p>Fedora 13 bis 15</p></li></ul></div><p>Ubuntu 8.04 LTS hat zusätzlich die Schwierigkeit, dass die
- Module im Archiv recht alt sind, und das viele der benötigten Module
- nicht einfach zu installieren sind. Dafür sollte es kurz nach dem
- Release ein eigenes .deb geben.</p><p>Alternativ dazu kann die normale Installation durchgeführt
+ diese Version im speziellen auf Debian und Ubuntu, grundsätzlich wurde
+ bei der Auswahl der Pakete aber darauf Rücksicht genommen, dass es
+ ohne große Probleme auf den derzeit aktuellen verbreiteten
+ Distributionen läuft.</p><p>Anfang 2012 sind das folgende Systeme, von denen bekannt ist,
+ dass Lx-Office auf ihnen läuft:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Ubuntu 8.04 LTS Hardy Heron, 10.04 LTS Lucid Lynx bis 11.10
+ Oneiric Ocelot</p></li><li class="listitem"><p>Debian 5.0 Lenny und 6.0 Squeeze</p></li><li class="listitem"><p>openSUSE 11.2 und 11.3</p></li><li class="listitem"><p>SuSE Linux Enterprice Server 11</p></li><li class="listitem"><p>Fedora 13 bis 15</p></li></ul></div><p>Ubuntu 8.04 LTS hat zusätzlich die Schwierigkeit, dass die
+ Module im Archiv recht alt sind, und das viele der benötigten Module
+ nicht einfach zu installieren sind. Dafür sollte es kurz nach dem
+ Release ein eigenes .deb geben.</p><p>Alternativ dazu kann die normale Installation durchgeführt
werden (siehe <a class="xref" href="ch02s02.html" title="2.2. Manuelle Installation des Programmpaketes">Manuelle Installation des Programmpaketes</a>), wenn vorher
- ein Kompatibilitätspaket installiert wird, das die fehlenden Pakete
+ ein Kompatibilitätspaket installiert wird, das die fehlenden Pakete
bereitstellt. Das Paket ist auf <a class="ulink" href="https://sourceforge.net/projects/lx-office/files/Lx-Office%20ERP/2.6.3/" target="_top">Sourceforge</a>
unter dem Namen <code class="filename">lx-erp-perl-libs-compat-v2.tar.gz</code>
hinterlegt.</p><p>Zur Installation das Paket in das entpackte Lx-Office
- Verzeichnis entpacken:</p><pre class="programlisting">tar xzf lx-erp-perl-libs-compat-v2.tar.gz /path/to/lx-office/</pre><p>Zusätzlich müssen dann noch die folgenden Pakete installiert
+ Verzeichnis entpacken:</p><pre class="programlisting">tar xzf lx-erp-perl-libs-compat-v2.tar.gz /path/to/lx-office/</pre><p>Zusätzlich müssen dann noch die folgenden Pakete installiert
weerden</p><pre class="programlisting">apt-get install libbit-vector-perl libsub-exporter-perl libclone-perl \
libclass-factory-util-perl</pre><p>Danach sollte der Installationscheck (siehe <a class="xref" href="ch02.html#Pakete" title="2.1.2. Pakete">Pakete</a>) die enthaltenen Pakete erkennen.</p></div><div class="sect2" title="2.1.2. Pakete"><div class="titlepage"><div><div><h3 class="title"><a name="Pakete"></a>2.1.2. Pakete</h3></div></div></div><p>Zum Betrieb von Lx-Office werden zwingend ein Webserver (meist
Apache) und ein Datenbankserver (PostgreSQL, mindestens v8.2)
- benötigt.</p><p>Zusätzlich benötigt Lx-Office die folgenden Perl-Pakete, die
- nicht Bestandteil einer Standard-Perl-Installation sind:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>parent</p></li><li class="listitem"><p>Archive::Zip</p></li><li class="listitem"><p>Config::Std</p></li><li class="listitem"><p>DateTime</p></li><li class="listitem"><p>DBI</p></li><li class="listitem"><p>DBD::Pg</p></li><li class="listitem"><p>Email::Address</p></li><li class="listitem"><p>JSON</p></li><li class="listitem"><p>List::MoreUtils</p></li><li class="listitem"><p>Params::Validate</p></li><li class="listitem"><p>PDF::API2</p></li><li class="listitem"><p>Rose::Object</p></li><li class="listitem"><p>Rose::DB</p></li><li class="listitem"><p>Rose::DB::Object</p></li><li class="listitem"><p>Template</p></li><li class="listitem"><p>Text::CSV_XS</p></li><li class="listitem"><p>Text::Iconv</p></li><li class="listitem"><p>URI</p></li><li class="listitem"><p>XML::Writer</p></li><li class="listitem"><p>YAML</p></li></ul></div><p>Gegenüber Version 2.6.0 sind zu dieser Liste 2 Pakete
+ benötigt.</p><p>Zusätzlich benötigt Lx-Office die folgenden Perl-Pakete, die
+ nicht Bestandteil einer Standard-Perl-Installation sind:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>parent</p></li><li class="listitem"><p>Archive::Zip</p></li><li class="listitem"><p>Config::Std</p></li><li class="listitem"><p>DateTime</p></li><li class="listitem"><p>DBI</p></li><li class="listitem"><p>DBD::Pg</p></li><li class="listitem"><p>Email::Address</p></li><li class="listitem"><p>JSON</p></li><li class="listitem"><p>List::MoreUtils</p></li><li class="listitem"><p>Params::Validate</p></li><li class="listitem"><p>PDF::API2</p></li><li class="listitem"><p>Rose::Object</p></li><li class="listitem"><p>Rose::DB</p></li><li class="listitem"><p>Rose::DB::Object</p></li><li class="listitem"><p>Template</p></li><li class="listitem"><p>Text::CSV_XS</p></li><li class="listitem"><p>Text::Iconv</p></li><li class="listitem"><p>URI</p></li><li class="listitem"><p>XML::Writer</p></li><li class="listitem"><p>YAML</p></li></ul></div><p>Gegenüber Version 2.6.0 sind zu dieser Liste 2 Pakete
hinzugekommen, <code class="literal">URI</code> und
<code class="literal">XML::Writer</code> sind notwendig. Ohne startet Lx-Office
- nicht.</p><p>Gegenüber Version 2.6.1 sind <code class="literal">parent</code>,
+ nicht.</p><p>Gegenüber Version 2.6.1 sind <code class="literal">parent</code>,
<code class="literal">DateTime</code>, <code class="literal">Rose::Object</code>,
<code class="literal">Rose::DB</code> und <code class="literal">Rose::DB::Object</code>
- neu hinzugekommen. <code class="literal">IO::Wrap</code> wurde entfernt.</p><p>Gegenüber Version 2.6.3 ist <code class="literal">JSON</code> neu
+ neu hinzugekommen. <code class="literal">IO::Wrap</code> wurde entfernt.</p><p>Gegenüber Version 2.6.3 ist <code class="literal">JSON</code> neu
hinzugekommen.</p><p>
<code class="literal">Email::Address</code> und
- <code class="literal">List::MoreUtils</code> sind schon länger feste
- Abhängigkeiten, wurden aber bisher mit Lx-Office mitgeliefert. Beide
+ <code class="literal">List::MoreUtils</code> sind schon länger feste
+ Abhängigkeiten, wurden aber bisher mit Lx-Office mitgeliefert. Beide
sind auch in 2.6.1 weiterhin mit ausgeliefert, wurden in einer
- zukünftigen Version aber aus dem Paket entfernt werden. Es wird
+ zukünftigen Version aber aus dem Paket entfernt werden. Es wird
empfohlen diese Module zusammen mit den anderen als Bibliotheken zu
- installieren.</p><p>Die zu installierenden Pakete können in den verschiedenen
- Distributionen unterschiedlich heißen.</p><p>Für Debian oder Ubuntu benötigen Sie diese Pakete:</p><pre class="programlisting">apt-get install apache2 postgresql libparent-perl libarchive-zip-perl \
+ installieren.</p><p>Die zu installierenden Pakete können in den verschiedenen
+ Distributionen unterschiedlich heißen.</p><p>Für Debian oder Ubuntu benötigen Sie diese Pakete:</p><pre class="programlisting">apt-get install apache2 postgresql libparent-perl libarchive-zip-perl \
libdatetime-perl libdbi-perl libdbd-pg-perl libpg-perl \
libemail-address-perl liblist-moreutils-perl libpdf-api2-perl \
librose-object-perl librose-db-perl librose-db-object-perl \
libtemplate-perl libtext-csv-xs-perl libtext-iconv-perl liburi-perl \
libxml-writer-perl libyaml-perl libconfig-std-perl \
- libparams-validate-perl libjson-perl libclass-accessor-perl</pre><p>Für Fedora Core benötigen Sie diese Pakete:</p><pre class="programlisting">yum install httpd postgresql-server perl-parent perl-DateTime \
+ libparams-validate-perl libjson-perl libclass-accessor-perl</pre><p>Für Fedora Core benötigen Sie diese Pakete:</p><pre class="programlisting">yum install httpd postgresql-server perl-parent perl-DateTime \
perl-DBI perl-DBD-Pg perl-Email-Address perl-List-MoreUtils \
perl-PDF-API2 perl-Rose-Object perl-Rose-DB perl-Rose-DB-Object \
perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI \
- perl-XML-Writer perl-YAML</pre><p>Für OpenSuSE benötigen Sie diese Pakete:</p><pre class="programlisting">zypper install apache2 postgresql-server perl-Archive-Zip \
+ perl-XML-Writer perl-YAML</pre><p>Für OpenSuSE benötigen Sie diese Pakete:</p><pre class="programlisting">zypper install apache2 postgresql-server perl-Archive-Zip \
perl-DateTime perl-DBI perl-DBD-Pg perl-MailTools perl-List-MoreUtils \
perl-PDF-API2 perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv \
perl-URI perl-XML-Writer perl-YAML</pre><p>Bei openSuSE 11 ist <code class="literal">parent</code> bereits enthalten,
und braucht nicht nachinstalliert werden. Die
- <code class="literal">Rose::*</code> Pakete sind derzeit nicht für SuSE gepackt,
- und müssen anderweitig nachinstalliert werden.</p><p>Lx-Office enthält ein Script, mit dem überprüft werden kann, ob
- alle benötigten Perl-Module installiert sind. Der Aufruf lautet wie
- folgt:</p><pre class="programlisting">./scripts/installation_check.pl</pre></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01.html">Zurück</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch02s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 1. Aktuelle Hinweise </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.2. Manuelle Installation des Programmpaketes</td></tr></table></div></body></html>
\ No newline at end of file
+ <code class="literal">Rose::*</code> Pakete sind derzeit nicht für SuSE gepackt,
+ und müssen anderweitig nachinstalliert werden.</p><p>Lx-Office enthält ein Script, mit dem überprüft werden kann, ob
+ alle benötigten Perl-Module installiert sind. Der Aufruf lautet wie
+ folgt:</p><pre class="programlisting">./scripts/installation_check.pl</pre></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01.html">Zurück</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch02s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 1. Aktuelle Hinweise </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.2. Manuelle Installation des Programmpaketes</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>2.2. Manuelle Installation des Programmpaketes</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="next" href="ch02s03.html" title="2.3. Lx-Office-Konfigurationsdatei"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.2. Manuelle Installation des Programmpaketes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.2. Manuelle Installation des Programmpaketes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Manuelle-Installation-des-Programmpaketes"></a>2.2. Manuelle Installation des Programmpaketes</h2></div></div></div><p>Die Lx-Office ERP Installationsdatei (lxoffice-erp-2.6.3.tgz) wird
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>2.2. Manuelle Installation des Programmpaketes</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="next" href="ch02s03.html" title="2.3. Lx-Office-Konfigurationsdatei"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.2. Manuelle Installation des Programmpaketes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.2. Manuelle Installation des Programmpaketes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Manuelle-Installation-des-Programmpaketes"></a>2.2. Manuelle Installation des Programmpaketes</h2></div></div></div><p>Die Lx-Office ERP Installationsdatei (lxoffice-erp-2.6.3.tgz) wird
im Dokumentenverzeichnis des Webservers (z.B.
<code class="filename">/var/www/html/</code>,
<code class="filename">/srv/www/htdocs</code> oder
<code class="filename">/var/www/</code>) entpackt:</p><pre class="programlisting">cd /var/www tar xvzf
-lxoffice-erp-2.6.3.tgz</pre><p>Verändern Sie evtl. noch den Namen des Verzeichnisses und wechseln Sie in es:</p><pre class="programlisting">mv lxoffice-erp/ lx-erp/
-cd lx-erp</pre><p>Alternativ können Sie auch einen Alias in der
- Webserverkonfiguration benutzen, um auf das tatsächliche
- Installationsverzeichnis zu verweisen.</p><p>Die Verzeichnisse <code class="filename">users</code>, <code class="filename">spool</code> und <code class="filename">webdav</code> müssen für den Benutzer
- beschreibbar sein, unter dem der Webserver läuft. Die restlichen Dateien müssen für diesen Benutzer lesbar sein. Die Benutzer- und
+lxoffice-erp-2.6.3.tgz</pre><p>Verändern Sie evtl. noch den Namen des Verzeichnisses und wechseln Sie in es:</p><pre class="programlisting">mv lxoffice-erp/ lx-erp/
+cd lx-erp</pre><p>Alternativ können Sie auch einen Alias in der
+ Webserverkonfiguration benutzen, um auf das tatsächliche
+ Installationsverzeichnis zu verweisen.</p><p>Die Verzeichnisse <code class="filename">users</code>, <code class="filename">spool</code> und <code class="filename">webdav</code> müssen für den Benutzer
+ beschreibbar sein, unter dem der Webserver läuft. Die restlichen Dateien müssen für diesen Benutzer lesbar sein. Die Benutzer- und
Gruppennamen sind bei verschiedenen Distributionen unterschiedlich (z.B. bei Debian/Ubuntu <code class="constant">www-data</code>, bei Fedora
- core <code class="constant">apache</code> oder bei OpenSuSE <code class="constant">wwwrun</code>).</p><p>Der folgende Befehl ändert den Besitzer für die oben genannten
+ core <code class="constant">apache</code> oder bei OpenSuSE <code class="constant">wwwrun</code>).</p><p>Der folgende Befehl ändert den Besitzer für die oben genannten
Verzeichnisse auf einem Debian/Ubuntu-System:</p><pre class="programlisting">chown -R www-data users spool webdav</pre><p>Weiterhin muss der Webserver-Benutzer in den Verzeichnissen <code class="filename">templates</code> und <code class="filename">users</code>
- Unterverzeichnisse für jeden neuen Benutzer anlegen dürfen, der in Lx-Office angelegt wird:</p><pre class="programlisting">chown www-data templates users</pre></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 2. Installation und Grundkonfiguration </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.3. Lx-Office-Konfigurationsdatei</td></tr></table></div></body></html>
\ No newline at end of file
+ Unterverzeichnisse für jeden neuen Benutzer anlegen dürfen, der in Lx-Office angelegt wird:</p><pre class="programlisting">chown www-data templates users</pre></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 2. Installation und Grundkonfiguration </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.3. Lx-Office-Konfigurationsdatei</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>2.3. Lx-Office-Konfigurationsdatei</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s02.html" title="2.2. Manuelle Installation des Programmpaketes"><link rel="next" href="ch02s04.html" title="2.4. Anpassung der PostgreSQL-Konfiguration"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.3. Lx-Office-Konfigurationsdatei</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s02.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s04.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.3. Lx-Office-Konfigurationsdatei"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.config-file"></a>2.3. Lx-Office-Konfigurationsdatei</h2></div></div></div><div class="sect2" title="2.3.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.introduction"></a>2.3.1. Einführung</h3></div></div></div><p>Seit Lx-Office 2.6.3. gibt es nur noch eine Konfigurationsdatei
- die benötigt wird: <code class="filename">config/lx_office.conf</code> (kurz:
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>2.3. Lx-Office-Konfigurationsdatei</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s02.html" title="2.2. Manuelle Installation des Programmpaketes"><link rel="next" href="ch02s04.html" title="2.4. Anpassung der PostgreSQL-Konfiguration"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.3. Lx-Office-Konfigurationsdatei</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s02.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s04.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.3. Lx-Office-Konfigurationsdatei"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.config-file"></a>2.3. Lx-Office-Konfigurationsdatei</h2></div></div></div><div class="sect2" title="2.3.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.introduction"></a>2.3.1. Einführung</h3></div></div></div><p>Seit Lx-Office 2.6.3. gibt es nur noch eine Konfigurationsdatei
+ die benötigt wird: <code class="filename">config/lx_office.conf</code> (kurz:
"die Hauptkonfigurationsdatei"). Diese muss bei der Erstinstallation
- von Lx-Office bzw. der Migration von älteren Versionen angelegt
+ von Lx-Office bzw. der Migration von älteren Versionen angelegt
werden.</p><p>Als Vorlage dient die Datei
<code class="filename">config/lx_office.conf.default</code> (kurz: "die
Default-Datei"):</p><pre class="programlisting">$ cp config/lx_office.conf.default config/lx_office.conf</pre><p>Die Default-Datei wird immer zuerst eingelesen. Werte, die in
- der Hauptkonfigurationsdatei stehen, überschreiben die Werte aus der
+ der Hauptkonfigurationsdatei stehen, überschreiben die Werte aus der
Default-Datei. Die Hauptkonfigurationsdatei muss also nur die
Abschnitte und Werte enthalten, die von denen der Default-Datei
abweichen.</p><p>Diese Hauptkonfigurationsdatei ist dann eine
- installationsspezifische Datei, d.h. sie enthält bspw. lokale
- Passwörter und wird auch nicht im Versionsmanagement (git)
- verwaltet.</p><p>Die Konfiguration ist ferner serverabhängig, d.h. für alle
+ installationsspezifische Datei, d.h. sie enthält bspw. lokale
+ Passwörter und wird auch nicht im Versionsmanagement (git)
+ verwaltet.</p><p>Die Konfiguration ist ferner serverabhängig, d.h. für alle
Mandaten, bzw. Datenbanken gleich.</p></div><div class="sect2" title="2.3.2. Abschnitte und Parameter"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.sections-parameters"></a>2.3.2. Abschnitte und Parameter</h3></div></div></div><p>Die Konfigurationsdatei besteht aus mehreren Teilen, die
entsprechend kommentiert sind:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<code class="literal">authentication</code>
<code class="literal">console</code>
</p></li><li class="listitem"><p>
<code class="literal">debug</code>
- </p></li></ul></div><p>Die üblicherweise wichtigsten Parameter, die am Anfang
+ </p></li></ul></div><p>Die üblicherweise wichtigsten Parameter, die am Anfang
einzustellen oder zu kontrollieren sind, sind:</p><pre class="programlisting">[authentication]
admin_password = geheim
dbcharset = UTF-8</pre><p>Nutzt man wiederkehrende Rechnungen, kann man unter
<code class="varname">[periodic_invoices]</code> den Login eines Benutzers
angeben, der nach Erstellung der Rechnungen eine entsprechende E-Mail
- mit Informationen über die erstellten Rechnungen bekommt.</p><p>Nutzt man den <a class="link" href="ch02s06.html" title="2.6. Der Task-Server">Taskserver</a> für <a class="link" href="ch03.html#features.periodic-invoices" title="3.1. Wiederkehrende Rechnungen">wiederkehrende Rechnungen</a>,
+ mit Informationen über die erstellten Rechnungen bekommt.</p><p>Nutzt man den <a class="link" href="ch02s06.html" title="2.6. Der Task-Server">Taskserver</a> für <a class="link" href="ch03.html#features.periodic-invoices" title="3.1. Wiederkehrende Rechnungen">wiederkehrende Rechnungen</a>,
muss unter <code class="varname">[task_server]</code> ein Login eines Benutzers
angegeben werden, mit dem sich der Taskserver an Lx-Office bei der
- Datenbank anmeldet, die dem Benutzer zugewiesen ist.</p><p>Für Entwickler finden sich unter <code class="varname">[debug]</code>
- wichtige Funktionen, um die Fehlersuche zu erleichtern.</p></div><div class="sect2" title="2.3.3. Versionen vor 2.6.3"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.prior-versions"></a>2.3.3. Versionen vor 2.6.3</h3></div></div></div><p>In älteren Lx-Office Versionen gab es im Verzeichnis
+ Datenbank anmeldet, die dem Benutzer zugewiesen ist.</p><p>Für Entwickler finden sich unter <code class="varname">[debug]</code>
+ wichtige Funktionen, um die Fehlersuche zu erleichtern.</p></div><div class="sect2" title="2.3.3. Versionen vor 2.6.3"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.prior-versions"></a>2.3.3. Versionen vor 2.6.3</h3></div></div></div><p>In älteren Lx-Office Versionen gab es im Verzeichnis
<code class="filename">config</code> die Dateien
<code class="filename">authentication.pl</code> und
<code class="filename">lx-erp.conf</code>, die jeweils Perl-Dateien waren. Es
- gab auch die Möglichkeit, eine lokale Version der Konfigurationsdatei
+ gab auch die Möglichkeit, eine lokale Version der Konfigurationsdatei
zu erstellen (<code class="filename">lx-erp-local.conf</code>). Dies ist ab
- 2.6.3 nicht mehr möglich, aber auch nicht mehr nötig.</p><p>Beim Update von einer Lx-Office-Version vor 2.6.3 auf 2.6.3 oder
- jünger müssen die Einstellungen aus den alten Konfigurationsdateien
- manuell übertragen und die alten Konfigurationsdateien anschließend
- gelöscht oder verschoben werden. Ansonsten zeigt Lx-Office eine
- entsprechende Fehlermeldung an.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s02.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s04.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.2. Manuelle Installation des Programmpaketes </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.4. Anpassung der PostgreSQL-Konfiguration</td></tr></table></div></body></html>
\ No newline at end of file
+ 2.6.3 nicht mehr möglich, aber auch nicht mehr nötig.</p><p>Beim Update von einer Lx-Office-Version vor 2.6.3 auf 2.6.3 oder
+ jünger müssen die Einstellungen aus den alten Konfigurationsdateien
+ manuell übertragen und die alten Konfigurationsdateien anschließend
+ gelöscht oder verschoben werden. Ansonsten zeigt Lx-Office eine
+ entsprechende Fehlermeldung an.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s02.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s04.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.2. Manuelle Installation des Programmpaketes </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.4. Anpassung der PostgreSQL-Konfiguration</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>2.4. Anpassung der PostgreSQL-Konfiguration</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s03.html" title="2.3. Lx-Office-Konfigurationsdatei"><link rel="next" href="ch02s05.html" title="2.5. Webserver-Konfiguration"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.4. Anpassung der PostgreSQL-Konfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s03.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s05.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.4. Anpassung der PostgreSQL-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Anpassung-der-PostgreSQL-Konfiguration"></a>2.4. Anpassung der PostgreSQL-Konfiguration</h2></div></div></div><p>PostgreSQL muss auf verschiedene Weisen angepasst werden.</p><div class="sect2" title="2.4.1. Zeichensätze/die Verwendung von UTF-8"><div class="titlepage"><div><div><h3 class="title"><a name="Zeichens%C3%A4tze-die-Verwendung-von-UTF-8"></a>2.4.1. Zeichensätze/die Verwendung von UTF-8</h3></div></div></div><p>Lx-Office kann komplett mit UTF-8 als Zeichensatz verwendet
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>2.4. Anpassung der PostgreSQL-Konfiguration</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s03.html" title="2.3. Lx-Office-Konfigurationsdatei"><link rel="next" href="ch02s05.html" title="2.5. Webserver-Konfiguration"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.4. Anpassung der PostgreSQL-Konfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s03.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s05.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.4. Anpassung der PostgreSQL-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Anpassung-der-PostgreSQL-Konfiguration"></a>2.4. Anpassung der PostgreSQL-Konfiguration</h2></div></div></div><p>PostgreSQL muss auf verschiedene Weisen angepasst werden.</p><div class="sect2" title="2.4.1. Zeichensätze/die Verwendung von UTF-8"><div class="titlepage"><div><div><h3 class="title"><a name="Zeichens%C3%A4tze-die-Verwendung-von-UTF-8"></a>2.4.1. Zeichensätze/die Verwendung von UTF-8</h3></div></div></div><p>Lx-Office kann komplett mit UTF-8 als Zeichensatz verwendet
werden. Dabei gibt es zwei Punkte zu beachten: PostgreSQL muss in
Version 8.2 oder neuer benutzt werden, und der
PostgreSQL-Datenbankcluster muss ebenfalls mit UTF-8 als Locale
- angelegt worden sein.</p><p>Dieses ist kann überprüft werden: ist das Encoding der Datenbank
- “template1” “UTF8”, so kann auch Lx-Office mit UTF-8 betrieben werden.
+ angelegt worden sein.</p><p>Dieses ist kann überprüft werden: ist das Encoding der Datenbank
+ “template1” “UTF8”, so kann auch Lx-Office mit UTF-8 betrieben werden.
Andernfalls ist es notwendig, einen neuen Datenbankcluster mit
UTF-8-Encoding anzulegen und diesen zu verwenden. Unter Debian und
- Ubuntu kann dies z.B. für PostgreSQL 8.2 mit dem folgenden Befehl
- getan werden:</p><pre class="programlisting">pg_createcluster --locale=de_DE.UTF-8 --encoding=UTF-8 8.2 clustername</pre><p>Die Datenbankversionsnummer muss an die tatsächlich verwendete
- Versionsnummer angepasst werden.</p><p>Unter anderen Distributionen gibt es ähnliche Methoden.</p><p>Wurde PostgreSQL nicht mit UTF-8 als Encoding initialisiert und
- ist ein Neuanlegen eines weiteren Clusters nicht möglich, so kann
+ Ubuntu kann dies z.B. für PostgreSQL 8.2 mit dem folgenden Befehl
+ getan werden:</p><pre class="programlisting">pg_createcluster --locale=de_DE.UTF-8 --encoding=UTF-8 8.2 clustername</pre><p>Die Datenbankversionsnummer muss an die tatsächlich verwendete
+ Versionsnummer angepasst werden.</p><p>Unter anderen Distributionen gibt es ähnliche Methoden.</p><p>Wurde PostgreSQL nicht mit UTF-8 als Encoding initialisiert und
+ ist ein Neuanlegen eines weiteren Clusters nicht möglich, so kann
Lx-Office mit ISO-8859-15 als Encoding betrieben werden.</p><p>Das Encoding einer Datenbank kann in <span class="command"><strong>psql</strong></span> mit
- <code class="literal">\l</code> geprüft werden.</p></div><div class="sect2" title="2.4.2. Änderungen an Konfigurationsdateien"><div class="titlepage"><div><div><h3 class="title"><a name="%C3%84nderungen-an-Konfigurationsdateien"></a>2.4.2. Änderungen an Konfigurationsdateien</h3></div></div></div><p>In der Datei <code class="filename">postgresql.conf</code>, die je nach
+ <code class="literal">\l</code> geprüft werden.</p></div><div class="sect2" title="2.4.2. Änderungen an Konfigurationsdateien"><div class="titlepage"><div><div><h3 class="title"><a name="%C3%84nderungen-an-Konfigurationsdateien"></a>2.4.2. Änderungen an Konfigurationsdateien</h3></div></div></div><p>In der Datei <code class="filename">postgresql.conf</code>, die je nach
Distribution in verschiedenen Verzeichnissen liegen kann (z.B.
<code class="filename">/var/lib/pgsql/data/</code> oder
<code class="filename">/etc/postgresql/</code>, muss sichergestellt werden,
- dass TCP/IP-Verbindungen aktiviert sind. Das Verhalten wird über den
+ dass TCP/IP-Verbindungen aktiviert sind. Das Verhalten wird über den
Parameter <code class="varname">listen_address</code> gesteuert. Laufen
PostgreSQL und Lx-Office auf demselben Rechner, so kann dort der Wert
- <code class="literal">localhost</code> verwendet werden. Andernfalls müssen
+ <code class="literal">localhost</code> verwendet werden. Andernfalls müssen
Datenbankverbindungen auch von anderen Rechnern aus zugelassen werden,
was mit dem Wert <code class="literal">*</code> geschieht.</p><p>In der Datei <code class="filename">pg_hba.conf</code>, die im gleichen
Verzeichnis wie die <code class="filename">postgresql.conf</code> zu finden
- sein sollte, müssen die Berichtigungen für den Zugriff geändert
- werden. Hier gibt es mehrere Möglichkeiten. Eine besteht darin, lokale
+ sein sollte, müssen die Berichtigungen für den Zugriff geändert
+ werden. Hier gibt es mehrere Möglichkeiten. Eine besteht darin, lokale
Verbindungen immer zuzulassen:</p><pre class="programlisting">local all all trust
-host all all 127.0.0.1 255.0.0.0 trust</pre><p>Besser ist es, für eine bestimmte Datenbank Zugriff nur per
+host all all 127.0.0.1 255.0.0.0 trust</pre><p>Besser ist es, für eine bestimmte Datenbank Zugriff nur per
Passwort zuzulassen. Beispielsweise:</p><pre class="programlisting">local all lxoffice password
-host all lxoffice 127.0.0.1 255.255.255.255 password</pre></div><div class="sect2" title="2.4.3. Erweiterung für servergespeicherte Prozeduren"><div class="titlepage"><div><div><h3 class="title"><a name="Erweiterung-f%C3%BCr-servergespeicherte-Prozeduren"></a>2.4.3. Erweiterung für servergespeicherte Prozeduren</h3></div></div></div><p>In der Datenbank <code class="literal">template1</code> muss die
- Unterstützung für servergespeicherte Prozeduren eingerichet werden.
- Melden Sie sich dafür als Benutzer “postgres” an der Datenbank an, und
- führen Sie die folgenden Kommandos aus:</p><pre class="programlisting">create language 'plpgsql';</pre></div><div class="sect2" title="2.4.4. Datenbankbenutzer anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Datenbankbenutzer-anlegen"></a>2.4.4. Datenbankbenutzer anlegen</h3></div></div></div><p>Wenn Sie nicht den Datenbanksuperuser “postgres” zum Zugriff
+host all lxoffice 127.0.0.1 255.255.255.255 password</pre></div><div class="sect2" title="2.4.3. Erweiterung für servergespeicherte Prozeduren"><div class="titlepage"><div><div><h3 class="title"><a name="Erweiterung-f%C3%BCr-servergespeicherte-Prozeduren"></a>2.4.3. Erweiterung für servergespeicherte Prozeduren</h3></div></div></div><p>In der Datenbank <code class="literal">template1</code> muss die
+ Unterstützung für servergespeicherte Prozeduren eingerichet werden.
+ Melden Sie sich dafür als Benutzer “postgres” an der Datenbank an, und
+ führen Sie die folgenden Kommandos aus:</p><pre class="programlisting">create language 'plpgsql';</pre></div><div class="sect2" title="2.4.4. Datenbankbenutzer anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Datenbankbenutzer-anlegen"></a>2.4.4. Datenbankbenutzer anlegen</h3></div></div></div><p>Wenn Sie nicht den Datenbanksuperuser “postgres” zum Zugriff
benutzen wollen, so sollten Sie bei PostgreSQL einen neuen Benutzer
anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen
- können:</p><pre class="programlisting">su - postgres createuser -d -P lxoffice</pre><p>Wenn Sie später einen Datenbankzugriff konfigurieren, verändern
- Sie den evtl. voreingestellten Benutzer “postgres” auf “lxoffice” bzw.
- den hier gewählten Benutzernamen.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s03.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s05.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.3. Lx-Office-Konfigurationsdatei </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.5. Webserver-Konfiguration</td></tr></table></div></body></html>
\ No newline at end of file
+ können:</p><pre class="programlisting">su - postgres createuser -d -P lxoffice</pre><p>Wenn Sie später einen Datenbankzugriff konfigurieren, verändern
+ Sie den evtl. voreingestellten Benutzer “postgres” auf “lxoffice” bzw.
+ den hier gewählten Benutzernamen.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s03.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s05.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.3. Lx-Office-Konfigurationsdatei </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.5. Webserver-Konfiguration</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>2.5. 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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s04.html" title="2.4. Anpassung der PostgreSQL-Konfiguration"><link rel="next" href="ch02s06.html" title="2.6. 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.5. Webserver-Konfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s04.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="ch02s06.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.5. Webserver-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Apache-Konfiguration"></a>2.5. Webserver-Konfiguration</h2></div></div></div><div class="sect2" title="2.5.1. Grundkonfiguration mittels CGI"><div class="titlepage"><div><div><h3 class="title"><a name="d0e511"></a>2.5.1. Grundkonfiguration mittels CGI</h3></div></div></div><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="../../../../system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>Für einen deutlichen Performanceschub sorgt die Ausführung
- mittels FastCGI/FCGI. Die Einrichtung wird ausführlich im Abschnitt
- <a class="xref" href="ch02s05.html#Apache-Konfiguration.FCGI" title="2.5.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
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>2.5. 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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s04.html" title="2.4. Anpassung der PostgreSQL-Konfiguration"><link rel="next" href="ch02s06.html" title="2.6. 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.5. Webserver-Konfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s04.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="ch02s06.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.5. Webserver-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Apache-Konfiguration"></a>2.5. Webserver-Konfiguration</h2></div></div></div><div class="sect2" title="2.5.1. Grundkonfiguration mittels CGI"><div class="titlepage"><div><div><h3 class="title"><a name="d0e511"></a>2.5.1. Grundkonfiguration mittels CGI</h3></div></div></div><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="../../../../system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>Für einen deutlichen Performanceschub sorgt die Ausführung
+ mittels FastCGI/FCGI. Die Einrichtung wird ausführlich im Abschnitt
+ <a class="xref" href="ch02s05.html#Apache-Konfiguration.FCGI" title="2.5.2. Konfiguration für FastCGI/FCGI">Konfiguration für FastCGI/FCGI</a> beschrieben.</p></td></tr></table></div><p>Der Zugriff auf das Programmverzeichnis muss in der Apache
Webserverkonfigurationsdatei <code class="literal">httpd.conf</code> eingestellt
- werden. Fügen Sie den folgenden Abschnitt dieser Datei oder einer
+ werden. Fügen Sie den folgenden Abschnitt dieser Datei oder einer
anderen Datei hinzu, die beim Starten des Webservers eingelesen
wird:</p><pre class="programlisting">AddHandler cgi-script .pl
Alias /lx-erp/ /var/www/lx-erp/
Deny from All
</Directory></pre><p>Ersetzen Sie dabei die Pfade durch diejenigen, in die Sie vorher
das Lx-Office-Archiv entpacket haben.</p><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="../../../../system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>Vor den einzelnen Optionen muss bei einigen Distributionen ein
- Plus ‘<code class="literal">+</code>’ gesetzt werden.</p></td></tr></table></div><p>Auf einigen Webservern werden manchmal die Grafiken und
- Style-Sheets nicht ausgeliefert. In solchen Fällen hat es oft
- geholfen, die folgende Option in die Konfiguration aufzunehmen:</p><pre class="programlisting">EnableSendfile Off</pre></div><div class="sect2" title="2.5.2. Konfiguration für FastCGI/FCGI"><div class="titlepage"><div><div><h3 class="title"><a name="Apache-Konfiguration.FCGI"></a>2.5.2. Konfiguration für FastCGI/FCGI</h3></div></div></div><div class="sect3" title="2.5.2.1. Was ist FastCGI?"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.WasIstEs"></a>2.5.2.1. Was ist FastCGI?</h4></div></div></div><p>Direkt aus <a class="ulink" href="http://de.wikipedia.org/wiki/FastCGI" target="_top">Wikipedia</a>
+ Plus ‘<code class="literal">+</code>’ gesetzt werden.</p></td></tr></table></div><p>Auf einigen Webservern werden manchmal die Grafiken und
+ Style-Sheets nicht ausgeliefert. In solchen Fällen hat es oft
+ geholfen, die folgende Option in die Konfiguration aufzunehmen:</p><pre class="programlisting">EnableSendfile Off</pre></div><div class="sect2" title="2.5.2. Konfiguration für FastCGI/FCGI"><div class="titlepage"><div><div><h3 class="title"><a name="Apache-Konfiguration.FCGI"></a>2.5.2. Konfiguration für FastCGI/FCGI</h3></div></div></div><div class="sect3" title="2.5.2.1. Was ist FastCGI?"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.WasIstEs"></a>2.5.2.1. Was ist FastCGI?</h4></div></div></div><p>Direkt aus <a class="ulink" href="http://de.wikipedia.org/wiki/FastCGI" target="_top">Wikipedia</a>
kopiert:</p><p>
- [<span class="citation"> FastCGI ist ein Standard für die Einbindung
+ [<span class="citation"> FastCGI ist ein Standard für die Einbindung
externer Software zur Generierung dynamischer Webseiten in einem
Webserver. FastCGI ist vergleichbar zum Common Gateway Interface
(CGI), wurde jedoch entwickelt, um dessen Performance-Probleme zu
umgehen. </span>]
</p></div><div class="sect3" title="2.5.2.2. Warum FastCGI?"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.Warum"></a>2.5.2.2. Warum FastCGI?</h4></div></div></div><p>Perl Programme (wie Lx-Office eines ist) werden nicht statisch
kompiliert. Stattdessen werden die Quelldateien bei jedem Start
- übersetzt, was bei kurzen Laufzeiten einen Großteil der Laufzeit
- ausmacht. Während SQL Ledger einen Großteil der Funktionalität in
+ übersetzt, was bei kurzen Laufzeiten einen Großteil der Laufzeit
+ ausmacht. Während SQL Ledger einen Großteil der Funktionalität in
einzelne Module kapselt, um immer nur einen kleinen Teil laden zu
- müssen, ist die Funktionalität von Lx-Office soweit gewachsen, dass
- immer mehr Module auf den Rest des Programms zugreifen. Zusätzlich
- benutzen wir umfangreiche Bibliotheken um Funktionaltät nicht selber
- entwickeln zu müssen, die zusätzliche Ladezeit kosten. All dies
- führt dazu dass ein Lx-Office Aufruf der Kernmasken mittlerweile
- deutlich länger dauert als früher, und dass davon 90% für das Laden
+ müssen, ist die Funktionalität von Lx-Office soweit gewachsen, dass
+ immer mehr Module auf den Rest des Programms zugreifen. Zusätzlich
+ benutzen wir umfangreiche Bibliotheken um Funktionaltät nicht selber
+ entwickeln zu müssen, die zusätzliche Ladezeit kosten. All dies
+ führt dazu dass ein Lx-Office Aufruf der Kernmasken mittlerweile
+ deutlich länger dauert als früher, und dass davon 90% für das Laden
der Module verwendet wird.</p><p>Mit FastCGI werden nun die Module einmal geladen, und danach
- wird nur die eigentliche Programmlogik ausgeführt.</p></div><div class="sect3" title="2.5.2.3. Getestete Kombinationen aus Webservern und Plugin"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.WebserverUndPlugin"></a>2.5.2.3. Getestete Kombinationen aus Webservern und Plugin</h4></div></div></div><p>Folgende Kombinationen sind getestet:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Apache 2.2.11 (Ubuntu) und mod_fcgid.</p></li><li class="listitem"><p>Apache 2.2.11 (Ubuntu) und mod_fastcgi.</p></li></ul></div><p>Dabei wird mod_fcgid empfohlen, weil mod_fastcgi seit geraumer
+ wird nur die eigentliche Programmlogik ausgeführt.</p></div><div class="sect3" title="2.5.2.3. Getestete Kombinationen aus Webservern und Plugin"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.WebserverUndPlugin"></a>2.5.2.3. Getestete Kombinationen aus Webservern und Plugin</h4></div></div></div><p>Folgende Kombinationen sind getestet:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Apache 2.2.11 (Ubuntu) und mod_fcgid.</p></li><li class="listitem"><p>Apache 2.2.11 (Ubuntu) und mod_fastcgi.</p></li></ul></div><p>Dabei wird mod_fcgid empfohlen, weil mod_fastcgi seit geraumer
Zeit nicht mehr weiter entwickelt wird. Im Folgenden wird auf
mod_fastcgi nicht mehr explizit eingegangen.</p><p>Als Perl Backend wird das Modul <code class="filename">FCGI.pm</code>
- verwendet.</p><div class="warning" title="Warnung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warnung]" src="../../../../system/docbook-xsl/images/warning.png"></td><th align="left">Warnung</th></tr><tr><td align="left" valign="top"><p>FCGI 0.69 und höher ist extrem strict in der Behandlung von
+ verwendet.</p><div class="warning" title="Warnung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warnung]" src="../../../../system/docbook-xsl/images/warning.png"></td><th align="left">Warnung</th></tr><tr><td align="left" valign="top"><p>FCGI 0.69 und höher ist extrem strict in der Behandlung von
Unicode, und verweigert bestimmte Eingaben von Lx-Office. Falls es
Probleme mit Umlauten in Ihrere Installation gibt, muss auf die
- Vorgängerversion FCGI 0.68 ausgewichen werden.</p><p>Mit CPAN lässt sie sich die Vorgängerversion wie folgt
+ Vorgängerversion FCGI 0.68 ausgewichen werden.</p><p>Mit CPAN lässt sie sich die Vorgängerversion wie folgt
installieren:</p><pre class="programlisting">force install M/MS/MSTROUT/FCGI-0.68.tar.gz</pre></td></tr></table></div></div><div class="sect3" title="2.5.2.4. Konfiguration des Webservers"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.Konfiguration"></a>2.5.2.4. Konfiguration des Webservers</h4></div></div></div><p>Bevor Sie versuchen, eine Lx-Office Installation unter FCGI
laufen zu lassen, empfliehlt es sich die Installation ersteinmal
unter CGI aufzusetzen. FCGI macht es nicht einfach Fehler zu
- debuggen die beim ersten aufsetzen auftreten können. Sollte die
+ debuggen die beim ersten aufsetzen auftreten können. Sollte die
Installation schon funktionieren, lesen Sie weiter.</p><p>Zuerst muss das FastCGI-Modul aktiviert werden. Dies kann
- unter Debian/Ubuntu z.B. mit folgendem Befehl geschehen:</p><pre class="programlisting">a2enmod fcgid</pre><p>Die Konfiguration für die Verwendung von Lx-Office mit FastCGI
+ unter Debian/Ubuntu z.B. mit folgendem Befehl geschehen:</p><pre class="programlisting">a2enmod fcgid</pre><p>Die Konfiguration für die Verwendung von Lx-Office mit FastCGI
erfolgt durch Anpassung der vorhandenen <code class="function">Alias</code>-
und <code class="function">Directory</code>-Direktiven. Dabei wird zwischen
dem Installationspfad von Lx-Office im Dateisystem
<DirectoryMatch /path/to/lx-office-erp/users>
Order Deny,Allow
Deny from All
-</DirectoryMatch></pre><p>Seit mod_fcgid-Version 2.6.3 gelten sehr kleine Grenzen für
- die maximale Größe eines Requests. Diese sollte wie folgt
+</DirectoryMatch></pre><p>Seit mod_fcgid-Version 2.6.3 gelten sehr kleine Grenzen für
+ die maximale Größe eines Requests. Diese sollte wie folgt
hochgesetzt werden:</p><pre class="programlisting">FcgidMaxRequestLen 10485760</pre><p>Das ganze sollte dann so aussehen:</p><pre class="programlisting">AddHandler fcgid-script .fpl
AliasMatch ^/url/for/lx-office-erp/[^/]+\.pl /path/to/lx-office-erp/dispatcher.fpl
Alias /url/for/lx-office-erp/ /path/to/lx-office-erp/
Deny from All
</DirectoryMatch></pre><p>Hierdurch wird nur ein zentraler Dispatcher gestartet. Alle
Zugriffe auf die einzelnen Scripte werden auf diesen umgeleitet.
- Dadurch, dass zur Laufzeit öfter mal Scripte neu geladen werden,
- gibt es hier kleine Performance-Einbußen.</p><p>Es ist möglich, die gleiche Lx-Office Version parallel unter
- CGI und FastCGI zu betreiben. Dafür bleiben die Directorydirektiven
- wie oben beschrieben, die URLs werden aber umgeleitet:</p><pre class="programlisting"># Zugriff über CGI
+ Dadurch, dass zur Laufzeit öfter mal Scripte neu geladen werden,
+ gibt es hier kleine Performance-Einbußen.</p><p>Es ist möglich, die gleiche Lx-Office Version parallel unter
+ CGI und FastCGI zu betreiben. Dafür bleiben die Directorydirektiven
+ wie oben beschrieben, die URLs werden aber umgeleitet:</p><pre class="programlisting"># Zugriff über CGI
Alias /url/for/lx-office-erp /path/to/lx-office-erp
# Zugriff mit mod_fcgid:
Alias /url/for/lx-office-erp-fcgid/ /path/to/lx-office-erp/</pre><p>Dann ist unter <code class="filename">/url/for/lx-office-erp/</code>
die normale Version erreichbar, und unter
<code class="constant">/url/for/lx-office-erp-fcgid/</code> die
- FastCGI-Version.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s04.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="ch02s06.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.4. Anpassung der PostgreSQL-Konfiguration </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.6. Der Task-Server</td></tr></table></div></body></html>
\ No newline at end of file
+ FastCGI-Version.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s04.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="ch02s06.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.4. Anpassung der PostgreSQL-Konfiguration </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.6. Der Task-Server</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>2.6. Der Task-Server</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s05.html" title="2.5. Webserver-Konfiguration"><link rel="next" href="ch02s07.html" title="2.7. Benutzerauthentifizierung und Administratorpasswort"></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. Der Task-Server</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. Der Task-Server"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.task-server"></a>2.6. Der Task-Server</h2></div></div></div><p>Der Task-Server ist ein Prozess, der im Hintergrund läuft, in
- regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und diese zu
- festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser Prozess
- wird bisher nur für die Erzeugung der wiederkehrenden Rechnungen
- benutzt, wird aber in Zukunft deutlich mehr Aufgaben übertragen
- bekommen.</p><div class="sect2" title="2.6.1. Verfügbare und notwendige Konfigurationsoptionen"><div class="titlepage"><div><div><h3 class="title"><a name="Konfiguration-des-Task-Servers"></a>2.6.1. Verfügbare und notwendige Konfigurationsoptionen</h3></div></div></div><p>Die Konfiguration erfolgt über den Abschnitt
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>2.6. Der Task-Server</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s05.html" title="2.5. Webserver-Konfiguration"><link rel="next" href="ch02s07.html" title="2.7. Benutzerauthentifizierung und Administratorpasswort"></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. Der Task-Server</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. Der Task-Server"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.task-server"></a>2.6. Der Task-Server</h2></div></div></div><p>Der Task-Server ist ein Prozess, der im Hintergrund läuft, in
+ regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und diese zu
+ festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser Prozess
+ wird bisher nur für die Erzeugung der wiederkehrenden Rechnungen
+ benutzt, wird aber in Zukunft deutlich mehr Aufgaben übertragen
+ bekommen.</p><div class="sect2" title="2.6.1. Verfügbare und notwendige Konfigurationsoptionen"><div class="titlepage"><div><div><h3 class="title"><a name="Konfiguration-des-Task-Servers"></a>2.6.1. Verfügbare und notwendige Konfigurationsoptionen</h3></div></div></div><p>Die Konfiguration erfolgt über den Abschnitt
<code class="literal">[task_server]</code> in der Datei
- <code class="filename">config/lx_office.conf</code>. Die dort verfügbaren
+ <code class="filename">config/lx_office.conf</code>. Die dort verfügbaren
Optionen sind:</p><div class="variablelist"><dl><dt><span class="term">
<code class="varname">login</code>
- </span></dt><dd><p>gültiger Lx-Office-Benutzername, der benutzt wird, um die
+ </span></dt><dd><p>gültiger Lx-Office-Benutzername, der benutzt wird, um die
zu verwendende Datenbankverbindung auszulesen. Der Benutzer muss
in der Administration angelegt werden. Diese Option muss
angegeben werden.</p></dd><dt><span class="term">
Lese- und Schreibrechte haben, wie auch der Webserverbenutzer
(siehe see <a class="xref" href="ch02s02.html" title="2.2. Manuelle Installation des Programmpaketes">Manuelle Installation des Programmpaketes</a>). Daher
ist es sinnvoll, hier denselben Systembenutzer einzutragen,
- unter dem auch der Webserver läuft.</p></dd><dt><span class="term">
+ unter dem auch der Webserver läuft.</p></dd><dt><span class="term">
<code class="varname">debug</code>
- </span></dt><dd><p>Schaltet Debug-Informationen an und aus.</p></dd></dl></div></div><div class="sect2" title="2.6.2. Automatisches Starten des Task-Servers beim Booten"><div class="titlepage"><div><div><h3 class="title"><a name="Einbinden-in-den-Boot-Prozess"></a>2.6.2. Automatisches Starten des Task-Servers beim Booten</h3></div></div></div><p>Der Task-Server verhält sich von seinen Optionen her wie ein
- reguläres SystemV-kompatibles Boot-Script. Außerdem wechselt er beim
- Starten automatisch in das Lx-Office-Installationsverzeichnis.</p><p>Deshalb ist es möglich, ihn durch Setzen eines symbolischen
+ </span></dt><dd><p>Schaltet Debug-Informationen an und aus.</p></dd></dl></div></div><div class="sect2" title="2.6.2. Automatisches Starten des Task-Servers beim Booten"><div class="titlepage"><div><div><h3 class="title"><a name="Einbinden-in-den-Boot-Prozess"></a>2.6.2. Automatisches Starten des Task-Servers beim Booten</h3></div></div></div><p>Der Task-Server verhält sich von seinen Optionen her wie ein
+ reguläres SystemV-kompatibles Boot-Script. Außerdem wechselt er beim
+ Starten automatisch in das Lx-Office-Installationsverzeichnis.</p><p>Deshalb ist es möglich, ihn durch Setzen eines symbolischen
Links aus einem der Runlevel-Verzeichnisse heraus in den Boot-Prozess
einzubinden. Da das bei neueren Linux-Distributionen aber nicht
- zwangsläufig funktioniert, werden auch Start-Scripte mitgeliefert, die
- anstelle eines symbolischen Links verwendet werden können.</p><div class="sect3" title="2.6.2.1. SystemV-basierende Systeme (z.B. Debian, OpenSuSE, Fedora Core)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e695"></a>2.6.2.1. SystemV-basierende Systeme (z.B. Debian, OpenSuSE, Fedora
+ zwangsläufig funktioniert, werden auch Start-Scripte mitgeliefert, die
+ anstelle eines symbolischen Links verwendet werden können.</p><div class="sect3" title="2.6.2.1. SystemV-basierende Systeme (z.B. Debian, OpenSuSE, Fedora Core)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e695"></a>2.6.2.1. SystemV-basierende Systeme (z.B. Debian, OpenSuSE, Fedora
Core)</h4></div></div></div><p>Kopieren Sie die Datei
<code class="filename">scripts/boot/system-v/lx-office-task-server</code>
nach <code class="filename">/etc/init.d/lx-office-task-server</code>. Passen
Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
<code class="literal">DAEMON=....</code>). Binden Sie das Script in den
- Boot-Prozess ein. Dies ist distributionsabhängig:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Debian-basierende Systeme:</p><pre class="programlisting">update-rc.d lx-office-task-server defaults
+ 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 lx-office-task-server defaults
# Nur bei Debian Squeeze und neuer:
insserv lx-office-task-server</pre></li><li class="listitem"><p>OpenSuSE und Fedora Core:</p><pre class="programlisting">chkconfig --add lx-office-task-server</pre></li></ul></div><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet
werden: <span class="command"><strong>/etc/init.d/lx-office-task-server
<code class="literal">restart</code> beendet und startet ihn
neu.</p></li><li class="listitem"><p>
<code class="literal">status</code> berichtet, ob der Task-Server
- läuft.</p></li></ul></div><p>Der Task-Server wechselt beim Starten automatisch in das
- Lx-Office-Installationsverzeichnis.</p><p>Dieselben Optionen können auch für die SystemV-basierenden
- Runlevel-Scripte benutzt werden (siehe oben).</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s05.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s07.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.5. Webserver-Konfiguration </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.7. Benutzerauthentifizierung und Administratorpasswort</td></tr></table></div></body></html>
\ No newline at end of file
+ läuft.</p></li></ul></div><p>Der Task-Server wechselt beim Starten automatisch in das
+ Lx-Office-Installationsverzeichnis.</p><p>Dieselben Optionen können auch für die SystemV-basierenden
+ Runlevel-Scripte benutzt werden (siehe oben).</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s05.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s07.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.5. Webserver-Konfiguration </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.7. Benutzerauthentifizierung und Administratorpasswort</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>2.7. Benutzerauthentifizierung und Administratorpasswort</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s06.html" title="2.6. Der Task-Server"><link rel="next" href="ch02s08.html" title="2.8. Benutzer- und Gruppenverwaltung"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.7. Benutzerauthentifizierung und Administratorpasswort</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s06.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s08.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.7. Benutzerauthentifizierung und Administratorpasswort"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Benutzerauthentifizierung-und-Administratorpasswort"></a>2.7. Benutzerauthentifizierung und Administratorpasswort</h2></div></div></div><p>Informationen über die Einrichtung der Benutzerauthentifizierung,
- über die Verwaltung von Gruppen und weitere Einstellungen</p><div class="sect2" title="2.7.1. Grundlagen zur Benutzerauthentifizierung"><div class="titlepage"><div><div><h3 class="title"><a name="Grundlagen-zur-Benutzerauthentifizierung"></a>2.7.1. Grundlagen zur Benutzerauthentifizierung</h3></div></div></div><p>Lx-Office verwaltet die Benutzerinformationen in einer
- Datenbank, die im folgenden “Authentifizierungsdatenbank” genannt
- wird. Für jeden Benutzer kann dort eine eigene Datenbank für die
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>2.7. Benutzerauthentifizierung und Administratorpasswort</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s06.html" title="2.6. Der Task-Server"><link rel="next" href="ch02s08.html" title="2.8. Benutzer- und Gruppenverwaltung"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.7. Benutzerauthentifizierung und Administratorpasswort</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s06.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s08.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.7. Benutzerauthentifizierung und Administratorpasswort"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Benutzerauthentifizierung-und-Administratorpasswort"></a>2.7. Benutzerauthentifizierung und Administratorpasswort</h2></div></div></div><p>Informationen über die Einrichtung der Benutzerauthentifizierung,
+ über die Verwaltung von Gruppen und weitere Einstellungen</p><div class="sect2" title="2.7.1. Grundlagen zur Benutzerauthentifizierung"><div class="titlepage"><div><div><h3 class="title"><a name="Grundlagen-zur-Benutzerauthentifizierung"></a>2.7.1. Grundlagen zur Benutzerauthentifizierung</h3></div></div></div><p>Lx-Office verwaltet die Benutzerinformationen in einer
+ Datenbank, die im folgenden “Authentifizierungsdatenbank” genannt
+ wird. Für jeden Benutzer kann dort eine eigene Datenbank für die
eigentlichen Finanzdaten hinterlegt sein. Diese beiden Datenbanken
- können, müssen aber nicht unterschiedlich sein.</p><p>Im einfachsten Fall gibt es für Lx-Office nur eine einzige
+ können, müssen aber nicht unterschiedlich sein.</p><p>Im einfachsten Fall gibt es für Lx-Office nur eine einzige
Datenbank, in der sowohl die Benutzerinformationen als auch die Daten
- abgelegt werden.</p><p>Zusätzlich ermöglicht es Lx-Office, dass die Benutzerpasswörter
+ abgelegt werden.</p><p>Zusätzlich ermöglicht es Lx-Office, dass die Benutzerpasswörter
entweder gegen die Authentifizierungsdatenbank oder gegen einen
- LDAP-Server überprüft werden.</p><p>Welche Art der Passwortüberprüfung Lx-Office benutzt und wie
+ LDAP-Server überprüft werden.</p><p>Welche Art der Passwortüberprüfung Lx-Office benutzt und wie
Lx-Office die Authentifizierungsdatenbank erreichen kann, wird in der
Konfigurationsdatei <code class="filename">config/lx_office.conf</code>
festgelegt. Diese muss bei der Installation und bei einem Upgrade von
<code class="filename">config/lx_office.conf.default</code> existiert, die als
Vorlage benutzt werden kann.</p></div><div class="sect2" title="2.7.2. Administratorpasswort"><div class="titlepage"><div><div><h3 class="title"><a name="Administratorpasswort"></a>2.7.2. Administratorpasswort</h3></div></div></div><p>Das Passwort, das zum Zugriff auf das Aministrationsinterface
benutzt wird, wird ebenfalls in dieser Datei gespeichert. Es kann auch
- nur dort und nicht mehr im Administrationsinterface selber geändert
- werden. Der Parameter dazu heißt <code class="varname">admin_password</code> im
+ nur dort und nicht mehr im Administrationsinterface selber geändert
+ werden. Der Parameter dazu heißt <code class="varname">admin_password</code> im
Abschnitt <code class="varname">[authentication]</code>.</p></div><div class="sect2" title="2.7.3. Authentifizierungsdatenbank"><div class="titlepage"><div><div><h3 class="title"><a name="Authentifizierungsdatenbank"></a>2.7.3. Authentifizierungsdatenbank</h3></div></div></div><p>Die Verbindung zur Authentifizierungsdatenbank wird mit den
Parametern in <code class="varname">[authentication/database]</code>
konfiguriert. Hier sind die folgenden Parameter anzugeben:</p><div class="variablelist"><dl><dt><span class="term">
Datenbankserver anmeldet (z.B.
"<code class="literal">postgres</code>")</p></dd><dt><span class="term">
<code class="literal">password</code>
- </span></dt><dd><p>Das Passwort für den Datenbankbenutzer</p></dd></dl></div><p>Die Datenbank muss noch nicht existieren. Lx-Office kann sie
- automatisch anlegen (mehr dazu siehe unten).</p></div><div class="sect2" title="2.7.4. Passwortüberprüfung"><div class="titlepage"><div><div><h3 class="title"><a name="Passwort%C3%BCberpr%C3%BCfung"></a>2.7.4. Passwortüberprüfung</h3></div></div></div><p>Lx-Office unterstützt Passwortüberprüfung auf zwei Arten: gegen
+ </span></dt><dd><p>Das Passwort für den Datenbankbenutzer</p></dd></dl></div><p>Die Datenbank muss noch nicht existieren. Lx-Office kann sie
+ automatisch anlegen (mehr dazu siehe unten).</p></div><div class="sect2" title="2.7.4. Passwortüberprüfung"><div class="titlepage"><div><div><h3 class="title"><a name="Passwort%C3%BCberpr%C3%BCfung"></a>2.7.4. Passwortüberprüfung</h3></div></div></div><p>Lx-Office unterstützt Passwortüberprüfung auf zwei Arten: gegen
die Authentifizierungsdatenbank und gegen einen externen LDAP- oder
Active-Directory-Server. Welche davon benutzt wird, regelt der
Parameter <code class="varname">module</code> im Abschnitt
- <code class="varname">[authentication]</code>.</p><p>Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank
+ <code class="varname">[authentication]</code>.</p><p>Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank
gespeichert werden, so muss der Parameter <code class="varname">module</code>
- den Wert <code class="literal">DB</code> enthalten. In diesem Fall können sowohl
- der Administrator als auch die Benutzer selber ihre Psaswörter in
- Lx-Office ändern.</p><p>Soll hingegen ein externer LDAP- oder Active-Directory-Server
+ den Wert <code class="literal">DB</code> enthalten. In diesem Fall können sowohl
+ der Administrator als auch die Benutzer selber ihre Psaswörter in
+ Lx-Office ändern.</p><p>Soll hingegen ein externer LDAP- oder Active-Directory-Server
benutzt werden, so muss der Parameter <code class="varname">module</code> auf
- <code class="literal">LDAP</code> gesetzt werden. In diesem Fall müssen
- zusätzliche Informationen über den LDAP-Server im Abschnitt
+ <code class="literal">LDAP</code> gesetzt werden. In diesem Fall müssen
+ zusätzliche Informationen über den LDAP-Server im Abschnitt
<code class="literal">[authentication/ldap]</code> angegeben werden:</p><div class="variablelist"><dl><dt><span class="term">
<code class="literal">host</code>
</span></dt><dd><p>Der Rechnername oder die IP-Adresse des LDAP- oder
<code class="literal">port</code>
</span></dt><dd><p>Die Portnummer des LDAP-Servers; meist 389.</p></dd><dt><span class="term">
<code class="literal">tls</code>
- </span></dt><dd><p>Wenn Verbindungsverschlüsselung gewünscht ist, so diesen
- Wert auf ‘<code class="literal">1</code>’ setzen, andernfalls auf
- ‘<code class="literal">0</code>’ belassen</p></dd><dt><span class="term">
+ </span></dt><dd><p>Wenn Verbindungsverschlüsselung gewünscht ist, so diesen
+ Wert auf ‘<code class="literal">1</code>’ setzen, andernfalls auf
+ ‘<code class="literal">0</code>’ belassen</p></dd><dt><span class="term">
<code class="literal">attribute</code>
</span></dt><dd><p>Das LDAP-Attribut, in dem der Benutzername steht, den der
- Benutzer eingegeben hat. Für Active-Directory-Server ist dies
- meist ‘<code class="literal">sAMAccountName</code>’, für andere
- LDAP-Server hingegen ‘<code class="literal">uid</code>’. Diese Angabe ist
+ Benutzer eingegeben hat. Für Active-Directory-Server ist dies
+ meist ‘<code class="literal">sAMAccountName</code>’, für andere
+ LDAP-Server hingegen ‘<code class="literal">uid</code>’. Diese Angabe ist
zwingend erforderlich.</p></dd><dt><span class="term">
<code class="literal">base_dn</code>
</span></dt><dd><p>Der Abschnitt des LDAP-Baumes, der durchsucht werden soll.
Diese Angabe ist zwingend erforderlich.</p></dd><dt><span class="term">
<code class="literal">filter</code>
- </span></dt><dd><p>Ein optionaler LDAP-Filter. Enthält dieser Filter das Wort
+ </span></dt><dd><p>Ein optionaler LDAP-Filter. Enthält dieser Filter das Wort
<code class="literal"><%login%></code>, so wird dieses durch den vom
Benutzer eingegebenen Benutzernamen ersetzt. Andernfalls wird
der LDAP-Baum nach einem Element durchsucht, bei dem das oben
</span></dt><dd><p>Wenn der LDAP-Server eine Anmeldung erfordert, bevor er
durchsucht werden kann (z.B. ist dies bei
Active-Directory-Servern der Fall), so kann diese hier angegeben
- werden. Für Active-Directory-Server kann als
- ‘<code class="literal">bind_dn</code>’ entweder eine komplette LDAP-DN wie
- z.B. ‘<code class="literal">cn=Martin
- Mustermann,cn=Users,dc=firmendomain</code>’ auch nur der
+ werden. Für Active-Directory-Server kann als
+ ‘<code class="literal">bind_dn</code>’ entweder eine komplette LDAP-DN wie
+ z.B. ‘<code class="literal">cn=Martin
+ Mustermann,cn=Users,dc=firmendomain</code>’ auch nur der
volle Name des Benutzers eingegeben werden; in diesem Beispiel
- also ‘<code class="literal">Martin Mustermann</code>’.</p></dd></dl></div></div><div class="sect2" title="2.7.5. Name des Session-Cookies"><div class="titlepage"><div><div><h3 class="title"><a name="Name-des-Session-Cookies"></a>2.7.5. Name des Session-Cookies</h3></div></div></div><p>Sollen auf einem Server mehrere Lx-Office-Installationen
- aufgesetzt werden, so müssen die Namen der Session-Cookies für alle
+ also ‘<code class="literal">Martin Mustermann</code>’.</p></dd></dl></div></div><div class="sect2" title="2.7.5. Name des Session-Cookies"><div class="titlepage"><div><div><h3 class="title"><a name="Name-des-Session-Cookies"></a>2.7.5. Name des Session-Cookies</h3></div></div></div><p>Sollen auf einem Server mehrere Lx-Office-Installationen
+ aufgesetzt werden, so müssen die Namen der Session-Cookies für alle
Installationen unterschiedlich sein. Der Name des Cookies wird mit dem
Parameter <code class="varname">cookie_name</code> im Abschnitt
<code class="varname">[authentication]</code>gesetzt.</p><p>Diese Angabe ist optional, wenn nur eine Installation auf dem
automatisch, wenn Sie sich im Administrationsmodul anmelden, das unter
der folgenden URL erreichbar sein sollte:</p><p>
<a class="ulink" href="http://localhost/lx-erp/admin.pl" target="_top">http://localhost/lx-erp/admin.pl</a>
- </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s06.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s08.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.6. Der Task-Server </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.8. Benutzer- und Gruppenverwaltung</td></tr></table></div></body></html>
\ No newline at end of file
+ </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s06.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s08.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.6. Der Task-Server </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.8. Benutzer- und Gruppenverwaltung</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>2.8. Benutzer- und Gruppenverwaltung</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s07.html" title="2.7. Benutzerauthentifizierung und Administratorpasswort"><link rel="next" href="ch02s09.html" title="2.9. Drucken mit Lx-Office"></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.8. Benutzer- und Gruppenverwaltung</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s07.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="ch02s09.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.8. Benutzer- und Gruppenverwaltung"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Benutzer--und-Gruppenverwaltung"></a>2.8. Benutzer- und Gruppenverwaltung</h2></div></div></div><p>Nach der Installation müssen Benutzer, Gruppen und Datenbanken
- angelegt werden. Dieses geschieht im Administrationsmenü, das Sie unter
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>2.8. Benutzer- und Gruppenverwaltung</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s07.html" title="2.7. Benutzerauthentifizierung und Administratorpasswort"><link rel="next" href="ch02s09.html" title="2.9. Drucken mit Lx-Office"></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.8. Benutzer- und Gruppenverwaltung</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s07.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="ch02s09.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.8. Benutzer- und Gruppenverwaltung"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Benutzer--und-Gruppenverwaltung"></a>2.8. Benutzer- und Gruppenverwaltung</h2></div></div></div><p>Nach der Installation müssen Benutzer, Gruppen und Datenbanken
+ angelegt werden. Dieses geschieht im Administrationsmenü, das Sie unter
folgender URL finden:</p><p>
<a class="ulink" href="http://localhost/lx-erp/admin.pl" target="_top">http://localhost/lx-erp/admin.pl</a>
</p><p>Verwenden Sie zur Anmeldung das Password, dass Sie in der Datei
- <code class="filename">config/lx_office.conf</code> eingetragen haben.</p><div class="sect2" title="2.8.1. Zusammenhänge"><div class="titlepage"><div><div><h3 class="title"><a name="Zusammenh%C3%A4nge"></a>2.8.1. Zusammenhänge</h3></div></div></div><p>Lx-Office verwendet eine Datenbank zum Speichern all seiner
+ <code class="filename">config/lx_office.conf</code> eingetragen haben.</p><div class="sect2" title="2.8.1. Zusammenhänge"><div class="titlepage"><div><div><h3 class="title"><a name="Zusammenh%C3%A4nge"></a>2.8.1. Zusammenhänge</h3></div></div></div><p>Lx-Office verwendet eine Datenbank zum Speichern all seiner
Informationen wie Kundendaten, Artikel, Angebote, Rechnungen etc. Um
- mit Lx-Office arbeiten zu können, muss eine Person einen
+ mit Lx-Office arbeiten zu können, muss eine Person einen
Benutzeraccount haben. Jedem Benutzeraccount wiederum wird genau eine
Datenbank zugewiesen, mit der dieser Benutzer arbeiten kann. Es ist
- möglich und normal, dass mehreren Benutzern die selbe Datenbank
+ möglich und normal, dass mehreren Benutzern die selbe Datenbank
zugewiesen wird, sodass sie alle mit den selben Daten arbeiten
- können.</p><p>Die Basisdaten der Benutzer, die in der Administration
- eingegeben werden können, werden in einer zweiten Datenbank
- gespeichert, der bereits erwähnten Authentifizierungsdatenbank. Diese
+ können.</p><p>Die Basisdaten der Benutzer, die in der Administration
+ eingegeben werden können, werden in einer zweiten Datenbank
+ gespeichert, der bereits erwähnten Authentifizierungsdatenbank. Diese
ist also den Produktivdaten enthaltenden Datenbanken vorgeschaltet.
Pro Lx-Office-Installation gibt es nur eine
Authentifizierungsdatenbank, aber beliebig viele Datenbanken mit
Firmendaten.</p><p>Lx-Office kann seinen Benutzern Zugriff auf bestimmte
Funktionsbereiche erlauben oder verbieten. Wird der Zugriff nicht
- gestattet, so werden der entsprechenden Menüpunkte auch nicht
+ gestattet, so werden der entsprechenden Menüpunkte auch nicht
angezeigt. Diese Rechte werden ebenfalls in der
- Authentifizierungsdatenbank gespeichert.</p><p>Um Rechte verteilen zu können, verwendet Lx-Office ein
+ Authentifizierungsdatenbank gespeichert.</p><p>Um Rechte verteilen zu können, verwendet Lx-Office ein
Gruppen-Prinzip. Einer Gruppe kann der Zugriff auf bestimmte Bereiche
erlaubt werden. Ein Benutzer wiederum kann Mitglied in einer oder
mehrerer Gruppen sein. Der Benutzer hat Zugriff auf alle diejenigen
Funktionen, die mindestens einer Gruppe erlaubt sind, in der der
Benutzer Mitglied ist.</p><p>Die allgemeine Reihenfolge, in der Datenbanken, Gruppen und
- Benutzer angelegt werden sollten, lautet:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Datenbank anlegen</p></li><li class="listitem"><p>Gruppen anlegen</p></li><li class="listitem"><p>Benutzer anlegen</p></li><li class="listitem"><p>Benutzer den Gruppen zuordnen</p></li></ol></div></div><div class="sect2" title="2.8.2. Datenbanken anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Datenbanken-anlegen"></a>2.8.2. Datenbanken anlegen</h3></div></div></div><p>Zuerst muss eine Datenbank angelegt werden. Verwenden Sie für
+ Benutzer angelegt werden sollten, lautet:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Datenbank anlegen</p></li><li class="listitem"><p>Gruppen anlegen</p></li><li class="listitem"><p>Benutzer anlegen</p></li><li class="listitem"><p>Benutzer den Gruppen zuordnen</p></li></ol></div></div><div class="sect2" title="2.8.2. Datenbanken anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Datenbanken-anlegen"></a>2.8.2. Datenbanken anlegen</h3></div></div></div><p>Zuerst muss eine Datenbank angelegt werden. Verwenden Sie für
den Datenbankzugriff den vorhin angelegten Benutzer (in unseren
- Beispielen ist dies ‘<code class="literal">lxoffice</code>’).</p><p>Wenn Sie für die Lx-Office-Installation nicht den europäischen
+ Beispielen ist dies ‘<code class="literal">lxoffice</code>’).</p><p>Wenn Sie für die Lx-Office-Installation nicht den europäischen
Schriftsatz ISO-8859-15 sondern UTF-8 (Unicode) benutzen wollen, so
- müssen Sie vor dem Anlegen der Datenbank in der Datei
+ müssen Sie vor dem Anlegen der Datenbank in der Datei
<code class="filename">config/lx_office.conf</code> die Variable
<code class="literal">dbcharset</code> im Abschnitt <code class="literal">system</code>
- auf den Wert ‘<code class="literal">UTF-8</code>’ setzen. Zusätzlich muss beim
- Anlegen der Datenbank ‘<code class="literal">UTF-8 Unicode</code>’ als
- Schriftsatz ausgewählt werden.</p><p>Bitte beachten Sie, dass alle Datenbanken den selben Zeichensatz
- verwenden müssen, da diese Einstellungen momentan global in Lx-Office
+ auf den Wert ‘<code class="literal">UTF-8</code>’ setzen. Zusätzlich muss beim
+ Anlegen der Datenbank ‘<code class="literal">UTF-8 Unicode</code>’ als
+ Schriftsatz ausgewählt werden.</p><p>Bitte beachten Sie, dass alle Datenbanken den selben Zeichensatz
+ verwenden müssen, da diese Einstellungen momentan global in Lx-Office
vorgenommen wird und nicht nach Datenbank unterschieden werden kann.
Auch die Authentifizierungsdatenbank muss mit diesem Zeichensatz
angelegt worden sein.</p></div><div class="sect2" title="2.8.3. Gruppen anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Gruppen-anlegen"></a>2.8.3. Gruppen anlegen</h3></div></div></div><p>Eine Gruppe wird in der Gruppenverwaltung angelegt. Ihr muss ein
Name gegeben werden, eine Beschreibung ist hingegen optional. Nach dem
- Anlegen können Sie die verschiedenen Bereiche wählen, auf die
- Mitglieder dieser Gruppe Zugriff haben sollen.</p><p>Benutzergruppen sind unabhängig von Datenbanken, da sie in der
- Authentifizierungsdatenbank gespeichert werden. Sie gelten für alle
- Datenbanken, die in dieser Installation verwaltet werden.</p></div><div class="sect2" title="2.8.4. Benutzer anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Benutzer-anlegen"></a>2.8.4. Benutzer anlegen</h3></div></div></div><p>Beim Anlegen von Benutzern werden für viele Parameter
+ Anlegen können Sie die verschiedenen Bereiche wählen, auf die
+ Mitglieder dieser Gruppe Zugriff haben sollen.</p><p>Benutzergruppen sind unabhängig von Datenbanken, da sie in der
+ Authentifizierungsdatenbank gespeichert werden. Sie gelten für alle
+ Datenbanken, die in dieser Installation verwaltet werden.</p></div><div class="sect2" title="2.8.4. Benutzer anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Benutzer-anlegen"></a>2.8.4. Benutzer anlegen</h3></div></div></div><p>Beim Anlegen von Benutzern werden für viele Parameter
Standardeinstellungen vorgenommen, die den Gepflogenheiten des
deutschen Raumes entsprechen.</p><p>Zwingend anzugeben sind der Loginname sowie die komplette
- Datenbankkonfiguration. Wenn die Passwortauthentifizierung über die
+ Datenbankkonfiguration. Wenn die Passwortauthentifizierung über die
Datenbank eingestellt ist, so kann hier auch das Benutzerpasswort
- gesetzt bzw. geändert werden. Ist hingegen die LDAP-Authentifizierung
- aktiv, so ist das Passwort-Feld deaktiviert.</p><p>In der Datenbankkonfiguration müssen die Zugriffsdaten einer der
- eben angelegten Datenbanken eingetragen werden.</p></div><div class="sect2" title="2.8.5. Gruppenmitgliedschaften verwalten"><div class="titlepage"><div><div><h3 class="title"><a name="Gruppenmitgliedschaften-verwalten"></a>2.8.5. Gruppenmitgliedschaften verwalten</h3></div></div></div><p>Nach dem Anlegen von Benutzern und Gruppen müssen Benutzer den
- Gruppen zugewiesen werden. Dazu gibt es zwei Möglichkeiten:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>In der Gruppenverwaltung wählt man eine Gruppe aus. Im
+ gesetzt bzw. geändert werden. Ist hingegen die LDAP-Authentifizierung
+ aktiv, so ist das Passwort-Feld deaktiviert.</p><p>In der Datenbankkonfiguration müssen die Zugriffsdaten einer der
+ eben angelegten Datenbanken eingetragen werden.</p></div><div class="sect2" title="2.8.5. Gruppenmitgliedschaften verwalten"><div class="titlepage"><div><div><h3 class="title"><a name="Gruppenmitgliedschaften-verwalten"></a>2.8.5. Gruppenmitgliedschaften verwalten</h3></div></div></div><p>Nach dem Anlegen von Benutzern und Gruppen müssen Benutzer den
+ Gruppen zugewiesen werden. Dazu gibt es zwei Möglichkeiten:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>In der Gruppenverwaltung wählt man eine Gruppe aus. Im
folgenden Dialog kann man dann einzeln die Benutzer der Gruppe
- hinzufügen.</p></li><li class="listitem"><p>In der Gruppenverwaltung wählt man das Tool zur Verwaltung
+ hinzufügen.</p></li><li class="listitem"><p>In der Gruppenverwaltung wählt man das Tool zur Verwaltung
der Gruppenmitgliedschaft. Hier wird eine Matrix angezeigt, die
- alle im System angelegten Gruppen und Benutzer enthält. Durch
- Setzen der Häkchen wird der Benutzer in der ausgewählten Zeile der
- Gruppe in der ausgewählten Spalte hinzugefügt.</p></li></ol></div></div><div class="sect2" title="2.8.6. Migration alter Installationen"><div class="titlepage"><div><div><h3 class="title"><a name="Migration-alter-Installationen"></a>2.8.6. Migration alter Installationen</h3></div></div></div><p>Wenn Lx-Office 2.6.3 über eine ältere Version installiert wird,
+ alle im System angelegten Gruppen und Benutzer enthält. Durch
+ Setzen der Häkchen wird der Benutzer in der ausgewählten Zeile der
+ Gruppe in der ausgewählten Spalte hinzugefügt.</p></li></ol></div></div><div class="sect2" title="2.8.6. Migration alter Installationen"><div class="titlepage"><div><div><h3 class="title"><a name="Migration-alter-Installationen"></a>2.8.6. Migration alter Installationen</h3></div></div></div><p>Wenn Lx-Office 2.6.3 über eine ältere Version installiert wird,
in der die Benutzerdaten noch im Dateisystem im Verzeichnis
<code class="literal">users</code> verwaltet wurden, so bietet Lx-Office die
- Möglichkeit, diese Benutzerdaten automatisch in die
- Authentifizierungsdatenbank zu übernehmen. Dies geschieht, wenn man
+ Möglichkeit, diese Benutzerdaten automatisch in die
+ Authentifizierungsdatenbank zu übernehmen. Dies geschieht, wenn man
sich nach dem Update der Installation das erste Mal im
Administrationsbereich anmeldet. Findet Lx-Office die Datei
<code class="literal">users/members</code>, so wird der Migrationsprozess
gestartet.</p><p>Der Migrationsprozess ist nahezu vollautomatisch. Alle
- Benutzerdaten können übernommen werden. Nach den Benutzerdaten bietet
- Lx-Office noch die Möglichkeit an, dass automatisch eine
+ Benutzerdaten können übernommen werden. Nach den Benutzerdaten bietet
+ Lx-Office noch die Möglichkeit an, dass automatisch eine
Benutzergruppe angelegt wird. Dieser Gruppe wird Zugriff auf alle
- Funktionen von Lx-Office gewährt. Alle migrierten Benutzern werden
+ Funktionen von Lx-Office gewährt. Alle migrierten Benutzern werden
Mitglied in dieser Gruppe. Damit wird das Verhalten von Lx-Office bis
- Version 2.4.3 inklusive wiederhergestellt, und die Benutzer können
- sich sofort wieder anmelden und mit dem System arbeiten.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s07.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="ch02s09.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.7. Benutzerauthentifizierung und Administratorpasswort </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.9. Drucken mit Lx-Office</td></tr></table></div></body></html>
\ No newline at end of file
+ Version 2.4.3 inklusive wiederhergestellt, und die Benutzer können
+ sich sofort wieder anmelden und mit dem System arbeiten.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s07.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="ch02s09.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.7. Benutzerauthentifizierung und Administratorpasswort </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.9. Drucken mit Lx-Office</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>2.9. Drucken mit Lx-Office</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s08.html" title="2.8. Benutzer- und Gruppenverwaltung"><link rel="next" href="ch02s10.html" title="2.10. OpenDocument-Vorlagen"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.9. Drucken mit Lx-Office</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s08.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="ch02s10.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.9. Drucken mit Lx-Office"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Drucken-mit-Lx-Office"></a>2.9. Drucken mit Lx-Office</h2></div></div></div><p>Das Drucksystem von Lx-Office benutzt von Haus aus LaTeX Vorlagen.
- Um drucken zu können, braucht der Server ein geeignetes LaTeX System. Am
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>2.9. Drucken mit Lx-Office</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s08.html" title="2.8. Benutzer- und Gruppenverwaltung"><link rel="next" href="ch02s10.html" title="2.10. OpenDocument-Vorlagen"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.9. Drucken mit Lx-Office</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s08.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="ch02s10.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.9. Drucken mit Lx-Office"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Drucken-mit-Lx-Office"></a>2.9. Drucken mit Lx-Office</h2></div></div></div><p>Das Drucksystem von Lx-Office benutzt von Haus aus LaTeX Vorlagen.
+ Um drucken zu können, braucht der Server ein geeignetes LaTeX System. Am
einfachsten ist dazu eine <code class="literal">texlive</code> Installation. Unter
Debianoiden Betriebssystemen sind das die Pakete:</p><p>
<code class="literal">texlive-latex-base texlive-latex-extra
von den Standardvorlagen verwendet werden.</p><p>TODO: rpm Pakete.</p><p>In den allermeisten Installationen sollte drucken jetzt schon
funktionieren. Sollte ein Fehler auftreten wirft TeX sehr lange
Fehlerbeschreibungen, der eigentliche Fehler ist immer die erste Zeite
- die mit einem Ausrufezeichen anfängt. Häufig auftretende Fehler sind zum
+ die mit einem Ausrufezeichen anfängt. Häufig auftretende Fehler sind zum
Beispiel:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>! LaTeX Error: File `eurosym.sty' not found. Die entsprechende
LaTeX-Bibliothek wurde nicht gefunden. Das tritt vor allem bei
Vorlagen aus der Community auf. Installieren Sie die entsprechenden
- Pakete.</p></li><li class="listitem"><p>! Package inputenc Error: Unicode char \u8:æ¡\9c not set up for
+ Pakete.</p></li><li class="listitem"><p>! Package inputenc Error: Unicode char \u8:æ¡Â\9c not set up for
use with LaTeX. Dieser Fehler tritt auf, wenn sie versuchen mit
einer Standardinstallation exotische utf8 Zeichen zu drucken.
- TeXLive unterstützt von Haus nur romanische Schriften und muss mit
+ TeXLive unterstützt von Haus nur romanische Schriften und muss mit
diversen Tricks dazu gebracht werden andere Zeichen zu akzeptieren.
Adere TeX Systeme wie XeTeX schaffen hier Abhilfe.</p></li></ul></div><p>Wird garkein Fehler angezeigt sondern nur der Name des Templates,
- heißt das normalerweise, dass das LaTeX Binary nicht gefunden wurde.
- Prüfen Sie den Namen in der Konfiguration (Standard:
+ heißt das normalerweise, dass das LaTeX Binary nicht gefunden wurde.
+ Prüfen Sie den Namen in der Konfiguration (Standard:
<code class="literal">pdflatex</code>), und stellen Sie sicher, dass pdflatex
- (oder das von Ihnen verwendete System) vom Webserver ausgeführt werden
- darf.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s08.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="ch02s10.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.8. Benutzer- und Gruppenverwaltung </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.10. OpenDocument-Vorlagen</td></tr></table></div></body></html>
\ No newline at end of file
+ (oder das von Ihnen verwendete System) vom Webserver ausgeführt werden
+ darf.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s08.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="ch02s10.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.8. Benutzer- und Gruppenverwaltung </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.10. OpenDocument-Vorlagen</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>2.10. OpenDocument-Vorlagen</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s09.html" title="2.9. Drucken mit Lx-Office"><link rel="next" href="ch02s11.html" title="2.11. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR"></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.10. OpenDocument-Vorlagen</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s09.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="ch02s11.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.10. OpenDocument-Vorlagen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="OpenDocument-Vorlagen"></a>2.10. OpenDocument-Vorlagen</h2></div></div></div><p>Lx-Office unterstützt die Verwendung von Vorlagen im
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>2.10. OpenDocument-Vorlagen</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s09.html" title="2.9. Drucken mit Lx-Office"><link rel="next" href="ch02s11.html" title="2.11. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR"></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.10. OpenDocument-Vorlagen</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s09.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="ch02s11.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.10. OpenDocument-Vorlagen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="OpenDocument-Vorlagen"></a>2.10. OpenDocument-Vorlagen</h2></div></div></div><p>Lx-Office unterstützt die Verwendung von Vorlagen im
OpenDocument-Format, wie es OpenOffice.org ab Version 2 erzeugt.
Lx-Office kann dabei sowohl neue OpenDocument-Dokumente als auch aus
- diesen direkt PDF-Dateien erzeugen. Um die Unterstützung von
+ diesen direkt PDF-Dateien erzeugen. Um die Unterstützung von
OpenDocument-Vorlagen zu aktivieren muss in der Datei
<code class="filename">config/lx_office.conf</code> die Variable
<code class="literal">opendocument</code> im Abschnitt
- <code class="literal">print_templates</code> auf ‘<code class="literal">1</code>’ stehen.
+ <code class="literal">print_templates</code> auf ‘<code class="literal">1</code>’ stehen.
Dieses ist die Standardeinstellung.</p><p>Weiterhin muss in der Datei
<code class="filename">config/lx_office.conf</code> die Variable
<code class="literal">dbcharset</code> im Abschnitt <code class="literal">system</code> auf
die Zeichenkodierung gesetzt werden, die auch bei der Speicherung der
- Daten in der Datenbank verwendet wird. Diese ist in den meisten Fällen
- "UTF-8".</p><p>Während die Erzeugung von reinen OpenDocument-Dateien keinerlei
- weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF
- OpenOffice.org benötigt. Soll dieses Feature genutzt werden, so muss
- neben OpenOffice.org ab Version 2 auch der “X virtual frame buffer”
- (xvfb) installiert werden. Bei Debian ist er im Paket “xvfb” enthalten.
- Andere Distributionen enthalten ihn in anderen Paketen.</p><p>Nach der Installation müssen in der Datei
+ Daten in der Datenbank verwendet wird. Diese ist in den meisten Fällen
+ "UTF-8".</p><p>Während die Erzeugung von reinen OpenDocument-Dateien keinerlei
+ weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF
+ OpenOffice.org benötigt. Soll dieses Feature genutzt werden, so muss
+ neben OpenOffice.org ab Version 2 auch der “X virtual frame buffer”
+ (xvfb) installiert werden. Bei Debian ist er im Paket “xvfb” enthalten.
+ Andere Distributionen enthalten ihn in anderen Paketen.</p><p>Nach der Installation müssen in der Datei
<code class="filename">config/lx_config.conf</code> zwei weitere Variablen
angepasst werden: <code class="literal">openofficeorg_writer</code> muss den
- vollständigen Pfad zur OpenOffice.org Writer-Anwendung enthalten.
- <code class="literal">xvfb</code> muss den Pfad zum “X virtual frame buffer”
+ vollständigen Pfad zur OpenOffice.org Writer-Anwendung enthalten.
+ <code class="literal">xvfb</code> muss den Pfad zum “X virtual frame buffer”
enthalten. Beide stehen im Abschnitt
- <code class="literal">applications</code>.</p><p>Zusätzlich gibt es zwei verschiedene Arten, wie Lx-Office mit
+ <code class="literal">applications</code>.</p><p>Zusätzlich gibt es zwei verschiedene Arten, wie Lx-Office mit
OpenOffice kommuniziert. Die erste Variante, die benutzt wird, wenn die
Variable <code class="literal">$openofficeorg_daemon</code> gesetzt ist, startet
ein OpenOffice, das auch nach der Umwandlung des Dokumentes gestartet
bleibt. Bei weiteren Umwandlungen wird dann diese laufende Instanz
benutzt. Der Vorteil ist, dass die Zeit zur Umwandlung deutlich
- reduziert wird, weil nicht für jedes Dokument ein OpenOffice gestartet
+ reduziert wird, weil nicht für jedes Dokument ein OpenOffice gestartet
werden muss. Der Nachteil ist, dass diese Methode Python und die
- Python-UNO-Bindings benötigt, die Bestandteil von OpenOffice 2
+ Python-UNO-Bindings benötigt, die Bestandteil von OpenOffice 2
sind.</p><p>Ist <code class="literal">$openofficeorg_daemon</code> nicht gesetzt, so
- wird für jedes Dokument OpenOffice neu gestartet und die Konvertierung
- mit Hilfe eines Makros durchgeführt. Dieses Makro muss in der
+ wird für jedes Dokument OpenOffice neu gestartet und die Konvertierung
+ mit Hilfe eines Makros durchgeführt. Dieses Makro muss in der
Dokumentenvorlage enthalten sein und
- “Standard.Conversion.ConvertSelfToPDF()” heißen. Die Beispielvorlage
- ‘<code class="literal">templates/mastertemplates/German/invoice.odt</code>’
- enthält ein solches Makro, das in jeder anderen Dokumentenvorlage
+ “Standard.Conversion.ConvertSelfToPDF()” heißen. Die Beispielvorlage
+ ‘<code class="literal">templates/mastertemplates/German/invoice.odt</code>’
+ enthält ein solches Makro, das in jeder anderen Dokumentenvorlage
ebenfalls enthalten sein muss.</p><p>Als letztes muss herausgefunden werden, welchen Namen
OpenOffice.org Writer dem Verzeichnis mit den Benutzereinstellungen
gibt. Unter Debian ist dies momentan
<code class="literal">~/.openoffice.org2</code>. Sollte der Name bei Ihrer
OpenOffice.org-Installation anders sein, so muss das Verzeichnis
<code class="literal">users/.openoffice.org2</code> entsprechend umbenannt werden.
- Ist der Name z.B. einfach nur <code class="literal">.openoffice</code>, so wäre
- folgender Befehl auszuführen:</p><p>
+ Ist der Name z.B. einfach nur <code class="literal">.openoffice</code>, so wäre
+ folgender Befehl auszuführen:</p><p>
<code class="literal">mv users/.openoffice.org2
users/.openoffice</code>
</p><p>Dieses Verzeichnis, wie auch das komplette
<code class="literal">users</code>-Verzeichnis, muss vom Webserver beschreibbar
sein. Dieses wurde bereits erledigt (siehe <a class="xref" href="ch02s02.html" title="2.2. Manuelle Installation des Programmpaketes">Manuelle Installation des Programmpaketes</a>), kann aber
- erneut überprüft werden, wenn die Konvertierung nach PDF
- fehlschlägt.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s09.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="ch02s11.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.9. Drucken mit Lx-Office </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.11. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
+ erneut überprüft werden, wenn die Konvertierung nach PDF
+ fehlschlägt.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s09.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="ch02s11.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.9. Drucken mit Lx-Office </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.11. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
EUR</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>2.11. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s10.html" title="2.10. OpenDocument-Vorlagen"><link rel="next" href="ch02s12.html" title="2.12. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb"></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.11. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
- EUR</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s10.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="ch02s12.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.11. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.eur"></a>2.11. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
- EUR</h2></div></div></div><div class="sect2" title="2.11.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.introduction"></a>2.11.1. Einführung</h3></div></div></div><p>Lx-Office besaß bis inklusive Version 2.6.3 einen
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>2.11. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s10.html" title="2.10. OpenDocument-Vorlagen"><link rel="next" href="ch02s12.html" title="2.12. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb"></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.11. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
+ EUR</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s10.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="ch02s12.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.11. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.eur"></a>2.11. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
+ EUR</h2></div></div></div><div class="sect2" title="2.11.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.introduction"></a>2.11.1. Einführung</h3></div></div></div><p>Lx-Office besaß bis inklusive Version 2.6.3 einen
Konfigurationsparameter namens <code class="varname">eur</code>, der sich in der
Konfigurationsdatei <code class="filename">config/lx_office.conf</code>
- befindet. Somit galt er für alle Mandanten, die in dieser Installation
+ befindet. Somit galt er für alle Mandanten, die in dieser Installation
benutzt wurden.</p><p>Mit der nachfolgenden Version wurde der Parameter zum Einen in
die Mandantendatenbank verschoben und dabei auch gleich in drei
Einzelparameter aufgeteilt, mit denen sich das Verhalten genauer
- steuern lässt.</p></div><div class="sect2" title="2.11.2. Konfigurationsparameter"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.parameters"></a>2.11.2. Konfigurationsparameter</h3></div></div></div><p>Es gibt drei Parameter, die die Gewinnermittlungsart,
+ steuern lässt.</p></div><div class="sect2" title="2.11.2. Konfigurationsparameter"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.parameters"></a>2.11.2. Konfigurationsparameter</h3></div></div></div><p>Es gibt drei Parameter, die die Gewinnermittlungsart,
Versteuerungsart und die Warenbuchungsmethode regeln:</p><div class="variablelist"><dl><dt><span class="term">
<code class="varname">profit_determination</code>
- </span></dt><dd><p>Dieser Parameter legt die Berechnungsmethode für die
- Gewinnermittlung fest. Er enthält entweder
- <code class="literal">balance</code> für
- Betriebsvermögensvergleich/Bilanzierung oder
- <code class="literal">income</code> für die
- Einnahmen-Überschuss-Rechnung.</p></dd><dt><span class="term">
+ </span></dt><dd><p>Dieser Parameter legt die Berechnungsmethode für die
+ Gewinnermittlung fest. Er enthält entweder
+ <code class="literal">balance</code> für
+ Betriebsvermögensvergleich/Bilanzierung oder
+ <code class="literal">income</code> für die
+ Einnahmen-Überschuss-Rechnung.</p></dd><dt><span class="term">
<code class="varname">accounting_method</code>
</span></dt><dd><p>Dieser Parameter steuert die Buchungs- und
- Berechnungsmethoden für die Versteuerungsart. Er enthält
- entweder <code class="literal">accrual</code> für die Soll-Versteuerung
- oder <code class="literal">cash</code> für die Ist-Versteuerung.</p></dd><dt><span class="term">
+ Berechnungsmethoden für die Versteuerungsart. Er enthält
+ entweder <code class="literal">accrual</code> für die Soll-Versteuerung
+ oder <code class="literal">cash</code> für die Ist-Versteuerung.</p></dd><dt><span class="term">
<code class="varname">inventory_system</code>
</span></dt><dd><p>Dieser Parameter legt die Warenbuchungsmethode fest. Er
- enthält entweder <code class="literal">perpetual</code> für die
- Bestandsmethode oder <code class="literal">periodic</code> für die
- Aufwandsmethode.</p></dd></dl></div><p>Zum Vergleich der Funktionalität bis und nach 2.6.3:
- <code class="varname">eur</code> = 1 bedeutete Einnahmen-Überschuss-Rechnung,
+ enthält entweder <code class="literal">perpetual</code> für die
+ Bestandsmethode oder <code class="literal">periodic</code> für die
+ Aufwandsmethode.</p></dd></dl></div><p>Zum Vergleich der Funktionalität bis und nach 2.6.3:
+ <code class="varname">eur</code> = 1 bedeutete Einnahmen-Überschuss-Rechnung,
Ist-Versteuerung und Aufwandsmethode. <code class="varname">eur</code> = 0
bedeutete hingegen Bilanzierung, Soll-Versteuerung und
Bestandsmethode.</p><p>Die Konfiguration "<code class="varname">eur</code>" unter
<code class="varname">[system]</code> in der <a class="link" href="ch02s03.html" title="2.3. Lx-Office-Konfigurationsdatei">Konfigurationsdatei</a>
<code class="filename">config/lx_office.conf</code> wird nun nicht mehr
- benötigt und kann entfernt werden. Dies muss manuell geschehen.</p></div><div class="sect2" title="2.11.3. Festlegen der Parameter"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.setting-parameters"></a>2.11.3. Festlegen der Parameter</h3></div></div></div><p>Beim Anlegen eines neuen Mandanten bzw. einer neuen Datenbank in
- der Admininstration können diese Optionen nun unabhängig voneinander
+ benötigt und kann entfernt werden. Dies muss manuell geschehen.</p></div><div class="sect2" title="2.11.3. Festlegen der Parameter"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.setting-parameters"></a>2.11.3. Festlegen der Parameter</h3></div></div></div><p>Beim Anlegen eines neuen Mandanten bzw. einer neuen Datenbank in
+ der Admininstration können diese Optionen nun unabhängig voneinander
eingestellt werden.</p><p>Beim Upgrade bestehender Mandanten wird eur ausgelesen und die
- Variablen werden so gesetzt, daß sich an der Funktionalität nichts
- ändert.</p><p>Die aktuelle Konfiguration wird unter Nummernkreise und
+ Variablen werden so gesetzt, daß sich an der Funktionalität nichts
+ ändert.</p><p>Die aktuelle Konfiguration wird unter Nummernkreise und
Standardkonten unter dem neuen Punkt "Einstellungen" angezeigt
- (read-only). Eine spätere Änderung ist für einen bestehenden Mandanten
- nicht mehr möglich. Dies war auch vorher nicht möglich, bzw.
+ (read-only). Eine spätere Änderung ist für einen bestehenden Mandanten
+ nicht mehr möglich. Dies war auch vorher nicht möglich, bzw.
vorhandene Daten wurden so belassen und haben damit die Ergebnisse
- verfälscht.</p></div><div class="sect2" title="2.11.4. Bemerkungen zu Bestandsmethode"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.inventory-system-perpetual"></a>2.11.4. Bemerkungen zu Bestandsmethode</h3></div></div></div><p>Die Bestandsmethode ist eigentlich eine sehr elegante Methode,
+ verfälscht.</p></div><div class="sect2" title="2.11.4. Bemerkungen zu Bestandsmethode"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.inventory-system-perpetual"></a>2.11.4. Bemerkungen zu Bestandsmethode</h3></div></div></div><p>Die Bestandsmethode ist eigentlich eine sehr elegante Methode,
funktioniert in Lx-Office aber nur unter bestimmten Bedingungen:
- Voraussetzung ist, daß auch immer alle Einkaufsrechnungen gepflegt
+ Voraussetzung ist, daß auch immer alle Einkaufsrechnungen gepflegt
werden, und man beim Jahreswechsel nicht mit einer leeren Datenbank
- anfängt, da bei jedem Verkauf anhand der gesamten Rechnungshistorie
+ anfängt, da bei jedem Verkauf anhand der gesamten Rechnungshistorie
der Einkaufswert der Ware nach dem FIFO-Prinzip aus den
Einkaufsrechnungen berechnet wird.</p><p>Die Bestandsmethode kann vom Prinzip her also nur funktioneren,
- wenn man mit den Buchungen bei Null anfängt, und man kann auch nicht
+ wenn man mit den Buchungen bei Null anfängt, und man kann auch nicht
im laufenden Betrieb von der Aufwandsmethode zur Bestandsmethode
wechseln.</p></div><div class="sect2" title="2.11.5. Bekannte Probleme"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.knonw-issues"></a>2.11.5. Bekannte Probleme</h3></div></div></div><p>Bei bestimmten Berichten kann man derzeit noch inviduell
einstellen, ob man nach Ist- oder Sollversteuerung auswertet, und es
die Konfigurationsvariable
<code class="varname">$::lx_office_conf{system}->{eur}</code> ausgewertet
wurde.</p><p>Es fehlen Hilfetext beim Neuanlegen eines Mandanten, was die
- Optionen bewirken, z.B. mit zwei Standardfällen.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s10.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="ch02s12.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.10. OpenDocument-Vorlagen </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.12. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</td></tr></table></div></body></html>
\ No newline at end of file
+ Optionen bewirken, z.B. mit zwei Standardfällen.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s10.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="ch02s12.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.10. OpenDocument-Vorlagen </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.12. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>2.12. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s11.html" title="2.11. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR"><link rel="next" href="ch02s13.html" title="2.13. Lx-Office ERP verwenden"></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.12. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s11.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="ch02s13.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.12. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.skr04-update-3804"></a>2.12. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</h2></div></div></div><div class="sect2" title="2.12.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="config.skr04-update-3804.introduction"></a>2.12.1. Einführung</h3></div></div></div><p>Die Umsatzsteuerumstellung auf 19% für SKR04 für die
- Steuerschlüssel "EU ohne USt-ID Nummer" ist erst 2010 erfolgt.
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>2.12. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s11.html" title="2.11. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR"><link rel="next" href="ch02s13.html" title="2.13. Lx-Office ERP verwenden"></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.12. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s11.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="ch02s13.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.12. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.skr04-update-3804"></a>2.12. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</h2></div></div></div><div class="sect2" title="2.12.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="config.skr04-update-3804.introduction"></a>2.12.1. Einführung</h3></div></div></div><p>Die Umsatzsteuerumstellung auf 19% für SKR04 für die
+ Steuerschlüssel "EU ohne USt-ID Nummer" ist erst 2010 erfolgt.
Lx-Office beinhaltet ein Upgradeskript, das das Konto 3804 automatisch
erstellt und die Steuereinstellungen korrekt einstellt. Hat der
Benutzer aber schon selber das Konto 3804 angelegt, oder gab es schon
Buchungen im Zeitraum nach dem 01.01.2007 auf das Konto 3803, wird das
- Upgradeskript vorsichtshalber nicht ausgeführt, da der Benutzer sich
- vielleicht schon selbst geholfen hat und mit seinen Änderungen
+ Upgradeskript vorsichtshalber nicht ausgeführt, da der Benutzer sich
+ vielleicht schon selbst geholfen hat und mit seinen Änderungen
zufrieden ist. Die korrekten Einstellungen kann man aber auch per Hand
- ausführen. Nachfolgend werden die entsprechenden Schritte anhand von
- Screenshots dargestellt.</p><p>Für den Fall, daß Buchungen mit der Steuerschlüssel "EU ohne
+ ausführen. Nachfolgend werden die entsprechenden Schritte anhand von
+ Screenshots dargestellt.</p><p>Für den Fall, daß Buchungen mit der Steuerschlüssel "EU ohne
USt.-IdNr." nach dem 01.01.2007 erfolgt sind, ist davon auszugehen,
dass diese mit dem alten Umsatzsteuersatz von 16% gebucht worden sind,
und diese Buchungen sollten entsprechend kontrolliert werden.</p></div><div class="sect2" title="2.12.2. Konto 3804 manuell anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="config.skr04-update-3804.create-chart"></a>2.12.2. Konto 3804 manuell anlegen</h3></div></div></div><p>Die folgenden Schritte sind notwendig, um das Konto manuell
anzulegen und zu konfigurieren. Zuerst wird in
<span class="guimenu">System</span> ->
- <span class="guisubmenu">Kontenübersicht</span> -> <span class="guimenuitem">Konto
+ <span class="guisubmenu">Kontenübersicht</span> -> <span class="guimenuitem">Konto
erfassen</span> das Konto angelegt.</p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/konto3804.png"></div></div><p>
- Als Zweites muss Steuergruppe 13 für Konto 3803 angepasst werden. Dazu unter <span class="guimenu">System</span> ->
- <span class="guisubmenu">Steuern</span> -> <span class="guimenuitem">Bearbeiten</span> den Eintrag mit Steuerschlüssel 13 auswählen und ihn
+ Als Zweites muss Steuergruppe 13 für Konto 3803 angepasst werden. Dazu unter <span class="guimenu">System</span> ->
+ <span class="guisubmenu">Steuern</span> -> <span class="guimenuitem">Bearbeiten</span> den Eintrag mit Steuerschlüssel 13 auswählen und ihn
wie im folgenden Screenshot angezeigt anpassen.
</p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/steuer3803.png"></div></div><p>
- Als Drittes wird ein neuer Eintrag mit Steuerschlüssel 13 für Konto 3804 (19%) angelegt. Dazu unter <span class="guimenu">System</span> ->
- <span class="guisubmenu">Steuern</span> -> <span class="guimenuitem">Erfassen</span> auswählen und die Werte aus dem Screenshot übernehmen.
+ Als Drittes wird ein neuer Eintrag mit Steuerschlüssel 13 für Konto 3804 (19%) angelegt. Dazu unter <span class="guimenu">System</span> ->
+ <span class="guisubmenu">Steuern</span> -> <span class="guimenuitem">Erfassen</span> auswählen und die Werte aus dem Screenshot übernehmen.
</p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/steuer3804.png"></div></div><p>
- Als Nächstes sind alle Konten anzupassen, die als Steuerautomatikkonto die 3803 haben, sodass sie ab dem 1.1.2007 auch
- Steuerautomatik auf 3804 bekommen. Dies betrifft in der Standardkonfiguration die Konten 4315 und 4726. Als Beispiel für 4315
- müssen Sie dazu unter <span class="guimenu">System</span> -> <span class="guisubmenu">Kontenübersicht</span> -> <span class="guimenuitem">Konten
+ Als Nächstes sind alle Konten anzupassen, die als Steuerautomatikkonto die 3803 haben, sodass sie ab dem 1.1.2007 auch
+ Steuerautomatik auf 3804 bekommen. Dies betrifft in der Standardkonfiguration die Konten 4315 und 4726. Als Beispiel für 4315
+ müssen Sie dazu unter <span class="guimenu">System</span> -> <span class="guisubmenu">Kontenübersicht</span> -> <span class="guimenuitem">Konten
anzeigen</span> das Konto 4315 anklicken und die Einstellungen wie im Screenshot gezeigt vornehmen.
</p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/konto4315.png"></div></div><p>
Als Letztes sollte die Steuerliste unter <span class="guimenu">System</span> -> <span class="guisubmenu">Steuern</span> ->
<span class="guimenuitem">Bearbeiten</span> kontrolliert werden. Zum Vergleich der Screenshot.
- </p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/steuerliste.png"></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s11.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="ch02s13.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.11. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
+ </p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/steuerliste.png"></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s11.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="ch02s13.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.11. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
EUR </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.13. Lx-Office ERP verwenden</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>2.13. Lx-Office ERP verwenden</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s12.html" title="2.12. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb"><link rel="next" href="ch03.html" title="Kapitel 3. Features und Funktionen"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.13. Lx-Office ERP verwenden</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s12.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.13. Lx-Office ERP verwenden"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Lx-Office-ERP-verwenden"></a>2.13. Lx-Office ERP verwenden</h2></div></div></div><p>Nach erfolgreicher Installation ist der Loginbildschirm unter
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>2.13. Lx-Office ERP verwenden</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s12.html" title="2.12. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb"><link rel="next" href="ch03.html" title="Kapitel 3. Features und Funktionen"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.13. Lx-Office ERP verwenden</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s12.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.13. Lx-Office ERP verwenden"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Lx-Office-ERP-verwenden"></a>2.13. Lx-Office ERP verwenden</h2></div></div></div><p>Nach erfolgreicher Installation ist der Loginbildschirm unter
folgender URL erreichbar:</p><p>
<a class="ulink" href="http://localhost/lx-office-erp/login.pl" target="_top">http://localhost/lx-office-erp/login.pl</a>
</p><p>Die Administrationsseite erreichen Sie unter:</p><p>
<a class="ulink" href="http://localhost/lx-office-erp/admin.pl" target="_top">http://localhost/lx-office-erp/admin.pl</a>
- </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s12.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.12. 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"> Kapitel 3. Features und Funktionen</td></tr></table></div></body></html>
\ No newline at end of file
+ </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s12.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.12. 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"> Kapitel 3. Features und Funktionen</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Kapitel 3. Features und Funktionen</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="index.html" title="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch02s13.html" title="2.13. Lx-Office ERP verwenden"><link rel="next" href="ch03s02.html" title="3.2. Dokumentenvorlagen und verfügbare Variablen"></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 3. Features und Funktionen</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s13.html">Zurück</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch03s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 3. Features und Funktionen"><div class="titlepage"><div><div><h2 class="title"><a name="features"></a>Kapitel 3. Features und Funktionen</h2></div></div></div><div class="sect1" title="3.1. Wiederkehrende Rechnungen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="features.periodic-invoices"></a>3.1. Wiederkehrende Rechnungen</h2></div></div></div><div class="sect2" title="3.1.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.introduction"></a>3.1.1. Einführung</h3></div></div></div><p>Wiederkehrende Rechnungen werden als normale Aufträge definiert
- und konfiguriert, mit allen dazugehörigen Kunden- und Artikelangaben.
- Die konfigurierten Aufträge werden später automatisch in Rechnungen
- umgewandelt, so als ob man den Workflow benutzen würde, und auch die
- Auftragsnummer wird übernommen, sodass alle wiederkehrenden
- Rechnungen, die aus einem Auftrag erstellt wurden, später leicht
- wiederzufinden sind.</p></div><div class="sect2" title="3.1.2. Konfiguration"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.configuration"></a>3.1.2. Konfiguration</h3></div></div></div><p>Um einen Auftrag für wiederkehrende Rechnung zu konfigurieren,
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>Kapitel 3. Features und Funktionen</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="index.html" title="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch02s13.html" title="2.13. Lx-Office ERP verwenden"><link rel="next" href="ch03s02.html" title="3.2. Dokumentenvorlagen und verfügbare Variablen"></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 3. Features und Funktionen</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s13.html">Zurück</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch03s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 3. Features und Funktionen"><div class="titlepage"><div><div><h2 class="title"><a name="features"></a>Kapitel 3. Features und Funktionen</h2></div></div></div><div class="sect1" title="3.1. Wiederkehrende Rechnungen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="features.periodic-invoices"></a>3.1. Wiederkehrende Rechnungen</h2></div></div></div><div class="sect2" title="3.1.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.introduction"></a>3.1.1. Einführung</h3></div></div></div><p>Wiederkehrende Rechnungen werden als normale Aufträge definiert
+ und konfiguriert, mit allen dazugehörigen Kunden- und Artikelangaben.
+ Die konfigurierten Aufträge werden später automatisch in Rechnungen
+ umgewandelt, so als ob man den Workflow benutzen würde, und auch die
+ Auftragsnummer wird übernommen, sodass alle wiederkehrenden
+ Rechnungen, die aus einem Auftrag erstellt wurden, später leicht
+ wiederzufinden sind.</p></div><div class="sect2" title="3.1.2. Konfiguration"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.configuration"></a>3.1.2. Konfiguration</h3></div></div></div><p>Um einen Auftrag für wiederkehrende Rechnung zu konfigurieren,
findet sich beim Bearbeiten des Auftrags ein neuer Knopf
- "Konfigurieren", der ein neues Fenster öffnet, in dem man die nötigen
- Parameter einstellen kann. Hinter dem Knopf wird außerdem noch
+ "Konfigurieren", der ein neues Fenster öffnet, in dem man die nötigen
+ Parameter einstellen kann. Hinter dem Knopf wird außerdem noch
angezeigt, ob der Auftrag als wiederkehrende Rechnung konfiguriert ist
oder nicht.</p><p>Folgende Parameter kann man konfigurieren:</p><div class="variablelist"><dl><dt><span class="term">Status</span></dt><dd><p>Bei aktiven Rechnungen wird automatisch eine Rechnung
- erstellt, wenn die Periodizität erreicht ist (z.B. Anfang eines
- neuen Monats).</p><p>Ist ein Auftrag nicht aktiv, so werden für ihn auch keine
- wiederkehrenden Rechnungen erzeugt. Stellt man nach längerer
+ erstellt, wenn die Periodizität erreicht ist (z.B. Anfang eines
+ neuen Monats).</p><p>Ist ein Auftrag nicht aktiv, so werden für ihn auch keine
+ wiederkehrenden Rechnungen erzeugt. Stellt man nach längerer
nicht-aktiver Zeit einen Auftrag wieder auf aktiv, wird beim
- nächsten Periodenwechsel für alle Perioden, seit der letzten
- aktiven Periode, jeweils eine Rechnung erstellt. Möchte man dies
- verhindern, muss man vorher das Startdatum neu setzen.</p><p>Für gekündigte Aufträge werden nie mehr Rechnungen
- erstellt. Man kann sich diese Aufträge aber gesondert in den
- Berichten anzeigen lassen.</p></dd><dt><span class="term">Periodizität</span></dt><dd><p>Ob monatlich, quartalsweise oder jährlich auf neue
- Rechnungen überprüft werden soll. Für jede Periode seit dem
- Startdatum wird überprüft, ob für die Periode (beginnend immer
+ nächsten Periodenwechsel für alle Perioden, seit der letzten
+ aktiven Periode, jeweils eine Rechnung erstellt. Möchte man dies
+ verhindern, muss man vorher das Startdatum neu setzen.</p><p>Für gekündigte Aufträge werden nie mehr Rechnungen
+ erstellt. Man kann sich diese Aufträge aber gesondert in den
+ Berichten anzeigen lassen.</p></dd><dt><span class="term">Periodizität</span></dt><dd><p>Ob monatlich, quartalsweise oder jährlich auf neue
+ Rechnungen überprüft werden soll. Für jede Periode seit dem
+ Startdatum wird überprüft, ob für die Periode (beginnend immer
mit dem ersten Tag der Periode) schon eine Rechnung erstellt
- wurde. Unter Umständen können bei einem Startdatum in der
+ wurde. Unter Umständen können bei einem Startdatum in der
Vergangenheit gleich mehrere Rechnungen erstellt werden.</p></dd><dt><span class="term">Buchen auf</span></dt><dd><p>Das Forderungskonto, in der Regel "Forderungen aus
Lieferungen und Leistungen". Das Gegenkonto ergibt sich aus den
- Buchungsgruppen der betreffenden Waren.</p></dd><dt><span class="term">Startdatum</span></dt><dd><p>ab welchem Datum auf Rechnungserstellung geprüft werden
+ Buchungsgruppen der betreffenden Waren.</p></dd><dt><span class="term">Startdatum</span></dt><dd><p>ab welchem Datum auf Rechnungserstellung geprüft werden
soll</p></dd><dt><span class="term">Enddatum</span></dt><dd><p>ab wann keine Rechnungen mehr erstellt werden
- sollen</p></dd><dt><span class="term">Automatische Verlängerung um x Monate</span></dt><dd><p>Sollen die wiederkehrenden Rechnungen bei Erreichen des
+ sollen</p></dd><dt><span class="term">Automatische Verlängerung um x Monate</span></dt><dd><p>Sollen die wiederkehrenden Rechnungen bei Erreichen des
eingetragenen Enddatums weiterhin erstellt werden, so kann man
hier die Anzahl der Monate eingeben, um die das Enddatum
automatisch nach hinten geschoben wird.</p></dd><dt><span class="term">Drucken</span></dt><dd><p>Sind Drucker konfiguriert, so kann man sich die erstellten
Konfiguriert wird dies in der <a class="link" href="ch02s03.html#config.config-file.sections-parameters" title="2.3.2. Abschnitte und Parameter">Konfigurationsdatei</a>
<code class="filename">config/lx_office.conf</code> im Abschnitt
- <code class="varname">[periodic_invoices]</code>.</p></div><div class="sect2" title="3.1.3. Auflisten"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.reports"></a>3.1.3. Auflisten</h3></div></div></div><p>Unter Verkauf->Berichte->Aufträge finden sich zwei neue
+ <code class="varname">[periodic_invoices]</code>.</p></div><div class="sect2" title="3.1.3. Auflisten"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.reports"></a>3.1.3. Auflisten</h3></div></div></div><p>Unter Verkauf->Berichte->Aufträge finden sich zwei neue
Checkboxen, "Wiederkehrende Rechnungen aktiv" und "Wiederkehrende
- Rechnungen inaktiv", mit denen man sich einen Überglick über die
- wiederkehrenden Rechnungen verschaffen kann.</p></div><div class="sect2" title="3.1.4. Erzeugung der eigentlichen Rechnungen"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.task-server"></a>3.1.4. Erzeugung der eigentlichen Rechnungen</h3></div></div></div><p>Die zeitliche und periodische Überprüfung, ob eine
+ Rechnungen inaktiv", mit denen man sich einen Überglick über die
+ wiederkehrenden Rechnungen verschaffen kann.</p></div><div class="sect2" title="3.1.4. Erzeugung der eigentlichen Rechnungen"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.task-server"></a>3.1.4. Erzeugung der eigentlichen Rechnungen</h3></div></div></div><p>Die zeitliche und periodische Überprüfung, ob eine
wiederkehrende Rechnung automatisch erstellt werden soll, geschieht
durch den <a class="link" href="ch02s06.html" title="2.6. Der Task-Server">Taskserver</a>, einen
externen Dienst, der automatisch beim Start des Servers gestartet
- werden sollte.</p></div><div class="sect2" title="3.1.5. Erste Rechnung für aktuellen Monat erstellen"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.create-for-current-month"></a>3.1.5. Erste Rechnung für aktuellen Monat erstellen</h3></div></div></div><p>Will man im laufenden Monat eine monatlich wiederkehrende
+ werden sollte.</p></div><div class="sect2" title="3.1.5. Erste Rechnung für aktuellen Monat erstellen"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.create-for-current-month"></a>3.1.5. Erste Rechnung für aktuellen Monat erstellen</h3></div></div></div><p>Will man im laufenden Monat eine monatlich wiederkehrende
Rechnung inkl. des laufenden Monats starten, stellt man das Startdatum
auf den Monatsanfang und wartet ein paar Minuten, bis der Taskserver
den neu konfigurieren Auftrag erkennt und daraus eine Rechnung
generiert hat. Alternativ setzt man das Startdatum auf den
Monatsersten des Folgemonats und erstellt die erste Rechnung direkt
- manuell über den Workflow.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s13.html">Zurück</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch03s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.13. Lx-Office ERP verwenden </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 3.2. Dokumentenvorlagen und verfügbare Variablen</td></tr></table></div></body></html>
\ No newline at end of file
+ manuell über den Workflow.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s13.html">Zurück</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch03s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.13. Lx-Office ERP verwenden </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 3.2. Dokumentenvorlagen und verfügbare Variablen</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>3.2. Dokumentenvorlagen und verfügbare Variablen</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch03.html" title="Kapitel 3. Features und Funktionen"><link rel="prev" href="ch03.html" title="Kapitel 3. Features und Funktionen"><link rel="next" href="ch03s03.html" title="3.3. Excel-Vorlagen"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">3.2. Dokumentenvorlagen und verfügbare Variablen</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03.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="ch03s03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="3.2. Dokumentenvorlagen und verfügbare Variablen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="dokumentenvorlagen-und-variablen"></a>3.2. Dokumentenvorlagen und verfügbare Variablen</h2></div></div></div><div class="sect2" title="3.2.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.einf%C3%BChrung"></a>3.2.1. Einführung</h3></div></div></div><p>Dies ist eine Auflistung der Standard-Dokumentenvorlagen und
- aller zur Bearbeitung verfügbaren Variablen. Eine Variable wird in
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>3.2. Dokumentenvorlagen und verfügbare Variablen</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch03.html" title="Kapitel 3. Features und Funktionen"><link rel="prev" href="ch03.html" title="Kapitel 3. Features und Funktionen"><link rel="next" href="ch03s03.html" title="3.3. Excel-Vorlagen"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">3.2. Dokumentenvorlagen und verfügbare Variablen</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03.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="ch03s03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="3.2. Dokumentenvorlagen und verfügbare Variablen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="dokumentenvorlagen-und-variablen"></a>3.2. Dokumentenvorlagen und verfügbare Variablen</h2></div></div></div><div class="sect2" title="3.2.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.einf%C3%BChrung"></a>3.2.1. Einführung</h3></div></div></div><p>Dies ist eine Auflistung der Standard-Dokumentenvorlagen und
+ aller zur Bearbeitung verfügbaren Variablen. Eine Variable wird in
einer Vorlage durch ihren Inhalt ersetzt, wenn sie in der Form
- <code class="function"><%variablenname%></code> verwendet wird. Für
- LaTeX- und HTML-Vorlagen kann man die Form dieser Tags auch verändern
- (siehe <a class="xref" href="ch03s02.html#dokumentenvorlagen-und-variablen.tag-style" title="3.2.4. Anfang und Ende der Tags verändern">Anfang und Ende der Tags verändern</a>).</p><p>Früher wurde hier nur über LaTeX gesprochen. Inzwischen
- unterstützt Lx-Office aber auch OpenDocument-Vorlagen. Sofern es nicht
- ausdrücklich eingeschränkt wird, gilt das im Folgenden gesagte für
+ <code class="function"><%variablenname%></code> verwendet wird. Für
+ LaTeX- und HTML-Vorlagen kann man die Form dieser Tags auch verändern
+ (siehe <a class="xref" href="ch03s02.html#dokumentenvorlagen-und-variablen.tag-style" title="3.2.4. Anfang und Ende der Tags verändern">Anfang und Ende der Tags verändern</a>).</p><p>Früher wurde hier nur über LaTeX gesprochen. Inzwischen
+ unterstützt Lx-Office aber auch OpenDocument-Vorlagen. Sofern es nicht
+ ausdrücklich eingeschränkt wird, gilt das im Folgenden gesagte für
alle Vorlagenarten.</p><p>Insgesamt sind technisch gesehen eine ganze Menge mehr Variablen
- verfügbar als hier aufgelistet werden. Die meisten davon können
+ verfügbar als hier aufgelistet werden. Die meisten davon können
allerdings innerhalb einer solchen Vorlage nicht sinnvoll verwendet
werden. Wenn eine Auflistung dieser Variablen gewollt ist, so kann
diese wie folgt erhalten werden:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
- <code class="filename">SL/Form.pm</code> öffnen und am Anfang die
- Zeile "<span class="command"><strong>use Data::Dumper;</strong></span>" einfügen.</p></li><li class="listitem"><p>In <code class="filename">Form.pm</code> die Funktion
+ <code class="filename">SL/Form.pm</code> öffnen und am Anfang die
+ Zeile "<span class="command"><strong>use Data::Dumper;</strong></span>" einfügen.</p></li><li class="listitem"><p>In <code class="filename">Form.pm</code> die Funktion
<code class="function">parse_template</code> suchen und hier die Zeile
- <span class="command"><strong>print(STDERR Dumper($self));</strong></span> einfügen.</p></li><li class="listitem"><p>Einmal per Browser die gewünschte Vorlage "benutzen", z.B.
- ein PDF für eine Rechnung erzeugen.</p></li><li class="listitem"><p>Im <code class="filename">error.log</code> Apache steht die Ausgabe
+ <span class="command"><strong>print(STDERR Dumper($self));</strong></span> einfügen.</p></li><li class="listitem"><p>Einmal per Browser die gewünschte Vorlage "benutzen", z.B.
+ ein PDF für eine Rechnung erzeugen.</p></li><li class="listitem"><p>Im <code class="filename">error.log</code> Apache steht die Ausgabe
der Variablen <code class="varname">$self</code> in der Form <code class="varname">'key'
=> 'value',</code>. Alle <code class="varname">key</code>s sind
- verfügbar.</p></li></ul></div></div><div class="sect2" title="3.2.2. Variablen ausgeben"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.variablen-ausgeben"></a>3.2.2. Variablen ausgeben</h3></div></div></div><p>Um eine Variable auszugeben, müssen sie einfach nur zwischen die
+ verfügbar.</p></li></ul></div></div><div class="sect2" title="3.2.2. Variablen ausgeben"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.variablen-ausgeben"></a>3.2.2. Variablen ausgeben</h3></div></div></div><p>Um eine Variable auszugeben, müssen sie einfach nur zwischen die
Tags geschrieben werden, also z.B.
<code class="varname"><%variablenname%></code>.</p><p>Optional kann man auch mit Leerzeichen getrennte Flags angeben,
die man aber nur selten brauchen wird. Die Syntax sieht also so aus:
<code class="varname"><%variablenname FLAG1 FLAG2%></code>. Momentan
- werden die folgenden Flags unterstützt:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
- <code class="option">NOFORMAT</code> gilt nur für Zahlenwerte und gibt
+ werden die folgenden Flags unterstützt:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+ <code class="option">NOFORMAT</code> gilt nur für Zahlenwerte und gibt
den Wert ohne Formatierung, also ohne Tausendertrennzeichen mit
- mit einem Punkt als Dezimaltrennzeichen aus. Nützlich z.B., wenn
+ mit einem Punkt als Dezimaltrennzeichen aus. Nützlich z.B., wenn
damit in der Vorlage z.B. von LaTeX gerechnet werden soll.</p></li><li class="listitem"><p>
- <code class="option">NOESCAPE</code> unterdrückt das Escapen von
- Sonderzeichen für die Vorlagensprache. Wenn also in einer
- Variablen bereits gültiger LaTeX-Code steht und dieser von LaTeX
- auch ausgewertet und nicht wortwörtlich angezeigt werden soll, so
- ist dieses Flag sinnvoll.</p></li></ul></div><p>Beispiel:</p><pre class="programlisting"><%quototal NOFORMAT%></pre></div><div class="sect2" title="3.2.3. Verwendung in Druckbefehlen"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.verwendung-in-druckbefehlen"></a>3.2.3. Verwendung in Druckbefehlen</h3></div></div></div><p>In der Admininstration können Drucker definiert werden. Auch im
- dort eingebbaren Druckbefehl können die hier aufgelisteten Variablen
+ <code class="option">NOESCAPE</code> unterdrückt das Escapen von
+ Sonderzeichen für die Vorlagensprache. Wenn also in einer
+ Variablen bereits gültiger LaTeX-Code steht und dieser von LaTeX
+ auch ausgewertet und nicht wortwörtlich angezeigt werden soll, so
+ ist dieses Flag sinnvoll.</p></li></ul></div><p>Beispiel:</p><pre class="programlisting"><%quototal NOFORMAT%></pre></div><div class="sect2" title="3.2.3. Verwendung in Druckbefehlen"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.verwendung-in-druckbefehlen"></a>3.2.3. Verwendung in Druckbefehlen</h3></div></div></div><p>In der Admininstration können Drucker definiert werden. Auch im
+ dort eingebbaren Druckbefehl können die hier aufgelisteten Variablen
und Kontrollstrukturen verwendet werden. Ihr Inhalt wird dabei nach
- den Regeln der gängigen Shells formatiert, sodass Sonderzeichen wie
- <code class="function">`...`</code> nicht zu unerwünschtem Verhalten
- führen.</p><p>Dies erlaubt z.B. die Definition eines Faxes als Druckerbefehl,
- für das die Telefonnummer eines Ansprechpartners als Teil der
- Kommandozeile verwendet wird. Für ein fiktives Kommando könnte das
- z.B. wie folgt aussehen:</p><pre class="programlisting">send_fax --number <%if cp_phone2%><%cp_phone2%><%else%><%cp_phone1%><%end%></pre></div><div class="sect2" title="3.2.4. Anfang und Ende der Tags verändern"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.tag-style"></a>3.2.4. Anfang und Ende der Tags verändern</h3></div></div></div><p>Der Standardstil für Tags sieht vor, dass ein Tag mit dem
+ den Regeln der gängigen Shells formatiert, sodass Sonderzeichen wie
+ <code class="function">`...`</code> nicht zu unerwünschtem Verhalten
+ führen.</p><p>Dies erlaubt z.B. die Definition eines Faxes als Druckerbefehl,
+ für das die Telefonnummer eines Ansprechpartners als Teil der
+ Kommandozeile verwendet wird. Für ein fiktives Kommando könnte das
+ z.B. wie folgt aussehen:</p><pre class="programlisting">send_fax --number <%if cp_phone2%><%cp_phone2%><%else%><%cp_phone1%><%end%></pre></div><div class="sect2" title="3.2.4. Anfang und Ende der Tags verändern"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.tag-style"></a>3.2.4. Anfang und Ende der Tags verändern</h3></div></div></div><p>Der Standardstil für Tags sieht vor, dass ein Tag mit dem
Kleinerzeichen und einem Prozentzeichen beginnt und mit dem
- Prozentzeichen und dem Größerzeichen endet, beispielsweise
+ Prozentzeichen und dem Größerzeichen endet, beispielsweise
<code class="function"><%customer%></code>. Da diese Form aber z.B. in
- LaTeX zu Problemen führen kann, weil das Prozentzeichen dort
+ LaTeX zu Problemen führen kann, weil das Prozentzeichen dort
Kommentare einleitet, kann pro HTML- oder LaTeX-Dokumentenvorlage der
- Stil umgestellt werden.</p><p>Dazu werden in die Datei Zeilen geschrieben, die mit dem für das
- Format gültigen Kommentarzeichen anfangen, dann
+ Stil umgestellt werden.</p><p>Dazu werden in die Datei Zeilen geschrieben, die mit dem für das
+ Format gültigen Kommentarzeichen anfangen, dann
<code class="function">config:</code> enthalten, die entsprechende Option
setzen und bei HTML-Dokumentenvorlagen mit dem Kommentarendzeichen
- enden. Beispiel für LaTeX:</p><pre class="programlisting">% config: tag-style=($ $)</pre><p>Dies würde Lx-Office dazu veranlassen, Variablen zu ersetzen,
+ enden. Beispiel für LaTeX:</p><pre class="programlisting">% config: tag-style=($ $)</pre><p>Dies würde Lx-Office dazu veranlassen, Variablen zu ersetzen,
wenn sie wie folgt aussehen: <code class="function">($customer$)</code>. Das
- äquivalente Beispiel für HTML-Dokumentenvorlagen sieht so aus:</p><pre class="programlisting"><!-- config: tag-style=($ $) --></pre></div><div class="sect2" title="3.2.5. Zuordnung von den Dateinamen zu den Funktionen"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.zuordnung-dateinamen"></a>3.2.5. Zuordnung von den Dateinamen zu den Funktionen</h3></div></div></div><p>Diese folgende kurze Auflistung zeigt, welche Vorlage bei
+ äquivalente Beispiel für HTML-Dokumentenvorlagen sieht so aus:</p><pre class="programlisting"><!-- config: tag-style=($ $) --></pre></div><div class="sect2" title="3.2.5. Zuordnung von den Dateinamen zu den Funktionen"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.zuordnung-dateinamen"></a>3.2.5. Zuordnung von den Dateinamen zu den Funktionen</h3></div></div></div><p>Diese folgende kurze Auflistung zeigt, welche Vorlage bei
welcher Funktion ausgelesen wird. Dabei ist die Dateiendung
"<code class="filename">.ext</code>" geeignet zu ersetzen:
- "<code class="filename">.tex</code>" für LaTeX-Vorlagen und
- "<code class="filename">.odt</code>" für OpenDocument-Vorlagen.</p><div class="variablelist"><dl><dt><span class="term">
+ "<code class="filename">.tex</code>" für LaTeX-Vorlagen und
+ "<code class="filename">.odt</code>" für OpenDocument-Vorlagen.</p><div class="variablelist"><dl><dt><span class="term">
<code class="filename">bin_list.ext</code>
</span></dt><dd><p>Lagerliste</p></dd><dt><span class="term">
<code class="filename">check.ext</code>
<code class="filename">zahlungserinnerung.ext</code>
</span></dt><dd><p>Mahnung (Dateiname im Programm konfigurierbar)</p></dd><dt><span class="term">
<code class="filename">zahlungserinnerung_invoice.ext</code>
- </span></dt><dd><p>Rechnung über Mahngebühren (Dateiname im Programm
- konfigurierbar)</p></dd></dl></div></div><div class="sect2" title="3.2.6. Sprache, Drucker und E-Mail"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.dateinamen-erweitert"></a>3.2.6. Sprache, Drucker und E-Mail</h3></div></div></div><p>Angeforderte Sprache und Druckerkürzel in den Dateinamen mit
+ </span></dt><dd><p>Rechnung über Mahngebühren (Dateiname im Programm
+ konfigurierbar)</p></dd></dl></div></div><div class="sect2" title="3.2.6. Sprache, Drucker und E-Mail"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.dateinamen-erweitert"></a>3.2.6. Sprache, Drucker und E-Mail</h3></div></div></div><p>Angeforderte Sprache und Druckerkürzel in den Dateinamen mit
eingearbeitet. So wird aus der Vorlage
<code class="filename">sales_order.ext</code> bei Sprache
- <code class="function">de</code> und Druckerkürzel <code class="function">lpr2</code>
+ <code class="function">de</code> und Druckerkürzel <code class="function">lpr2</code>
der Vorlagenname <code class="filename">sales_order_de_lpr2.ext</code>.
- Zusätzlich können für E-Mails andere Vorlagen erstellt werden, diese
- bekommen dann noch das Kürzel <code class="filename">_email</code>, der
- vollständige Vorlagenname wäre dann
- <code class="filename">sales_order_email_de_lpr2.ext</code>. In allen Fällen
+ Zusätzlich können für E-Mails andere Vorlagen erstellt werden, diese
+ bekommen dann noch das Kürzel <code class="filename">_email</code>, der
+ vollständige Vorlagenname wäre dann
+ <code class="filename">sales_order_email_de_lpr2.ext</code>. In allen Fällen
kann eine Standarddatei <code class="filename">default.ext</code> hinterlegt
werden. Diese wird verwendet, wenn keine der anderen Varianten
- gefunden wird.</p><p>Die vollständige Suchreihenfolge für einen Verkaufsauftrag mit
+ gefunden wird.</p><p>Die vollständige Suchreihenfolge für einen Verkaufsauftrag mit
der Sprache "de" und dem Drucker "lpr2", der per E-Mail im Format PDF
verschickt wird, ist:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
<code class="filename">sales_order_email_de_lpr2.tex</code>
<code class="filename">sales_order.tex</code>
</p></li><li class="listitem"><p>
<code class="filename">default.tex</code>
- </p></li></ol></div><p>Die kurzen Varianten dieser Vorlagentitel müssen dann entweder
+ </p></li></ol></div><p>Die kurzen Varianten dieser Vorlagentitel müssen dann entweder
Standardwerte anzeigen, oder die angeforderten Werte selbst auswerten,
siehe dazu <a class="xref" href="ch03s02.html#dokumentenvorlagen-und-variablen.allgemeine-variablen.meta" title="3.2.7.1. Metainformationen zur angeforderten Vorlage">Metainformationen zur angeforderten Vorlage</a>.</p></div><div class="sect2" title="3.2.7. Allgemeine Variablen, die in allen Vorlagen vorhanden sind"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.allgemeine-variablen"></a>3.2.7. Allgemeine Variablen, die in allen Vorlagen vorhanden
- sind</h3></div></div></div><div class="sect3" title="3.2.7.1. Metainformationen zur angeforderten Vorlage"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.allgemeine-variablen.meta"></a>3.2.7.1. Metainformationen zur angeforderten Vorlage</h4></div></div></div><p>Diese Variablen liefern Informationen darüber welche Variante
- einer Vorlage der Benutzer angefragt hat. Sie sind nützlich für
+ sind</h3></div></div></div><div class="sect3" title="3.2.7.1. Metainformationen zur angeforderten Vorlage"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.allgemeine-variablen.meta"></a>3.2.7.1. Metainformationen zur angeforderten Vorlage</h4></div></div></div><p>Diese Variablen liefern Informationen darüber welche Variante
+ einer Vorlage der Benutzer angefragt hat. Sie sind nützlich für
Vorlagenautoren, die aus einer zentralen Layoutvorlage die einzelnen
- Formulare einbinden möchten.</p><div class="variablelist"><dl><dt><span class="term">
+ Formulare einbinden möchten.</p><div class="variablelist"><dl><dt><span class="term">
<code class="varname">template_meta.formname</code>
</span></dt><dd><p>Basisname der Vorlage. Identisch mit der <a class="link" href="ch03s02.html#dokumentenvorlagen-und-variablen.zuordnung-dateinamen" title="3.2.5. Zuordnung von den Dateinamen zu den Funktionen">Zurordnung
zu den Dateinamen</a> ohne die Erweiterung. Ein
- Verkaufsauftrag enthält hier
+ Verkaufsauftrag enthält hier
<code class="constant">sales_order</code>.</p></dd><dt><span class="term">
<code class="varname">template_meta.language.description</code>
</span></dt><dd><p>Beschreibung der verwendeten Sprache</p></dd><dt><span class="term">
<code class="varname">template_meta.language.template_code</code>
- </span></dt><dd><p>Vorlagenürzel der verwendeten Sprache, identisch mit dem
- Kürzel das im Dateinamen verwendetet wird.</p></dd><dt><span class="term">
+ </span></dt><dd><p>Vorlagenürzel der verwendeten Sprache, identisch mit dem
+ Kürzel das im Dateinamen verwendetet wird.</p></dd><dt><span class="term">
<code class="varname">template_meta.language.output_numberformat</code>
</span></dt><dd><p>Zahlenformat der verwendeten Sprache in der Form
"<code class="constant">1.000,00</code>". Experimentell! Nur
- interessant für Vorlagen die mit unformatierten Werten
+ interessant für Vorlagen die mit unformatierten Werten
arbeiten.</p></dd><dt><span class="term">
<code class="varname">template_meta.language.output_dateformat</code>
</span></dt><dd><p>Datumsformat der verwendeten Sprache in der Form
"<code class="constant">dd.mm.yyyy</code>". Experimentell! Nur
- interessant für Vorlagen die mit unformatierten Werten
+ interessant für Vorlagen die mit unformatierten Werten
arbeiten.</p></dd><dt><span class="term">
<code class="varname">template_meta.format</code>
</span></dt><dd><p>Das angeforderte Format. Kann im Moment die Werte
<code class="constant">format</code> entschieden.</p></dd><dt><span class="term">
<code class="varname">template_meta.media</code>
</span></dt><dd><p>Ausgabemedium. Kann zur Zeit die Werte
- <code class="constant">screen</code> für Bildschirm,
- <code class="constant">email</code> für E-Mmail (triggert das
- <code class="constant">_email</code> Kürzel im Dateinamen),
- <code class="constant">printer</code> für Drucker, und
- <code class="constant">queue</code> für Warteschlange enthalten.</p></dd><dt><span class="term">
+ <code class="constant">screen</code> für Bildschirm,
+ <code class="constant">email</code> für E-Mmail (triggert das
+ <code class="constant">_email</code> Kürzel im Dateinamen),
+ <code class="constant">printer</code> für Drucker, und
+ <code class="constant">queue</code> für Warteschlange enthalten.</p></dd><dt><span class="term">
<code class="varname">template_meta.printer.description</code>
- </span></dt><dd><p>Beschreibung des ausgewählten Druckers</p></dd><dt><span class="term">
+ </span></dt><dd><p>Beschreibung des ausgewählten Druckers</p></dd><dt><span class="term">
<code class="varname">template_meta.printer.template_code</code>
- </span></dt><dd><p>Vorlagenürzel des ausgewählten Druckers, identisch mit
- dem Kürzel das im Dateinamen verwendetet wird.</p></dd></dl></div></div><div class="sect3" title="3.2.7.2. Stammdaten von Kunden und Lieferanten"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.allgemeine-variablen.kunden-lieferanten"></a>3.2.7.2. Stammdaten von Kunden und Lieferanten</h4></div></div></div><div class="variablelist"><dl><dt><span class="term">
+ </span></dt><dd><p>Vorlagenürzel des ausgewählten Druckers, identisch mit
+ dem Kürzel das im Dateinamen verwendetet wird.</p></dd></dl></div></div><div class="sect3" title="3.2.7.2. Stammdaten von Kunden und Lieferanten"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.allgemeine-variablen.kunden-lieferanten"></a>3.2.7.2. Stammdaten von Kunden und Lieferanten</h4></div></div></div><div class="variablelist"><dl><dt><span class="term">
<code class="varname">account_number</code>
</span></dt><dd><p>Kontonummer</p></dd><dt><span class="term">
<code class="varname">bank</code>
<code class="varname">creditlimit</code>
</span></dt><dd><p>Kreditlimit</p></dd><dt><span class="term">
<code class="varname">customeremail</code>
- </span></dt><dd><p>Email des Kunden; nur für Kunden</p></dd><dt><span class="term">
+ </span></dt><dd><p>Email des Kunden; nur für Kunden</p></dd><dt><span class="term">
<code class="varname">customerfax</code>
- </span></dt><dd><p>Faxnummer des Kunden; nur für Kunden</p></dd><dt><span class="term">
+ </span></dt><dd><p>Faxnummer des Kunden; nur für Kunden</p></dd><dt><span class="term">
<code class="varname">customernotes</code>
- </span></dt><dd><p>Bemerkungen beim Kunden; nur für Kunden</p></dd><dt><span class="term">
+ </span></dt><dd><p>Bemerkungen beim Kunden; nur für Kunden</p></dd><dt><span class="term">
<code class="varname">customernumber</code>
- </span></dt><dd><p>Kundennummer; nur für Kunden</p></dd><dt><span class="term">
+ </span></dt><dd><p>Kundennummer; nur für Kunden</p></dd><dt><span class="term">
<code class="varname">customerphone</code>
- </span></dt><dd><p>Telefonnummer des Kunden; nur für Kunden</p></dd><dt><span class="term">
+ </span></dt><dd><p>Telefonnummer des Kunden; nur für Kunden</p></dd><dt><span class="term">
<code class="varname">discount</code>
</span></dt><dd><p>Rabatt</p></dd><dt><span class="term">
<code class="varname">email</code>
</span></dt><dd><p>Telefonnummer (Lieferadresse) <a class="link" href="ch03s02.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a>
</p></dd><dt><span class="term">
<code class="varname">shiptostreet</code>
- </span></dt><dd><p>Straße und Hausnummer (Lieferadresse) <a class="link" href="ch03s02.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a>
+ </span></dt><dd><p>Straße und Hausnummer (Lieferadresse) <a class="link" href="ch03s02.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a>
</p></dd><dt><span class="term">
<code class="varname">shiptozipcode</code>
</span></dt><dd><p>Postleitzahl (Lieferadresse) <a class="link" href="ch03s02.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a>
</p></dd><dt><span class="term">
<code class="varname">street</code>
- </span></dt><dd><p>Straße und Hausnummer</p></dd><dt><span class="term">
+ </span></dt><dd><p>Straße und Hausnummer</p></dd><dt><span class="term">
<code class="varname">taxnumber</code>
</span></dt><dd><p>Steuernummer</p></dd><dt><span class="term">
<code class="varname">ustid</code>
</span></dt><dd><p>Umsatzsteuer-Identifikationsnummer</p></dd><dt><span class="term">
<code class="varname">vendoremail</code>
- </span></dt><dd><p>Email des Lieferanten; nur für Lieferanten</p></dd><dt><span class="term">
+ </span></dt><dd><p>Email des Lieferanten; nur für Lieferanten</p></dd><dt><span class="term">
<code class="varname">vendorfax</code>
- </span></dt><dd><p>Faxnummer des Lieferanten; nur für Lieferanten</p></dd><dt><span class="term">
+ </span></dt><dd><p>Faxnummer des Lieferanten; nur für Lieferanten</p></dd><dt><span class="term">
<code class="varname">vendornotes</code>
- </span></dt><dd><p>Bemerkungen beim Lieferanten; nur für Lieferanten</p></dd><dt><span class="term">
+ </span></dt><dd><p>Bemerkungen beim Lieferanten; nur für Lieferanten</p></dd><dt><span class="term">
<code class="varname">vendornumber</code>
- </span></dt><dd><p>Lieferantennummer; nur für Lieferanten</p></dd><dt><span class="term">
+ </span></dt><dd><p>Lieferantennummer; nur für Lieferanten</p></dd><dt><span class="term">
<code class="varname">vendorphone</code>
- </span></dt><dd><p>Telefonnummer des Lieferanten; nur für
+ </span></dt><dd><p>Telefonnummer des Lieferanten; nur für
Lieferanten</p></dd><dt><span class="term">
<code class="varname">zipcode</code>
</span></dt><dd><p>Postleitzahl</p></dd></dl></div><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="../../../../system/docbook-xsl/images/note.png"></td><th align="left"><a name="dokumentenvorlagen-und-variablen.anmerkung-shipto"></a>Anmerkung</th></tr><tr><td align="left" valign="top"><p>Anmerkung: Sind die <code class="varname">shipto*</code>-Felder in den
einige <code class="varname">shipto*</code>-Variablen so nicht in den
Stammdaten wiederfinden sondern schlicht Kopien der
Lieferdatenvariablen sind (z.B.
- <code class="varname">shiptocontact</code>).</p></td></tr></table></div></div><div class="sect3" title="3.2.7.3. Informationen über den Bearbeiter"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.allgemein-bearbeiter"></a>3.2.7.3. Informationen über den Bearbeiter</h4></div></div></div><div class="variablelist"><dl><dt><span class="term">
+ <code class="varname">shiptocontact</code>).</p></td></tr></table></div></div><div class="sect3" title="3.2.7.3. Informationen über den Bearbeiter"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.allgemein-bearbeiter"></a>3.2.7.3. Informationen über den Bearbeiter</h4></div></div></div><div class="variablelist"><dl><dt><span class="term">
<code class="varname">employee_address</code>
</span></dt><dd><p>Adressfeld</p></dd><dt><span class="term">
<code class="varname">employee_businessnumber</code>
<code class="varname">employee_taxnumber</code>
</span></dt><dd><p>Steuernummer</p></dd><dt><span class="term">
<code class="varname">employee_tel</code>
- </span></dt><dd><p>Telefonnummer</p></dd></dl></div></div><div class="sect3" title="3.2.7.4. Informationen über den Bearbeiter"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.allgemein-verkaeufer"></a>3.2.7.4. Informationen über den Bearbeiter</h4></div></div></div><div class="variablelist"><dl><dt><span class="term">
+ </span></dt><dd><p>Telefonnummer</p></dd></dl></div></div><div class="sect3" title="3.2.7.4. Informationen über den Bearbeiter"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.allgemein-verkaeufer"></a>3.2.7.4. Informationen über den Bearbeiter</h4></div></div></div><div class="variablelist"><dl><dt><span class="term">
<code class="varname">salesman_address</code>
</span></dt><dd><p>Adressfeld</p></dd><dt><span class="term">
<code class="varname">salesman_businessnumber</code>
<code class="varname">salesman_taxnumber</code>
</span></dt><dd><p>Steuernummer</p></dd><dt><span class="term">
<code class="varname">salesman_tel</code>
- </span></dt><dd><p>Telefonnummer</p></dd></dl></div></div><div class="sect3" title="3.2.7.5. Variablen für die einzelnen Steuern"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.allgemein-steuern"></a>3.2.7.5. Variablen für die einzelnen Steuern</h4></div></div></div><div class="variablelist"><dl><dt><span class="term">
+ </span></dt><dd><p>Telefonnummer</p></dd></dl></div></div><div class="sect3" title="3.2.7.5. Variablen für die einzelnen Steuern"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.allgemein-steuern"></a>3.2.7.5. Variablen für die einzelnen Steuern</h4></div></div></div><div class="variablelist"><dl><dt><span class="term">
<code class="varname">tax</code>
</span></dt><dd><p>Steuer</p></dd><dt><span class="term">
<code class="varname">taxbase</code>
<code class="varname">creditremaining</code>
</span></dt><dd><p>Verbleibender Kredit</p></dd><dt><span class="term">
<code class="varname">currency</code>
- </span></dt><dd><p>Währung</p></dd><dt><span class="term">
+ </span></dt><dd><p>Währung</p></dd><dt><span class="term">
<code class="varname">cusordnumber</code>
</span></dt><dd><p>Bestellnummer beim Kunden</p></dd><dt><span class="term">
<code class="varname">deliverydate</code>
</span></dt><dd><p>Lieferdatum</p></dd><dt><span class="term">
<code class="varname">duedate</code>
- </span></dt><dd><p>Fälligkeitsdatum</p></dd><dt><span class="term">
+ </span></dt><dd><p>Fälligkeitsdatum</p></dd><dt><span class="term">
<code class="varname">globalprojectnumber</code>
</span></dt><dd><p>Projektnummer des ganzen Beleges</p></dd><dt><span class="term">
<code class="varname">globalprojectdescription</code>
<code class="varname">subtotal</code>
</span></dt><dd><p>Zwischensumme aller Posten ohne Steuern</p></dd><dt><span class="term">
<code class="varname">total</code>
- </span></dt><dd><p>Restsumme der Rechnung (Summe abzüglich bereits
+ </span></dt><dd><p>Restsumme der Rechnung (Summe abzüglich bereits
bezahlter Posten)</p></dd><dt><span class="term">
<code class="varname">transaction_description</code>
</span></dt><dd><p>Vorgangsbezeichnung</p></dd><dt><span class="term">
<code class="varname">transdate</code>
</span></dt><dd><p>Auftragsdatum wenn die Rechnung aus einem Auftrag
- erstellt wurde</p></dd></dl></div></div><div class="sect3" title="3.2.8.2. Variablen für jeden Posten auf der Rechnung"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.invoice-posten"></a>3.2.8.2. Variablen für jeden Posten auf der Rechnung</h4></div></div></div><div class="variablelist"><dl><dt><span class="term">
+ erstellt wurde</p></dd></dl></div></div><div class="sect3" title="3.2.8.2. Variablen für jeden Posten auf der Rechnung"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.invoice-posten"></a>3.2.8.2. Variablen für jeden Posten auf der Rechnung</h4></div></div></div><div class="variablelist"><dl><dt><span class="term">
<code class="varname">bin</code>
</span></dt><dd><p>Stellage</p></dd><dt><span class="term">
<code class="varname">description</code>
<code class="varname">unit</code>
</span></dt><dd><p>Einheit</p></dd><dt><span class="term">
<code class="varname">weight</code>
- </span></dt><dd><p>Gewicht</p></dd></dl></div><p>Für jeden Posten gibt es ein Unterarray mit den Informationen
- über Lieferanten und Lieferantenartikelnummer. Diese müssen mit
+ </span></dt><dd><p>Gewicht</p></dd></dl></div><p>Für jeden Posten gibt es ein Unterarray mit den Informationen
+ über Lieferanten und Lieferantenartikelnummer. Diese müssen mit
einer <code class="function">foreach</code>-Schleife ausgegeben werden, da
- für jeden Artikel mehrere Lieferanteninformationen hinterlegt sein
- können. Die Variablen dafür lauten:</p><div class="variablelist"><dl><dt><span class="term">
+ für jeden Artikel mehrere Lieferanteninformationen hinterlegt sein
+ können. Die Variablen dafür lauten:</p><div class="variablelist"><dl><dt><span class="term">
<code class="varname">make</code>
</span></dt><dd><p>Lieferant</p></dd><dt><span class="term">
<code class="varname">model</code>
- </span></dt><dd><p>Lieferantenartikelnummer</p></dd></dl></div></div><div class="sect3" title="3.2.8.3. Variablen für die einzelnen Zahlungseingänge"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.invoice-zahlungen"></a>3.2.8.3. Variablen für die einzelnen Zahlungseingänge</h4></div></div></div><div class="variablelist"><dl><dt><span class="term">
+ </span></dt><dd><p>Lieferantenartikelnummer</p></dd></dl></div></div><div class="sect3" title="3.2.8.3. Variablen für die einzelnen Zahlungseingänge"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.invoice-zahlungen"></a>3.2.8.3. Variablen für die einzelnen Zahlungseingänge</h4></div></div></div><div class="variablelist"><dl><dt><span class="term">
<code class="varname">payment</code>
</span></dt><dd><p>Betrag</p></dd><dt><span class="term">
<code class="varname">paymentaccount</code>
<code class="varname">paymentmemo</code>
</span></dt><dd><p>Memo</p></dd><dt><span class="term">
<code class="varname">paymentsource</code>
- </span></dt><dd><p>Beleg</p></dd></dl></div></div><div class="sect3" title="3.2.8.4. Benutzerdefinierte Kunden- und Lieferantenvariablen"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.benutzerdefinierte-variablen-vc"></a>3.2.8.4. Benutzerdefinierte Kunden- und Lieferantenvariablen</h4></div></div></div><p>Die vom Benutzer definierten Variablen für Kunden und
+ </span></dt><dd><p>Beleg</p></dd></dl></div></div><div class="sect3" title="3.2.8.4. Benutzerdefinierte Kunden- und Lieferantenvariablen"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.benutzerdefinierte-variablen-vc"></a>3.2.8.4. Benutzerdefinierte Kunden- und Lieferantenvariablen</h4></div></div></div><p>Die vom Benutzer definierten Variablen für Kunden und
Lieferanten stehen beim Ausdruck von Einkaufs- und Verkaufsbelegen
- ebenfalls zur Verfügung. Ihre Namen setzen sich aus dem Präfix
+ ebenfalls zur Verfügung. Ihre Namen setzen sich aus dem Präfix
<code class="varname">vc_cvar_</code> und dem vom Benutzer festgelegten
Variablennamen zusammen.</p><p>Beispiel: Der Benutzer hat eine Variable namens
<code class="varname">number_of_employees</code> definiert, die die Anzahl der
- Mitarbeiter des Unternehmens enthält. Diese Variable steht dann
+ Mitarbeiter des Unternehmens enthält. Diese Variable steht dann
unter dem Namen <code class="varname">vc_cvar_number_of_employees</code> zur
- Verfügung.</p></div></div><div class="sect2" title="3.2.9. Variablen in Mahnungen und Rechnungen über Mahngebühren"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.dunning"></a>3.2.9. Variablen in Mahnungen und Rechnungen über Mahngebühren</h3></div></div></div><div class="sect3" title="3.2.9.1. Namen der Vorlagen"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.dunning-vorlagennamen"></a>3.2.9.1. Namen der Vorlagen</h4></div></div></div><p>Die Namen der Vorlagen werden im System-Menü vom Benutzer
- eingegeben. Wird für ein Mahnlevel die Option zur automatischen
- Erstellung einer Rechnung über die Mahngebühren und Zinsen
- aktiviert, so wird der Name der Vorlage für diese Rechnung aus dem
- Vorlagenname für diese Mahnstufe mit dem Zusatz
- <code class="constant">_invoice</code> gebildet. Weiterhin werden die Kürzel
- für die ausgewählte Sprache und den ausgewählten Drucker
- angehängt.</p></div><div class="sect3" title="3.2.9.2. Allgemeine Variablen in Mahnungen"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.dunning-allgemein"></a>3.2.9.2. Allgemeine Variablen in Mahnungen</h4></div></div></div><p>Die Variablen des Verkäufers stehen wie gewohnt als
- <code class="varname">employee_...</code> zur Verfügung. Die Adressdaten des
+ Verfügung.</p></div></div><div class="sect2" title="3.2.9. Variablen in Mahnungen und Rechnungen über Mahngebühren"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.dunning"></a>3.2.9. Variablen in Mahnungen und Rechnungen über Mahngebühren</h3></div></div></div><div class="sect3" title="3.2.9.1. Namen der Vorlagen"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.dunning-vorlagennamen"></a>3.2.9.1. Namen der Vorlagen</h4></div></div></div><p>Die Namen der Vorlagen werden im System-Menü vom Benutzer
+ eingegeben. Wird für ein Mahnlevel die Option zur automatischen
+ Erstellung einer Rechnung über die Mahngebühren und Zinsen
+ aktiviert, so wird der Name der Vorlage für diese Rechnung aus dem
+ Vorlagenname für diese Mahnstufe mit dem Zusatz
+ <code class="constant">_invoice</code> gebildet. Weiterhin werden die Kürzel
+ für die ausgewählte Sprache und den ausgewählten Drucker
+ angehängt.</p></div><div class="sect3" title="3.2.9.2. Allgemeine Variablen in Mahnungen"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.dunning-allgemein"></a>3.2.9.2. Allgemeine Variablen in Mahnungen</h4></div></div></div><p>Die Variablen des Verkäufers stehen wie gewohnt als
+ <code class="varname">employee_...</code> zur Verfügung. Die Adressdaten des
Kunden stehen als Variablen <code class="varname">name</code>,
<code class="varname">street</code>, <code class="varname">zipcode</code>,
<code class="varname">city</code>, <code class="varname">country</code>,
<code class="varname">department_1</code>, <code class="varname">department_2</code>,
- und <code class="varname">email</code> zur Verfügung.</p><p>Weitere Variablen beinhalten:</p><div class="variablelist"><dl><dt><span class="term">
+ und <code class="varname">email</code> zur Verfügung.</p><p>Weitere Variablen beinhalten:</p><div class="variablelist"><dl><dt><span class="term">
<code class="varname">dunning_date</code>
</span></dt><dd><p>Datum der Mahnung</p></dd><dt><span class="term">
<code class="varname">dunning_duedate</code>
- </span></dt><dd><p>Fälligkeitsdatum für diese Mahhnung</p></dd><dt><span class="term">
+ </span></dt><dd><p>Fälligkeitsdatum für diese Mahhnung</p></dd><dt><span class="term">
<code class="varname">dunning_id</code>
</span></dt><dd><p>Mahnungsnummer</p></dd><dt><span class="term">
<code class="varname">fee</code>
- </span></dt><dd><p>Kummulative Mahngebühren</p></dd><dt><span class="term">
+ </span></dt><dd><p>Kummulative Mahngebühren</p></dd><dt><span class="term">
<code class="varname">interest_rate</code>
</span></dt><dd><p>Zinssatz per anno in Prozent</p></dd><dt><span class="term">
<code class="varname">total_amount</code>
+ <code class="function">total_open_amount</code>
</p></dd><dt><span class="term">
<code class="varname">total_interest</code>
- </span></dt><dd><p>Zinsen per anno über alle Rechnungen</p></dd><dt><span class="term">
+ </span></dt><dd><p>Zinsen per anno über alle Rechnungen</p></dd><dt><span class="term">
<code class="varname">total_open_amount</code>
- </span></dt><dd><p>Summe über alle offene Beträge der Rechnungen</p></dd></dl></div></div><div class="sect3" title="3.2.9.3. Variablen für jede gemahnte Rechnung in einer Mahnung"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.dunning-details"></a>3.2.9.3. Variablen für jede gemahnte Rechnung in einer Mahnung</h4></div></div></div><div class="variablelist"><dl><dt><span class="term">
+ </span></dt><dd><p>Summe über alle offene Beträge der Rechnungen</p></dd></dl></div></div><div class="sect3" title="3.2.9.3. Variablen für jede gemahnte Rechnung in einer Mahnung"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.dunning-details"></a>3.2.9.3. Variablen für jede gemahnte Rechnung in einer Mahnung</h4></div></div></div><div class="variablelist"><dl><dt><span class="term">
<code class="varname">dn_amount</code>
</span></dt><dd><p>Rechnungssumme (brutto)</p></dd><dt><span class="term">
<code class="varname">dn_duedate</code>
- </span></dt><dd><p>Originales Fälligkeitsdatum der Rechnung</p></dd><dt><span class="term">
+ </span></dt><dd><p>Originales Fälligkeitsdatum der Rechnung</p></dd><dt><span class="term">
<code class="varname">dn_dunning_date</code>
</span></dt><dd><p>Datum der Mahnung</p></dd><dt><span class="term">
<code class="varname">dn_dunning_duedate</code>
- </span></dt><dd><p>Fälligkeitsdatum der Mahnung</p></dd><dt><span class="term">
+ </span></dt><dd><p>Fälligkeitsdatum der Mahnung</p></dd><dt><span class="term">
<code class="varname">dn_fee</code>
- </span></dt><dd><p>Kummulative Mahngebühr</p></dd><dt><span class="term">
+ </span></dt><dd><p>Kummulative Mahngebühr</p></dd><dt><span class="term">
<code class="varname">dn_interest</code>
- </span></dt><dd><p>Zinsen per anno für diese Rechnung</p></dd><dt><span class="term">
+ </span></dt><dd><p>Zinsen per anno für diese Rechnung</p></dd><dt><span class="term">
<code class="varname">dn_invnumber</code>
</span></dt><dd><p>Rechnungsnummer</p></dd><dt><span class="term">
<code class="varname">dn_linetotal</code>
<code class="varname">dn_transdate</code>
</span></dt><dd><p>Rechnungsdatum</p></dd><dt><span class="term">
<code class="varname">dn_curr</code>
- </span></dt><dd><p>Währung, in der die Rechnung erstellt wurde. (Die
- Rechnungsbeträge sind aber immer in der Hauptwährung)</p></dd></dl></div></div><div class="sect3" title="3.2.9.4. Variablen in automatisch erzeugten Rechnungen über Mahngebühren"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.dunning-invoice"></a>3.2.9.4. Variablen in automatisch erzeugten Rechnungen über
- Mahngebühren</h4></div></div></div><p>Die Variablen des Verkäufers stehen wie gewohnt als
- <code class="varname">employee_...</code> zur Verfügung. Die Adressdaten des
+ </span></dt><dd><p>Währung, in der die Rechnung erstellt wurde. (Die
+ Rechnungsbeträge sind aber immer in der Hauptwährung)</p></dd></dl></div></div><div class="sect3" title="3.2.9.4. Variablen in automatisch erzeugten Rechnungen über Mahngebühren"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.dunning-invoice"></a>3.2.9.4. Variablen in automatisch erzeugten Rechnungen über
+ Mahngebühren</h4></div></div></div><p>Die Variablen des Verkäufers stehen wie gewohnt als
+ <code class="varname">employee_...</code> zur Verfügung. Die Adressdaten des
Kunden stehen als Variablen <code class="varname">name</code>,
<code class="varname">street</code>, <code class="varname">zipcode</code>,
<code class="varname">city</code>, <code class="varname">country</code>,
<code class="varname">department_1</code>, <code class="varname">department_2</code>,
- und <code class="varname">email</code> zur Verfügung.</p><p>Weitere Variablen beinhalten:</p><div class="variablelist"><dl><dt><span class="term">
+ und <code class="varname">email</code> zur Verfügung.</p><p>Weitere Variablen beinhalten:</p><div class="variablelist"><dl><dt><span class="term">
<code class="varname">duedate</code>
- </span></dt><dd><p>Fälligkeitsdatum der Rechnung</p></dd><dt><span class="term">
+ </span></dt><dd><p>Fälligkeitsdatum der Rechnung</p></dd><dt><span class="term">
<code class="varname">dunning_id</code>
</span></dt><dd><p>Mahnungsnummer</p></dd><dt><span class="term">
<code class="varname">fee</code>
- </span></dt><dd><p>Mahngebühren</p></dd><dt><span class="term">
+ </span></dt><dd><p>Mahngebühren</p></dd><dt><span class="term">
<code class="varname">interest</code>
</span></dt><dd><p>Zinsen</p></dd><dt><span class="term">
<code class="varname">invamount</code>
<code class="varname">invdate</code>
</span></dt><dd><p>Rechnungsdatum</p></dd><dt><span class="term">
<code class="varname">invnumber</code>
- </span></dt><dd><p>Rechnungsnummer</p></dd></dl></div></div></div><div class="sect2" title="3.2.10. Variablen in anderen Vorlagen"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.andere-vorlagen"></a>3.2.10. Variablen in anderen Vorlagen</h3></div></div></div><div class="sect3" title="3.2.10.1. Einführung"><div class="titlepage"><div><div><h4 class="title"><a name="d0e3744"></a>3.2.10.1. Einführung</h4></div></div></div><p>Die Variablen in anderen Vorlagen sind ähnlich wie in der
- Rechnung. Allerdings heißen die Variablen, die mit
+ </span></dt><dd><p>Rechnungsnummer</p></dd></dl></div></div></div><div class="sect2" title="3.2.10. Variablen in anderen Vorlagen"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.andere-vorlagen"></a>3.2.10. Variablen in anderen Vorlagen</h3></div></div></div><div class="sect3" title="3.2.10.1. Einführung"><div class="titlepage"><div><div><h4 class="title"><a name="d0e3744"></a>3.2.10.1. Einführung</h4></div></div></div><p>Die Variablen in anderen Vorlagen sind ähnlich wie in der
+ Rechnung. Allerdings heißen die Variablen, die mit
<code class="varname">inv</code> beginnen, jetzt anders. Bei den Angeboten
- fangen sie mit <code class="varname">quo</code> für "quotation" an:
- <code class="varname">quodate</code> für Angebotsdatum etc. Bei Bestellungen
- wiederum fangen sie mit <code class="varname">ord</code> für "order" an:
- <code class="varname">ordnumber</code> für Bestellnummer etc.</p><p>Manche Variablen sind in anderen Vorlagen hingegen gar nicht
- vorhanden wie z.B. die für bereits verbuchte Zahlungseingänge. Dies
- sind Variablen, die vom Geschäftsablauf her in der entsprechenden
+ fangen sie mit <code class="varname">quo</code> für "quotation" an:
+ <code class="varname">quodate</code> für Angebotsdatum etc. Bei Bestellungen
+ wiederum fangen sie mit <code class="varname">ord</code> für "order" an:
+ <code class="varname">ordnumber</code> für Bestellnummer etc.</p><p>Manche Variablen sind in anderen Vorlagen hingegen gar nicht
+ vorhanden wie z.B. die für bereits verbuchte Zahlungseingänge. Dies
+ sind Variablen, die vom Geschäftsablauf her in der entsprechenden
Vorlage keine Bedeutung haben oder noch nicht belegt sein
- können.</p><p>Im Folgenden werden nur wichtige Unterschiede zu den Variablen
- in Rechnungen aufgeführt.</p></div><div class="sect3" title="3.2.10.2. Angebote und Preisanfragen"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.andere-vorlagen-quotations"></a>3.2.10.2. Angebote und Preisanfragen</h4></div></div></div><div class="variablelist"><dl><dt><span class="term">
+ können.</p><p>Im Folgenden werden nur wichtige Unterschiede zu den Variablen
+ in Rechnungen aufgeführt.</p></div><div class="sect3" title="3.2.10.2. Angebote und Preisanfragen"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.andere-vorlagen-quotations"></a>3.2.10.2. Angebote und Preisanfragen</h4></div></div></div><div class="variablelist"><dl><dt><span class="term">
<code class="varname">quonumber</code>
</span></dt><dd><p>Angebots- bzw. Anfragenummer</p></dd><dt><span class="term">
<code class="varname">reqdate</code>
- </span></dt><dd><p>Gültigkeitsdatum (bei Angeboten) bzw. Lieferdatum (bei
+ </span></dt><dd><p>Gültigkeitsdatum (bei Angeboten) bzw. Lieferdatum (bei
Preisanfragen)</p></dd><dt><span class="term">
<code class="varname">transdate</code>
- </span></dt><dd><p>Angebots- bzw. Anfragedatum</p></dd></dl></div></div><div class="sect3" title="3.2.10.3. Auftragsbestätigungen und Lieferantenaufträge"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.andere-vorlagen-orders"></a>3.2.10.3. Auftragsbestätigungen und Lieferantenaufträge</h4></div></div></div><div class="variablelist"><dl><dt><span class="term">
+ </span></dt><dd><p>Angebots- bzw. Anfragedatum</p></dd></dl></div></div><div class="sect3" title="3.2.10.3. Auftragsbestätigungen und Lieferantenaufträge"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.andere-vorlagen-orders"></a>3.2.10.3. Auftragsbestätigungen und Lieferantenaufträge</h4></div></div></div><div class="variablelist"><dl><dt><span class="term">
<code class="varname">ordnumber</code>
</span></dt><dd><p>Auftragsnummer</p></dd><dt><span class="term">
<code class="varname">reqdate</code>
<code class="varname">donumber</code>
</span></dt><dd><p>Lieferscheinnummer</p></dd><dt><span class="term">
<code class="varname">transdate</code>
- </span></dt><dd><p>Lieferscheindatum</p></dd></dl></div><p>Für jede Position eines Lieferscheines gibt es ein Unterarray
- mit den Informationen darüber, von welchem Lager und Lagerplatz aus
+ </span></dt><dd><p>Lieferscheindatum</p></dd></dl></div><p>Für jede Position eines Lieferscheines gibt es ein Unterarray
+ mit den Informationen darüber, von welchem Lager und Lagerplatz aus
die Waren verschickt wurden (Verkaufslieferscheine) bzw. auf welchen
- Lagerplatz sie eingelagert wurden. Diese müssen mittels einer
+ Lagerplatz sie eingelagert wurden. Diese müssen mittels einer
<code class="function">foreach</code>-Schleife ausgegeben werden. Diese
Variablen sind:</p><div class="variablelist"><dl><dt><span class="term">
<code class="varname">si_bin</code>
<code class="varname">si_unit</code>
</span></dt><dd><p>Einheit</p></dd><dt><span class="term">
<code class="varname">si_warehouse</code>
- </span></dt><dd><p>Lager</p></dd></dl></div></div><div class="sect3" title="3.2.10.5. Variablen für Sammelrechnung"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.andere-vorlagen-statement"></a>3.2.10.5. Variablen für Sammelrechnung</h4></div></div></div><div class="variablelist"><dl><dt><span class="term">
+ </span></dt><dd><p>Lager</p></dd></dl></div></div><div class="sect3" title="3.2.10.5. Variablen für Sammelrechnung"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.andere-vorlagen-statement"></a>3.2.10.5. Variablen für Sammelrechnung</h4></div></div></div><div class="variablelist"><dl><dt><span class="term">
<code class="varname">c0total</code>
- </span></dt><dd><p>Gesamtbetrag aller Rechnungen mit Fälligkeit < 30
+ </span></dt><dd><p>Gesamtbetrag aller Rechnungen mit Fälligkeit < 30
Tage</p></dd><dt><span class="term">
<code class="varname">c30total</code>
- </span></dt><dd><p>Gesamtbetrag aller Rechnungen mit Fälligkeit >= 30
+ </span></dt><dd><p>Gesamtbetrag aller Rechnungen mit Fälligkeit >= 30
und < 60 Tage</p></dd><dt><span class="term">
<code class="varname">c60total</code>
- </span></dt><dd><p>Gesamtbetrag aller Rechnungen mit Fälligkeit >= 60
+ </span></dt><dd><p>Gesamtbetrag aller Rechnungen mit Fälligkeit >= 60
und < 90 Tage</p></dd><dt><span class="term">
<code class="varname">c90total</code>
- </span></dt><dd><p>Gesamtbetrag aller Rechnungen mit Fälligkeit >= 90
+ </span></dt><dd><p>Gesamtbetrag aller Rechnungen mit Fälligkeit >= 90
Tage</p></dd><dt><span class="term">
<code class="varname">total</code>
- </span></dt><dd><p>Gesamtbetrag aller Rechnungen</p></dd></dl></div><p>Variablen für jede Rechnungsposition in Sammelrechnung:</p><div class="variablelist"><dl><dt><span class="term">
+ </span></dt><dd><p>Gesamtbetrag aller Rechnungen</p></dd></dl></div><p>Variablen für jede Rechnungsposition in Sammelrechnung:</p><div class="variablelist"><dl><dt><span class="term">
<code class="varname">invnumber</code>
</span></dt><dd><p>Rechnungsnummer</p></dd><dt><span class="term">
<code class="varname">invdate</code>
</span></dt><dd><p>Rechnungsdatum</p></dd><dt><span class="term">
<code class="varname">duedate</code>
- </span></dt><dd><p>Fälligkeitsdatum</p></dd><dt><span class="term">
+ </span></dt><dd><p>Fälligkeitsdatum</p></dd><dt><span class="term">
<code class="varname">amount</code>
</span></dt><dd><p>Summe der Rechnung</p></dd><dt><span class="term">
<code class="varname">open</code>
</span></dt><dd><p>Noch offener Betrag der Rechnung</p></dd><dt><span class="term">
<code class="varname">c0</code>
- </span></dt><dd><p>Noch offener Rechnungsbetrag mit Fälligkeit < 30
+ </span></dt><dd><p>Noch offener Rechnungsbetrag mit Fälligkeit < 30
Tage</p></dd><dt><span class="term">
<code class="varname">c30</code>
- </span></dt><dd><p>Noch offener Rechnungsbetrag mit Fälligkeit >= 30 und
+ </span></dt><dd><p>Noch offener Rechnungsbetrag mit Fälligkeit >= 30 und
< 60 Tage</p></dd><dt><span class="term">
<code class="varname">c60</code>
- </span></dt><dd><p>Noch offener Rechnungsbetrag mit Fälligkeit >= 60 und
+ </span></dt><dd><p>Noch offener Rechnungsbetrag mit Fälligkeit >= 60 und
< 90 Tage</p></dd><dt><span class="term">
<code class="varname">c90</code>
- </span></dt><dd><p>Noch offener Rechnungsbetrag mit Fälligkeit >= 90
- Tage</p></dd></dl></div></div></div><div class="sect2" title="3.2.11. Blöcke, bedingte Anweisungen und Schleifen"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.bloecke"></a>3.2.11. Blöcke, bedingte Anweisungen und Schleifen</h3></div></div></div><div class="sect3" title="3.2.11.1. Einfürhung"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.bloecke.einfuehrung"></a>3.2.11.1. Einfürhung</h4></div></div></div><p>Der Parser kennt neben den Variablen einige weitere
+ </span></dt><dd><p>Noch offener Rechnungsbetrag mit Fälligkeit >= 90
+ Tage</p></dd></dl></div></div></div><div class="sect2" title="3.2.11. Blöcke, bedingte Anweisungen und Schleifen"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.bloecke"></a>3.2.11. Blöcke, bedingte Anweisungen und Schleifen</h3></div></div></div><div class="sect3" title="3.2.11.1. Einfürhung"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.bloecke.einfuehrung"></a>3.2.11.1. Einfürhung</h4></div></div></div><p>Der Parser kennt neben den Variablen einige weitere
Konstrukte, die gesondert behandelt werden. Diese sind wie
Variablennamen in spezieller Weise markiert:
<span class="command"><strong><%anweisung%> ... <%end%></strong></span>
</p><p>Anmerkung zum <span class="command"><strong><%end%></strong></span>: Der besseren
- Verständlichkeit halber kann man nach dem <span class="command"><strong>end</strong></span>
- noch beliebig weitere Wörter schreiben, um so zu markieren, welche
+ Verständlichkeit halber kann man nach dem <span class="command"><strong>end</strong></span>
+ noch beliebig weitere Wörter schreiben, um so zu markieren, welche
Anweisung (z.B. <span class="command"><strong>if</strong></span> oder
<span class="command"><strong>foreach</strong></span>) damit abgeschlossen wird.</p><p>Beispiel: Lautet der Beginn eines Blockes z.B.
- <span class="command"><strong><%if type == "sales_quotation"%></strong></span>, so könnte
+ <span class="command"><strong><%if type == "sales_quotation"%></strong></span>, so könnte
er mit <span class="command"><strong><%end%></strong></span> genauso abgeschlossen werden
wie mit <span class="command"><strong><%end if%></strong></span> oder auch
<span class="command"><strong><%end type == "sales_quotation"%></strong></span>.</p></div><div class="sect3" title="3.2.11.2. Der if-Block"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.bloecke.if"></a>3.2.11.2. Der if-Block</h4></div></div></div><pre class="programlisting"><%if variablenname%>
<code class="function">not</code> nach dem <code class="filename">if</code> verwendet
wird. Beispiel:</p><pre class="programlisting"><%if not cp_greeting%>
...
-<%end%></pre><p>Zusätzlich zu dem einfachen Test, ob eine Variable gesetzt ist
- oder nicht, bietet dieser Block auch die Möglichkeit, den Inhalt
+<%end%></pre><p>Zusätzlich zu dem einfachen Test, ob eine Variable gesetzt ist
+ oder nicht, bietet dieser Block auch die Möglichkeit, den Inhalt
einer Variablen mit einer festen Zeichenkette oder einer anderen
Variablen zu vergleichen. Ob der Vergleich mit einer Zeichenkette
- oder einer anderen Variablen vorgenommen wird, hängt davon ab, ob
- die rechte Seite des Vergleichsoperators in Anführungszeichen
+ oder einer anderen Variablen vorgenommen wird, hängt davon ab, ob
+ die rechte Seite des Vergleichsoperators in Anführungszeichen
gesetzt wird (Vergleich mit Zeichenkette) oder nicht (Vergleich mit
anderer Variablen). Zwei Beispiele, die beide Vergleiche
zeigen:</p><pre class="programlisting"><%if var1 == "Wert"%></pre><p>Testet die Variable <code class="varname">var1</code> auf
- übereinstimmung mit der Zeichenkette <code class="constant">Wert</code>.
+ übereinstimmung mit der Zeichenkette <code class="constant">Wert</code>.
Mittels <code class="function">!=</code> anstelle von <code class="function">==</code>
- würde auf Ungleichheit getestet.</p><pre class="programlisting">%if var1 == var2%></pre><p>Testet die Variable <code class="varname">var1</code> auf
- übereinstimmung mit der Variablen <code class="varname">var2</code>. Mittel
- <code class="function">!=</code> anstelle von <code class="function">==</code> würde
- auf Ungleichheit getestet.</p><p>Erfahrere Benutzer können neben der Tests auf (Un-)Gleichheit
- auch Tests auf übereinstimmung mit regulären Ausdrücken ohne
- Berücksichtung der Groß- und Kleinschreibung durchführen. Dazu dient
+ würde auf Ungleichheit getestet.</p><pre class="programlisting">%if var1 == var2%></pre><p>Testet die Variable <code class="varname">var1</code> auf
+ übereinstimmung mit der Variablen <code class="varname">var2</code>. Mittel
+ <code class="function">!=</code> anstelle von <code class="function">==</code> würde
+ auf Ungleichheit getestet.</p><p>Erfahrere Benutzer können neben der Tests auf (Un-)Gleichheit
+ auch Tests auf übereinstimmung mit regulären Ausdrücken ohne
+ Berücksichtung der Groß- und Kleinschreibung durchführen. Dazu dient
dieselbe Syntax wie oben nur mit <code class="function">=~</code> und
- <code class="function">!~</code> als Vergleichsoperatoren.</p><p>Beispiel für einen Test, ob die Variable
+ <code class="function">!~</code> als Vergleichsoperatoren.</p><p>Beispiel für einen Test, ob die Variable
<code class="varname">intnotes</code> (interne Bemerkungen) das Wort
- <code class="constant">schwierig</code> enthält:</p><pre class="programlisting"><%if intnotes =~ "schwierig"%></pre></div><div class="sect3" title="3.2.11.3. Der foreach-Block"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.bloecke.foreach"></a>3.2.11.3. Der foreach-Block</h4></div></div></div><pre class="programlisting"><%foreach variablenname%>
+ <code class="constant">schwierig</code> enthält:</p><pre class="programlisting"><%if intnotes =~ "schwierig"%></pre></div><div class="sect3" title="3.2.11.3. Der foreach-Block"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.bloecke.foreach"></a>3.2.11.3. Der foreach-Block</h4></div></div></div><pre class="programlisting"><%foreach variablenname%>
...
-<%end%></pre><p>Fügt die Zeilen zwischen den beiden Anweisungen so oft ein,
+<%end%></pre><p>Fügt die Zeilen zwischen den beiden Anweisungen so oft ein,
wie das Perl-Array der Variablen <code class="varname">variablenname</code>
- Elemente enthät. Dieses Konstrukt wird zur Ausgabe der einzelnen
+ Elemente enthät. Dieses Konstrukt wird zur Ausgabe der einzelnen
Posten einer Rechnung / eines Angebots sowie zur Ausgabe der Steuern
- benutzt. In jedem Durchlauf werden die <a class="link" href="ch03s02.html#dokumentenvorlagen-und-variablen.invoice-posten" title="3.2.8.2. Variablen für jeden Posten auf der Rechnung">zeilenbezogenen
- Variablen</a> jeweils auf den Wert für die aktuelle Position
+ benutzt. In jedem Durchlauf werden die <a class="link" href="ch03s02.html#dokumentenvorlagen-und-variablen.invoice-posten" title="3.2.8.2. Variablen für jeden Posten auf der Rechnung">zeilenbezogenen
+ Variablen</a> jeweils auf den Wert für die aktuelle Position
gesetzt.</p><p>Die Syntax sieht normalerweise wie folgt aus:</p><pre class="programlisting"><%foreach number%>
Position: <%runningnumber%>
Anzahl: <%qty%>
<%end%></pre><p>Besonderheit in OpenDocument-Vorlagen: Tritt ein
<code class="function"><%foreach%></code>-Block innerhalb einer
Tabellenzelle auf, so wird die komplette Tabellenzeile so oft
- wiederholt wie notwendig. Tritt er außerhalb auf, so wird nur der
+ wiederholt wie notwendig. Tritt er außerhalb auf, so wird nur der
Inhalt zwischen <code class="function"><%foreach%></code> und
<code class="function"><%end%></code> wiederholt, nicht aber die
komplette Zeile, in der er steht.</p></div></div><div class="sect2" title="3.2.12. Markup-Code zur Textformatierung innerhalb von Formularen"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.markup"></a>3.2.12. Markup-Code zur Textformatierung innerhalb von
Formularen</h3></div></div></div><p>Wenn der Benutzer innhalb von Formularen in Lx-Office Text
- anders formatiert haben möchte, so ist dies begrenzt möglich.
- Lx-Office unterstützt die Textformatierung mit HTML-ähnlichen Tags.
+ anders formatiert haben möchte, so ist dies begrenzt möglich.
+ Lx-Office unterstützt die Textformatierung mit HTML-ähnlichen Tags.
Der Benutzer kann z.B. bei der Artikelbeschreibung auf einer Rechnung
Teile des Texts zwischen Start- und Endtags setzen. Dieser Teil wird
- dann automatisch in Anweisungen für das ausgewählte Vorlagenformat
- (HTML oder PDF über LaTeX) umgesetzt.</p><p>Die unterstützen Formatierungen sind:</p><div class="variablelist"><dl><dt><span class="term"><b>Text</b></span></dt><dd><p>Text wird in Fettdruck gesetzt.</p></dd><dt><span class="term"><i>Text</i></span></dt><dd><p>Text wird kursiv gesetzt.</p></dd><dt><span class="term"><u>Text</u></span></dt><dd><p>Text wird unterstrichen.</p></dd><dt><span class="term"><s>Text</s></span></dt><dd><p>Text wird durchgestrichen. Diese Formatierung ist nicht
- bei der Ausgabe als PDF über LaTeX verfügbar.</p></dd><dt><span class="term"><bullet></span></dt><dd><p>Erzeugt einen ausgefüllten Kreis für Aufzählungen (siehe
+ dann automatisch in Anweisungen für das ausgewählte Vorlagenformat
+ (HTML oder PDF über LaTeX) umgesetzt.</p><p>Die unterstützen Formatierungen sind:</p><div class="variablelist"><dl><dt><span class="term"><b>Text</b></span></dt><dd><p>Text wird in Fettdruck gesetzt.</p></dd><dt><span class="term"><i>Text</i></span></dt><dd><p>Text wird kursiv gesetzt.</p></dd><dt><span class="term"><u>Text</u></span></dt><dd><p>Text wird unterstrichen.</p></dd><dt><span class="term"><s>Text</s></span></dt><dd><p>Text wird durchgestrichen. Diese Formatierung ist nicht
+ bei der Ausgabe als PDF über LaTeX verfügbar.</p></dd><dt><span class="term"><bullet></span></dt><dd><p>Erzeugt einen ausgefüllten Kreis für Aufzählungen (siehe
unten).</p></dd></dl></div><p>Der Befehl <span class="command"><strong><bullet></strong></span> funktioniert
- momentan auch nur in Latex-Vorlagen.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03.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="ch03s03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 3. Features und Funktionen </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 3.3. Excel-Vorlagen</td></tr></table></div></body></html>
\ No newline at end of file
+ momentan auch nur in Latex-Vorlagen.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03.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="ch03s03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 3. Features und Funktionen </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 3.3. Excel-Vorlagen</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>3.3. Excel-Vorlagen</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch03.html" title="Kapitel 3. Features und Funktionen"><link rel="prev" href="ch03s02.html" title="3.2. Dokumentenvorlagen und verfügbare Variablen"><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.3. Excel-Vorlagen</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s02.html">Zurück</a> </td><th width="60%" align="center">Kapitel 3. Features und Funktionen</th><td width="20%" align="right"> <a accesskey="n" href="ch04.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="3.3. Excel-Vorlagen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="excel-templates"></a>3.3. Excel-Vorlagen</h2></div></div></div><div class="sect2" title="3.3.1. Zusammenfassung"><div class="titlepage"><div><div><h3 class="title"><a name="excel-templates.summary"></a>3.3.1. Zusammenfassung</h3></div></div></div><p>Dieses Dokument beschreibt den Mechanismus, mit dem
- Exceltemplates abgearbeitet werden, und die Einschränkungen, die damit
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>3.3. Excel-Vorlagen</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch03.html" title="Kapitel 3. Features und Funktionen"><link rel="prev" href="ch03s02.html" title="3.2. Dokumentenvorlagen und verfügbare Variablen"><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.3. Excel-Vorlagen</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s02.html">Zurück</a> </td><th width="60%" align="center">Kapitel 3. Features und Funktionen</th><td width="20%" align="right"> <a accesskey="n" href="ch04.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="3.3. Excel-Vorlagen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="excel-templates"></a>3.3. Excel-Vorlagen</h2></div></div></div><div class="sect2" title="3.3.1. Zusammenfassung"><div class="titlepage"><div><div><h3 class="title"><a name="excel-templates.summary"></a>3.3.1. Zusammenfassung</h3></div></div></div><p>Dieses Dokument beschreibt den Mechanismus, mit dem
+ Exceltemplates abgearbeitet werden, und die Einschränkungen, die damit
einhergehen.</p></div><div class="sect2" title="3.3.2. Bedienung"><div class="titlepage"><div><div><h3 class="title"><a name="excel-templates.usage"></a>3.3.2. Bedienung</h3></div></div></div><p>Der Excel Mechanismus muss in der Konfigurationsdatei aktiviert
- werden. Die Konfigurationsoption heißt <code class="varname">excel_templates =
+ werden. Die Konfigurationsoption heißt <code class="varname">excel_templates =
1</code> im Abschnitt <code class="varname">[print_templates]</code>.</p><p>Eine Excelvorlage kann dann unter dem Namen einer beliebigen
anderen Vorlage mit der Endung <code class="filename">.xls</code> gespeichert
werden. In den normalen Verkaufsmasken taucht nun
- <code class="constant">Excel</code> als auswählbares Format auf und kann von da
+ <code class="constant">Excel</code> als auswählbares Format auf und kann von da
an wie LaTeX- oder OpenOffice-Vorlagen benutzt werden.</p><p>Der Sonderfall der Angebote aus der Kundenmaske ist ebenfalls
eine Angebotsvorlage und wird unter dem internen Namen der Angebote
<code class="filename">sales_quotation.xls</code> gespeichert.</p></div><div class="sect2" title="3.3.3. Variablensyntax"><div class="titlepage"><div><div><h3 class="title"><a name="excel-templates.syntax"></a>3.3.3. Variablensyntax</h3></div></div></div><p>Einfache Syntax:
<span class="command"><strong><<varname>></strong></span>
</p><p>Dabei sind <code class="constant"><<</code> und
<code class="constant">>></code> die Delimiter. Da Excel auf festen
- Breiten besteht, kann der Tag künstlich verlängert werden, indem
+ Breiten besteht, kann der Tag künstlich verlängert werden, indem
weitere <code class="constant"><</code> oder <code class="constant">></code>
- eingefügt werden. Der Tag muss nicht symmetrisch sein.
- Beispiel:</p><pre class="programlisting"><<<<<varname>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>></pre><p>Um die Limitierung der festen Breite zu reduzieren, können
+ eingefügt werden. Der Tag muss nicht symmetrisch sein.
+ Beispiel:</p><pre class="programlisting"><<<<<varname>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>></pre><p>Um die Limitierung der festen Breite zu reduzieren, können
weitere Variablen in einem Block interpoliert werden. Whitespace wird
- dazwishen dann erhalten. Beispiel:</p><pre class="programlisting"><<<<<varname1 varname2 varname3>>>>>>>>>>>>>>>>>>>>>>>>>></pre><p>Die Variablen werden interpoliert, und linksbündig mit
- Leerzeichen auf die gewünschte Länge aufgefüllt. Ist der String zu
- lang, werden überzählige Zeichen abgeschnitten.</p><p>Es ist ausserdem möglich, Daten rechtsbündig darzustellen, wenn
- der Block mit einem Leerzeichen anfängt. Beispiel:</p><pre class="programlisting"><<<<<< varname>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>></pre><p>Dies würde rechtsbündig triggern. Wenn bei rechtsbündiger
+ dazwishen dann erhalten. Beispiel:</p><pre class="programlisting"><<<<<varname1 varname2 varname3>>>>>>>>>>>>>>>>>>>>>>>>>></pre><p>Die Variablen werden interpoliert, und linksbündig mit
+ Leerzeichen auf die gewünschte Länge aufgefüllt. Ist der String zu
+ lang, werden überzählige Zeichen abgeschnitten.</p><p>Es ist ausserdem möglich, Daten rechtsbündig darzustellen, wenn
+ der Block mit einem Leerzeichen anfängt. Beispiel:</p><pre class="programlisting"><<<<<< varname>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>></pre><p>Dies würde rechtsbündig triggern. Wenn bei rechtsbündiger
Ausrichtung Text abgeschnitten werden muss, wird er vom linken Ende
- entfernt.</p></div><div class="sect2" title="3.3.4. Einschränkungen"><div class="titlepage"><div><div><h3 class="title"><a name="excel-templates.limitations"></a>3.3.4. Einschränkungen</h3></div></div></div><p>Das Excelformat bis 2002 ist ein binäres Format, und kann nicht
+ entfernt.</p></div><div class="sect2" title="3.3.4. Einschränkungen"><div class="titlepage"><div><div><h3 class="title"><a name="excel-templates.limitations"></a>3.3.4. Einschränkungen</h3></div></div></div><p>Das Excelformat bis 2002 ist ein binäres Format, und kann nicht
mit vertretbarem Aufwand editiert werden. Der Templatemechanismus
- beschränkt sich daher darauf, Textstellen exakt durch einen anderen
+ beschränkt sich daher darauf, Textstellen exakt durch einen anderen
Text zu ersetzen.</p><p>Aus dem gleichen Grund sind die Kontrolllstrukturen
<span class="command"><strong><%if%></strong></span> und
<span class="command"><strong><%foreach%></strong></span> nicht vorhanden. Der Delimiter
<code class="constant"><% %></code> kommt in den Headerinformationen
evtl. vor. Deshalb wurde auf den sichereren Delimiter
<code class="constant"><<</code> und <code class="constant">>></code>
- gewechselt.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03s02.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.2. Dokumentenvorlagen und verfügbare Variablen </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> Kapitel 4. Entwicklerdokumentation</td></tr></table></div></body></html>
\ No newline at end of file
+ gewechselt.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03s02.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.2. Dokumentenvorlagen und verfügbare Variablen </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> Kapitel 4. Entwicklerdokumentation</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="index.html" title="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch03s03.html" title="3.3. Excel-Vorlagen"><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="ch03s03.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="d0e4344"></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="d0e4350"></a>4.1.1. Wie sehen globale Variablen in Perl aus?</h3></div></div></div><p>Globale Variablen liegen in einem speziellen namespace namens
- "main", der von überall erreichbar ist. Darüber hinaus sind bareword
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>Kapitel 4. Entwicklerdokumentation</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="index.html" title="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch03s03.html" title="3.3. Excel-Vorlagen"><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="ch03s03.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="d0e4344"></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="d0e4350"></a>4.1.1. Wie sehen globale Variablen in Perl aus?</h3></div></div></div><p>Globale Variablen liegen in einem speziellen namespace namens
+ "main", der von überall erreichbar ist. Darüber hinaus sind bareword
globs global und die meisten speziellen Variablen sind...
speziell.</p><p>Daraus ergeben sich folgende Formen:</p><div class="variablelist"><dl><dt><span class="term">
<code class="literal">$main::form</code>
</span></dt><dd><p>
<code class="varname">FILE</code> ist global</p></dd><dt><span class="term">
<code class="literal">$_</code>
- </span></dt><dd><p>speziell</p></dd></dl></div><p>Im Gegensatz zu <span class="productname">PHP</span>™ gibt es kein
- Schlüsselwort wie "<code class="function">global</code>", mit dem man
+ </span></dt><dd><p>speziell</p></dd></dl></div><p>Im Gegensatz zu <span class="productname">PHP</span>™ gibt es kein
+ Schlüsselwort wie "<code class="function">global</code>", mit dem man
importieren kann. <code class="function">my</code>, <code class="function">our</code>
und <code class="function">local</code> machen was anderes.</p><div class="variablelist"><dl><dt><span class="term">
<code class="literal">my $form</code>
- </span></dt><dd><p>lexikalische Variable, gültig bis zum Ende des
+ </span></dt><dd><p>lexikalische Variable, gültig bis zum Ende des
Scopes</p></dd><dt><span class="term">
<code class="literal">our $form</code>
</span></dt><dd><p>
<code class="varname">$form</code> referenziert ab hier
<code class="varname">$PACKAGE::form</code>.</p></dd><dt><span class="term">
<code class="literal">local $form</code>
- </span></dt><dd><p>Alle Änderungen an <code class="varname">$form</code> werden am Ende
- des scopes zurückgesetzt</p></dd></dl></div></div><div class="sect2" title="4.1.2. Warum sind globale Variablen ein Problem?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e4451"></a>4.1.2. Warum sind globale Variablen ein Problem?</h3></div></div></div><p>Das erste Problem ist <span class="productname">FCGI</span>™.</p><p>
- <span class="productname">SQL-Ledger</span>™ hat fast alles im globalen
+ </span></dt><dd><p>Alle Änderungen an <code class="varname">$form</code> werden am Ende
+ des scopes zurückgesetzt</p></dd></dl></div></div><div class="sect2" title="4.1.2. Warum sind globale Variablen ein Problem?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e4451"></a>4.1.2. Warum sind globale Variablen ein Problem?</h3></div></div></div><p>Das erste Problem ist <span class="productname">FCGI</span>™.</p><p>
+ <span class="productname">SQL-Ledger</span>™ hat fast alles im globalen
namespace abgelegt, und erwartet, dass es da auch wiederzufinden ist.
- Unter <span class="productname">FCGI</span>™ müssen diese Sachen aber wieder
- aufgeräumt werden, damit sie nicht in den nächsten Request kommen.
- Einige Sachen wiederum sollen nicht gelöscht werden, wie zum Beispiel
+ Unter <span class="productname">FCGI</span>™ müssen diese Sachen aber wieder
+ aufgeräumt werden, damit sie nicht in den nächsten Request kommen.
+ Einige Sachen wiederum sollen nicht gelöscht werden, wie zum Beispiel
Datenbankverbindungen, weil die sehr lange zum Initialisieren
brauchen.</p><p>Das zweite Problem ist <code class="function">strict</code>. Unter
<code class="function">strict</code> werden alle Variablen die nicht explizit
mit <code class="function">Package</code>, <code class="function">my</code> oder
<code class="function">our</code> angegeben werden als Tippfehler angemarkert,
- dies hat, seit der Einführung, u.a. schon so manche langwierige
- Bug-Suche verkürzt. Da globale Variablen aber implizit mit Package
- angegeben werden, werden die nicht geprüft, und somit kann sich
+ dies hat, seit der Einführung, u.a. schon so manche langwierige
+ Bug-Suche verkürzt. Da globale Variablen aber implizit mit Package
+ angegeben werden, werden die nicht geprüft, und somit kann sich
schnell ein Tippfehler einschleichen.</p></div><div class="sect2" title="4.1.3. Kanonische globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e4484"></a>4.1.3. Kanonische globale Variablen</h3></div></div></div><p>Um dieses Problem im Griff zu halten gibt es einige wenige
globale Variablen, die kanonisch sind, d.h. sie haben bestimmte
vorgegebenen Eigenschaften, und alles andere sollte anderweitig
<code class="varname">$::dispatcher</code>
</p></li><li class="listitem"><p>
<code class="varname">$::request</code>
- </p></li></ul></div><p>Damit diese nicht erneut als Müllhalde missbraucht werden, im
- Folgenden eine kurze Erläuterung der bestimmten vorgegebenen
+ </p></li></ul></div><p>Damit diese nicht erneut als Müllhalde missbraucht werden, im
+ Folgenden eine kurze Erläuterung der bestimmten vorgegebenen
Eigenschaften (Konventionen):</p><div class="sect3" title="4.1.3.1. $::form"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4548"></a>4.1.3.1. $::form</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Ist ein Objekt der Klasse
- "<code class="classname">Form</code>"</p></li><li class="listitem"><p>Wird nach jedem Request gelöscht</p></li><li class="listitem"><p>Muss auch in Tests und Konsolenscripts vorhanden
- sein.</p></li><li class="listitem"><p>Enthält am Anfang eines Requests die Requestparameter vom
- User</p></li><li class="listitem"><p>Kann zwar intern über Requestgrenzen ein Datenbankhandle
- cachen, das wird aber momentan absichtlich zerstört</p></li></ul></div><p>
+ "<code class="classname">Form</code>"</p></li><li class="listitem"><p>Wird nach jedem Request gelöscht</p></li><li class="listitem"><p>Muss auch in Tests und Konsolenscripts vorhanden
+ sein.</p></li><li class="listitem"><p>Enthält am Anfang eines Requests die Requestparameter vom
+ User</p></li><li class="listitem"><p>Kann zwar intern über Requestgrenzen ein Datenbankhandle
+ cachen, das wird aber momentan absichtlich zerstört</p></li></ul></div><p>
<code class="varname">$::form</code> wurde unter <span class="productname">SQL
- Ledger</span>™ als Gottobjekt für alles misbraucht. Sämtliche
+ Ledger</span>™ als Gottobjekt für alles misbraucht. Sämtliche
alten Funktionen unter SL/ mutieren <code class="varname">$::form</code>, das
- heißt, alles was einem lieb ist (alle Variablen die einem ans Herz
+ heißt, alles was einem lieb ist (alle Variablen die einem ans Herz
gewachsen sind), sollte man vor einem Aufruf (!) von zum Beispiel
<code class="function">IS->retrieve_customer()</code> in Sicherheit
bringen.</p><p>Z.B. das vom Benutzer eingestellte Zahlenformat, bevor man
- Berechnung in einem bestimmten Format durchführt (SL/Form.pm Zeile
+ Berechnung in einem bestimmten Format durchführt (SL/Form.pm Zeile
3552, Stand version 2.7beta), um dies hinterher wieder auf den
richtigen Wert zu setzen:</p><pre class="programlisting"> my $saved_numberformat = $::myconfig{numberformat};
$::myconfig{numberformat} = $numberformat;
# (...) div Berechnungen
$::myconfig{numberformat} = $saved_numberformat;</pre><p>Das Objekt der Klasse Form hat leider im Moment noch viele
- zentrale Funktionen die vom internen Zustand abhängen, deshalb bitte
- nie einfach zerstören oder überschreiben (zumindestens nicht kurz
- vor einem Release oder in Absprache über bspw. die devel-Liste ;-).
+ zentrale Funktionen die vom internen Zustand abhängen, deshalb bitte
+ nie einfach zerstören oder überschreiben (zumindestens nicht kurz
+ vor einem Release oder in Absprache über bspw. die devel-Liste ;-).
Es geht ziemlich sicher etwas kaputt.</p><p>
<code class="varname">$::form</code> ist gleichzeitig der Standard Scope
- in den <span class="productname">Template::Toolkit</span>™ Templates
- außerhalb der Controller: der Ausdruck <code class="function">[% var
+ in den <span class="productname">Template::Toolkit</span>™ Templates
+ außerhalb der Controller: der Ausdruck <code class="function">[% var
%]</code> greift auf <code class="varname">$::form->{var}</code> zu.
Unter Controllern ist der Standard Scope anders, da lautet der
Zugriff <code class="function">[% FORM.var %]</code>. In Druckvorlagen sind
normale Variablen ebenfall im <code class="varname">$::form</code> Scope, d.h.
<code class="function"><%var%></code> zeigt auf
<code class="varname">$::form->{var}</code>. Nochmal von der anderen Seite
- erläutert, innerhalb von (Web-)Templates sieht man häufiger solche
+ erläutert, innerhalb von (Web-)Templates sieht man häufiger solche
Konstrukte:</p><pre class="programlisting">[%- IF business %]
# (... Zeig die Auswahlliste Kunden-/Lieferantentyp an)
[%- END %]</pre><p>Entweder wird hier dann $::form->{business} ausgewertet
oder aber der Funktion
<code class="function">$form->parse_html_template</code> wird explizit
- noch ein zusätzlicher Hash übergeben, der dann auch in den
- (Web-)Templates zu Verfügung steht, bspw. so:</p><pre class="programlisting">$form->parse_html_template("is/form_header", \%TMPL_VAR);</pre><p>Innerhalb von Schleifen wird
+ noch ein zusätzlicher Hash übergeben, der dann auch in den
+ (Web-)Templates zu Verfügung steht, bspw. so:</p><pre class="programlisting">$form->parse_html_template("is/form_header", \%TMPL_VAR);</pre><p>Innerhalb von Schleifen wird
<code class="varname">$::form->{TEMPLATE_ARRAYS}{var}[$index]</code>
bevorzugt, wenn vorhanden. Ein Beispiel findet sich in SL/DO.pm,
- welches über alle Positionen eines Lieferscheins in Schleife
- läuft:</p><pre class="programlisting">for $i (1 .. $form->{rowcount}) {
+ welches über alle Positionen eines Lieferscheins in Schleife
+ läuft:</p><pre class="programlisting">for $i (1 .. $form->{rowcount}) {
# ...
push @{ $form->{TEMPLATE_ARRAYS}{runningnumber} }, $position;
push @{ $form->{TEMPLATE_ARRAYS}{number} }, $form->{"partnumber_$i"};
push @{ $form->{TEMPLATE_ARRAYS}{description} }, $form->{"description_$i"};
# ...
-}</pre></div><div class="sect3" title="4.1.3.2. %::myconfig"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4632"></a>4.1.3.2. %::myconfig</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Das einzige Hash unter den globalen Variablen</p></li><li class="listitem"><p>Wird spätestens benötigt wenn auf die Datenbank
- zugegriffen wird</p></li><li class="listitem"><p>Wird bei jedem Request neu erstellt.</p></li><li class="listitem"><p>Enthält die Userdaten des aktuellen Logins</p></li><li class="listitem"><p>Sollte nicht ohne Filterung irgendwo gedumpt werden oder
+}</pre></div><div class="sect3" title="4.1.3.2. %::myconfig"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4632"></a>4.1.3.2. %::myconfig</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Das einzige Hash unter den globalen Variablen</p></li><li class="listitem"><p>Wird spätestens benötigt wenn auf die Datenbank
+ zugegriffen wird</p></li><li class="listitem"><p>Wird bei jedem Request neu erstellt.</p></li><li class="listitem"><p>Enthält die Userdaten des aktuellen Logins</p></li><li class="listitem"><p>Sollte nicht ohne Filterung irgendwo gedumpt werden oder
extern serialisiert werden, weil da auch der Datenbankzugriff
- für diesen user drinsteht.</p></li><li class="listitem"><p>Enthält unter anderem Listenbegrenzung vclimit,
- Datumsformat dateformat und Nummernformat numberformat</p></li><li class="listitem"><p>Enthält Datenbankzugriffinformationen</p></li></ul></div><p>
- <code class="varname">%::myconfig</code> ist im Moment der Ersatz für
+ für diesen user drinsteht.</p></li><li class="listitem"><p>Enthält unter anderem Listenbegrenzung vclimit,
+ Datumsformat dateformat und Nummernformat numberformat</p></li><li class="listitem"><p>Enthält Datenbankzugriffinformationen</p></li></ul></div><p>
+ <code class="varname">%::myconfig</code> ist im Moment der Ersatz für
ein Userobjekt. Die meisten Funktionen, die etwas anhand des
- aktuellen Users entscheiden müssen, befragen
+ aktuellen Users entscheiden müssen, befragen
<code class="varname">%::myconfig</code>. Innerhalb der Anwendungen sind dies
- überwiegend die Daten, die sich unter <span class="guimenu">Programm</span>
+ überwiegend die Daten, die sich unter <span class="guimenu">Programm</span>
-> <span class="guimenuitem">Einstellungen</span> befinden, bzw. die
- Informationen über den Benutzer die über die
- Administrator-Schnittstelle (admin.pl) eingegeben wurden.</p></div><div class="sect3" title="4.1.3.3. $::locale"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4671"></a>4.1.3.3. $::locale</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "Locale"</p></li><li class="listitem"><p>Wird pro Request erstellt</p></li><li class="listitem"><p>Muss auch für Tests und Scripte immer verfügbar
- sein.</p></li><li class="listitem"><p>Cached intern über Requestgrenzen hinweg benutzte
- Locales</p></li></ul></div><p>Lokalisierung für den aktuellen User. Alle Übersetzungen,
- Zahlen- und Datumsformatierungen laufen über dieses Objekt.</p></div><div class="sect3" title="4.1.3.4. $::lxdebug"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4689"></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
+ Informationen über den Benutzer die über die
+ Administrator-Schnittstelle (admin.pl) eingegeben wurden.</p></div><div class="sect3" title="4.1.3.3. $::locale"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4671"></a>4.1.3.3. $::locale</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "Locale"</p></li><li class="listitem"><p>Wird pro Request erstellt</p></li><li class="listitem"><p>Muss auch für Tests und Scripte immer verfügbar
+ sein.</p></li><li class="listitem"><p>Cached intern über Requestgrenzen hinweg benutzte
+ Locales</p></li></ul></div><p>Lokalisierung für den aktuellen User. Alle Übersetzungen,
+ Zahlen- und Datumsformatierungen laufen über dieses Objekt.</p></div><div class="sect3" title="4.1.3.4. $::lxdebug"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4689"></a>4.1.3.4. $::lxdebug</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "LXDebug"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Muss immer verfügbar sein, in nahezu allen
Funktionen</p></li></ul></div><p>
<code class="varname">$::lxdebug</code> stellt Debuggingfunktionen
bereit, wie "<code class="function">enter_sub</code>" und
$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="d0e4726"></a>4.1.3.5. $::auth</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "SL::Auth"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Hat eine permanente DB Verbindung zur Authdatenbank</p></li><li class="listitem"><p>Wird nach jedem Request resettet.</p></li></ul></div><p>
<code class="varname">$::auth</code> stellt Funktionen bereit um die
Rechte des aktuellen Users abzufragen. Obwohl diese Informationen
- vom aktuellen User abhängen wird das Objekt aus
- Geschwindigkeitsgründen nur einmal angelegt und dann nach jedem
+ vom aktuellen User abhängen wird das Objekt aus
+ Geschwindigkeitsgründen nur einmal angelegt und dann nach jedem
Request kurz resettet.</p></div><div class="sect3" title="4.1.3.6. $::lx_office_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4747"></a>4.1.3.6. $::lx_office_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
- "<code class="classname">SL::LxOfficeConf</code>"</p></li><li class="listitem"><p>Global gecached</p></li><li class="listitem"><p>Repräsentation der
+ "<code class="classname">SL::LxOfficeConf</code>"</p></li><li class="listitem"><p>Global gecached</p></li><li class="listitem"><p>Repräsentation der
<code class="filename">config/lx_office.conf[.default]</code>-Dateien</p></li></ul></div><p>Globale Konfiguration. Configdateien werden zum Start gelesen
und danach nicht mehr angefasst. Es ist derzeit nicht geplant, dass
- das Programm die Konfiguration ändern kann oder sollte.</p><p>Beispielsweise ist über den Konfigurationseintrag [debug] die
+ das Programm die Konfiguration ändern kann oder sollte.</p><p>Beispielsweise ist über den Konfigurationseintrag [debug] die
Debug- und Trace-Log-Datei wie folgt konfiguriert und
- verfügbar:</p><pre class="programlisting">[debug]
+ verfügbar:</p><pre class="programlisting">[debug]
file = /tmp/lx-office-debug.log</pre><p>ist der Key <code class="varname">file</code> im Programm als
<code class="varname">$::lx_office_conf->{debug}{file}</code>
- erreichbar.</p><div class="warning" title="Warnung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warnung]" src="../../../../system/docbook-xsl/images/warning.png"></td><th align="left">Warnung</th></tr><tr><td align="left" valign="top"><p>Zugriff auf die Konfiguration erfolgt im Moment über
+ erreichbar.</p><div class="warning" title="Warnung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warnung]" src="../../../../system/docbook-xsl/images/warning.png"></td><th align="left">Warnung</th></tr><tr><td align="left" valign="top"><p>Zugriff auf die Konfiguration erfolgt im Moment über
Hashkeys, sind also nicht gegen Tippfehler abgesichert.</p></td></tr></table></div></div><div class="sect3" title="4.1.3.7. $::instance_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4783"></a>4.1.3.7. $::instance_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
"<code class="classname">SL::InstanceConfiguration</code>"</p></li><li class="listitem"><p>wird pro Request neu erstellt</p></li></ul></div><p>Funktioniert wie <code class="varname">$::lx_office_conf</code>,
- speichert aber Daten die von der Instanz abhängig sind. Eine Instanz
- ist hier eine Mandantendatenbank. Beispielsweise überprüft
+ speichert aber Daten die von der Instanz abhängig sind. Eine Instanz
+ ist hier eine Mandantendatenbank. Beispielsweise überprüft
</p><pre class="programlisting">$::instance_conf->get_inventory_system eq 'perpetual'</pre><p>
- ob die berüchtigte Bestandsmethode zur Anwendung kommt.</p></div><div class="sect3" title="4.1.3.8. $::dispatcher"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4804"></a>4.1.3.8. $::dispatcher</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
- "<code class="varname">SL::Dispatcher</code>"</p></li><li class="listitem"><p>wird pro Serverprozess erstellt.</p></li><li class="listitem"><p>enthält Informationen über die technische Verbindung zum
+ 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="d0e4804"></a>4.1.3.8. $::dispatcher</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
+ "<code class="varname">SL::Dispatcher</code>"</p></li><li class="listitem"><p>wird pro Serverprozess erstellt.</p></li><li class="listitem"><p>enthält Informationen über die technische Verbindung zum
Server</p></li></ul></div><p>Der dritte Punkt ist auch der einzige Grund warum das Objekt
global gespeichert wird. Wird vermutlich irgendwann in einem anderen
- Objekt untergebracht.</p></div><div class="sect3" title="4.1.3.9. $::request"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4822"></a>4.1.3.9. $::request</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Hashref (evtl später Objekt)</p></li><li class="listitem"><p>Wird pro Request neu initialisiert.</p></li><li class="listitem"><p>Keine Unterstruktur garantiert.</p></li></ul></div><p>
+ Objekt untergebracht.</p></div><div class="sect3" title="4.1.3.9. $::request"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4822"></a>4.1.3.9. $::request</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Hashref (evtl später Objekt)</p></li><li class="listitem"><p>Wird pro Request neu initialisiert.</p></li><li class="listitem"><p>Keine Unterstruktur garantiert.</p></li></ul></div><p>
<code class="varname">$::request</code> ist ein generischer Platz um
- Daten "für den aktuellen Request" abzulegen. Sollte nicht für action
+ Daten "für den aktuellen Request" abzulegen. Sollte nicht für action
at a distance benutzt werden, sondern um lokales memoizing zu
- ermöglichen, das garantiert am Ende des Requests zerstört
+ ermöglichen, das garantiert am Ende des Requests zerstört
wird.</p><p>Vieles von dem, was im moment in <code class="varname">$::form</code>
liegt, sollte eigentlich hier liegen. Die groben
- Differentialkriterien sind:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Kommt es vom User, und soll unverändert wieder an den
+ Differentialkriterien sind:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Kommt es vom User, und soll unverändert wieder an den
User? Dann <code class="varname">$::form</code>, steht da eh schon</p></li><li class="listitem"><p>Sind es Daten aus der Datenbank, die nur bis zum Ende des
Requests gebraucht werden? Dann
<code class="varname">$::request</code>
</p></li><li class="listitem"><p>Muss ich von anderen Teilen des Programms lesend drauf
- zugreifen? Dann <code class="varname">$::request</code>, aber Zugriff über
+ zugreifen? Dann <code class="varname">$::request</code>, aber Zugriff über
Wrappermethode</p></li></ul></div></div></div><div class="sect2" title="4.1.4. Ehemalige globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e4864"></a>4.1.4. Ehemalige globale Variablen</h3></div></div></div><p>Die folgenden Variablen waren einmal im Programm, und wurden
- entfernt.</p><div class="sect3" title="4.1.4.1. $::cgi"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4869"></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
+ entfernt.</p><div class="sect3" title="4.1.4.1. $::cgi"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4869"></a>4.1.4.1. $::cgi</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil cookie Methoden nicht als
Klassenfunktionen funktionieren</p></li><li class="listitem"><p>Aufruf als Klasse erzeugt Dummyobjekt was im
- Klassennamespace gehalten wird und über Requestgrenzen
+ Klassennamespace gehalten wird und über Requestgrenzen
leaked</p></li><li class="listitem"><p>liegt jetzt unter
<code class="varname">$::request->{cgi}</code>
- </p></li></ul></div></div><div class="sect3" title="4.1.4.2. $::all_units"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4885"></a>4.1.4.2. $::all_units</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil einige Funktionen in Schleifen zum Teil
+ </p></li></ul></div></div><div class="sect3" title="4.1.4.2. $::all_units"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4885"></a>4.1.4.2. $::all_units</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil einige Funktionen in Schleifen zum Teil
ein paar hundert mal pro Request eine Liste der Einheiten
brauchen, und de als Parameter durch einen Riesenstack von
- Funktionen geschleift werden müssten.</p></li><li class="listitem"><p>Liegt jetzt unter
+ Funktionen geschleift werden müssten.</p></li><li class="listitem"><p>Liegt jetzt unter
<code class="varname">$::request->{cache}{all_units}</code>
</p></li><li class="listitem"><p>Wird nur in
<code class="function">AM->retrieve_all_units()</code> gesetzt oder
gelesen.</p></li></ul></div></div><div class="sect3" title="4.1.4.3. %::called_subs"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4904"></a>4.1.4.3. %::called_subs</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>wurde benutzt um callsub deep recursions
abzufangen.</p></li><li class="listitem"><p>Wurde entfernt, weil callsub nur einen Bruchteil der
- möglichen Rekursioenen darstellt, und da nie welche
- auftreten.</p></li><li class="listitem"><p>komplette recursion protection wurde entfernt.</p></li></ul></div></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03s03.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.3. Excel-Vorlagen </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 4.2. Entwicklung unter FastCGI</td></tr></table></div></body></html>
\ No newline at end of file
+ möglichen Rekursioenen darstellt, und da nie welche
+ auftreten.</p></li><li class="listitem"><p>komplette recursion protection wurde entfernt.</p></li></ul></div></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03s03.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.3. Excel-Vorlagen </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 4.2. Entwicklung unter FastCGI</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>4.2. Entwicklung unter FastCGI</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"><link rel="prev" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"><link rel="next" href="ch04s03.html" title="4.3. SQL-Upgradedateien"></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">4.2. Entwicklung unter FastCGI</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04.html">Zurück</a> </td><th width="60%" align="center">Kapitel 4. Entwicklerdokumentation</th><td width="20%" align="right"> <a accesskey="n" href="ch04s03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="4.2. Entwicklung unter FastCGI"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="devel.fcgi"></a>4.2. Entwicklung unter FastCGI</h2></div></div></div><div class="sect2" title="4.2.1. Allgemeines"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.general"></a>4.2.1. Allgemeines</h3></div></div></div><p>Wenn Änderungen in der Konfiguration von Lx-Office gemacht
- werden, muss der Webserver neu gestartet werden.</p><p>Bei der Entwicklung für FastCGI ist auf ein paar Fallstricke zu
- achten. Dadurch, dass das Programm in einer Endlosschleife läuft,
- müssen folgende Aspekte beachtet werden.</p></div><div class="sect2" title="4.2.2. Programmende und Ausnahmen"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.exiting"></a>4.2.2. Programmende und Ausnahmen</h3></div></div></div><p>Betrifft die Funktionen <code class="function">warn</code>,
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>4.2. Entwicklung unter FastCGI</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"><link rel="prev" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"><link rel="next" href="ch04s03.html" title="4.3. SQL-Upgradedateien"></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">4.2. Entwicklung unter FastCGI</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04.html">Zurück</a> </td><th width="60%" align="center">Kapitel 4. Entwicklerdokumentation</th><td width="20%" align="right"> <a accesskey="n" href="ch04s03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="4.2. Entwicklung unter FastCGI"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="devel.fcgi"></a>4.2. Entwicklung unter FastCGI</h2></div></div></div><div class="sect2" title="4.2.1. Allgemeines"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.general"></a>4.2.1. Allgemeines</h3></div></div></div><p>Wenn Änderungen in der Konfiguration von Lx-Office gemacht
+ werden, muss der Webserver neu gestartet werden.</p><p>Bei der Entwicklung für FastCGI ist auf ein paar Fallstricke zu
+ achten. Dadurch, dass das Programm in einer Endlosschleife läuft,
+ müssen folgende Aspekte beachtet werden.</p></div><div class="sect2" title="4.2.2. Programmende und Ausnahmen"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.exiting"></a>4.2.2. Programmende und Ausnahmen</h3></div></div></div><p>Betrifft die Funktionen <code class="function">warn</code>,
<code class="function">die</code>, <code class="function">exit</code>,
<code class="function">carp</code> und <code class="function">confess</code>.</p><p>Fehler, die dass Programm normalerweise sofort beenden (fatale
Fehler), werden mit dem FastCGI Dispatcher abgefangen, um das Programm
<code class="function">warn</code> wird direkt nach STDERR, also in Server Log
eine Nachricht schreiben (sofern in der Konfiguration nicht die
Warnungen in das Lx-Office Log umgeleitet wurden), und
- <code class="function">exit</code> wird die Ausführung beenden.</p><p>Prinzipiell ist es kein Beinbruch, wenn sich der Prozess
+ <code class="function">exit</code> wird die Ausführung beenden.</p><p>Prinzipiell ist es kein Beinbruch, wenn sich der Prozess
beendet, fcgi wird ihn sofort neu starten. Allerdings sollte das die
Ausnahme sein. Quintessenz: Bitte kein <code class="function">exit</code>
benutzen, alle anderen Exceptionmechanismen sind ok.</p></div><div class="sect2" title="4.2.3. Globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.globals"></a>4.2.3. Globale Variablen</h3></div></div></div><p>Um zu vermeiden, dass Informationen von einem Request in einen
- anderen gelangen, müssen alle globalen Variablen vor einem Request
+ anderen gelangen, müssen alle globalen Variablen vor einem Request
sauber initialisiert werden. Das ist besonders wichtig im
<code class="varname">$::cgi</code> und <code class="varname">$::auth</code> Objekt, weil
- diese nicht gelöscht werden pro Instanz, sondern persistent gehalten
+ diese nicht gelöscht werden pro Instanz, sondern persistent gehalten
werden.</p><p>In <code class="classname">SL::Dispatcher</code> gibt es einen sauber
abgetrennten Block, der alle kanonischen globalen Variablen listet und
- erklärt. Bitte keine anderen einführen ohne das sauber zu
+ erklärt. Bitte keine anderen einführen ohne das sauber zu
dokumentieren.</p><p>Datenbankverbindungen wird noch ein Guide verfasst werden, wie
man sicher geht, dass man die richtige erwischt.</p></div><div class="sect2" title="4.2.4. Performance und Statistiken"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.performance"></a>4.2.4. Performance und Statistiken</h3></div></div></div><p>Die kritischen Pfade des Programms sind die Belegmasken, und
unter diesen ganz besonders die Verkaufsrechnungsmaske. Ein Aufruf der
4GB Arbeitsspeicher und Ubuntu 9.10 eine halbe Sekunde. In der 2.6.0
sind es je nach Menge der definierten Variablen 1-2s. Ab der
Moose/Rose::DB Version sind es 5-6s.</p><p>Mit FastCGI ist die neuste Version auf 0,26 Sekunden selbst in
- den kritischen Pfaden, unter 0,15 sonst.</p></div><div class="sect2" title="4.2.5. Bekannte Probleme"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.known-issues"></a>4.2.5. Bekannte Probleme</h3></div></div></div><div class="sect3" title="4.2.5.1. Encoding Awareness"><div class="titlepage"><div><div><h4 class="title"><a name="devel.fcgi.known-issues.encoding"></a>4.2.5.1. Encoding Awareness</h4></div></div></div><p>UTF-8 kodierte Installationen sind sehr anfällig gegen
+ den kritischen Pfaden, unter 0,15 sonst.</p></div><div class="sect2" title="4.2.5. Bekannte Probleme"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.known-issues"></a>4.2.5. Bekannte Probleme</h3></div></div></div><div class="sect3" title="4.2.5.1. Encoding Awareness"><div class="titlepage"><div><div><h4 class="title"><a name="devel.fcgi.known-issues.encoding"></a>4.2.5.1. Encoding Awareness</h4></div></div></div><p>UTF-8 kodierte Installationen sind sehr anfällig gegen
fehlerhfate Encodings unter FCGI. latin9 Installationen behandeln
falsch kodierte Zeichen eher unwissend, und geben sie einfach
weiter. UTF-8 verweigert bei fehlerhaften Programmpfaden kurzerhand
das Ausliefern. Es wird noch daran gearbeitet, alle Fehler da zu
- beseitigen.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch04.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch04s03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 4. Entwicklerdokumentation </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 4.3. SQL-Upgradedateien</td></tr></table></div></body></html>
\ No newline at end of file
+ beseitigen.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch04.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch04s03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 4. Entwicklerdokumentation </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 4.3. SQL-Upgradedateien</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>4.3. SQL-Upgradedateien</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"><link rel="prev" href="ch04s02.html" title="4.2. Entwicklung unter FastCGI"><link rel="next" href="ch04s04.html" title="4.4. Translations and languages"></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">4.3. SQL-Upgradedateien</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s02.html">Zurück</a> </td><th width="60%" align="center">Kapitel 4. Entwicklerdokumentation</th><td width="20%" align="right"> <a accesskey="n" href="ch04s04.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="4.3. SQL-Upgradedateien"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="db-upgrade-files"></a>4.3. SQL-Upgradedateien</h2></div></div></div><div class="sect2" title="4.3.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="db-upgrade-files.introduction"></a>4.3.1. Einführung</h3></div></div></div><p>Der alte Mechanismus für SQL-Upgradescripte, der auf einer
- Versionsnummer beruht und dann in sql/Pg-upgrade nach einem Script für
- diese Versionsnummer sucht, schränkt sehr ein, z.B. was die parallele
- Entwicklung im stable- und unstable-Baum betrifft.</p><p>Dieser Mechanismus wurde für Lx-Office 2.4.1 deutlich erweitert.
- Es werden weiterhin alle Scripte aus sql/Pg-upgrade ausgeführt.
- Zusätzlich gibt es aber ein zweites Verzeichnis, sql/Pg-upgrade2. In
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>4.3. SQL-Upgradedateien</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"><link rel="prev" href="ch04s02.html" title="4.2. Entwicklung unter FastCGI"><link rel="next" href="ch04s04.html" title="4.4. Translations and languages"></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">4.3. SQL-Upgradedateien</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s02.html">Zurück</a> </td><th width="60%" align="center">Kapitel 4. Entwicklerdokumentation</th><td width="20%" align="right"> <a accesskey="n" href="ch04s04.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="4.3. SQL-Upgradedateien"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="db-upgrade-files"></a>4.3. SQL-Upgradedateien</h2></div></div></div><div class="sect2" title="4.3.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="db-upgrade-files.introduction"></a>4.3.1. Einführung</h3></div></div></div><p>Der alte Mechanismus für SQL-Upgradescripte, der auf einer
+ Versionsnummer beruht und dann in sql/Pg-upgrade nach einem Script für
+ diese Versionsnummer sucht, schränkt sehr ein, z.B. was die parallele
+ Entwicklung im stable- und unstable-Baum betrifft.</p><p>Dieser Mechanismus wurde für Lx-Office 2.4.1 deutlich erweitert.
+ Es werden weiterhin alle Scripte aus sql/Pg-upgrade ausgeführt.
+ Zusätzlich gibt es aber ein zweites Verzeichnis, sql/Pg-upgrade2. In
diesem Verzeichnis muss pro Datenbankupgrade eine Datei existieren,
- die neben den eigentlich auszuführenden SQL- oder Perl-Befehlen einige
- Kontrollinformationen enthält.</p><p>Neu sind die Kontrollinformationen, die Abhängigkeiten und
- Prioritäten definieren können werden, sodass Datenbankscripte zwar in
- einer sicheren Reihenfolge ausgeführt werden (z.B. darf ein "ALTER
- TABLE" erst ausgeführt werden, wenn die Tabelle mit "CREATE TABLE"
+ die neben den eigentlich auszuführenden SQL- oder Perl-Befehlen einige
+ Kontrollinformationen enthält.</p><p>Neu sind die Kontrollinformationen, die Abhängigkeiten und
+ Prioritäten definieren können werden, sodass Datenbankscripte zwar in
+ einer sicheren Reihenfolge ausgeführt werden (z.B. darf ein "ALTER
+ TABLE" erst ausgeführt werden, wenn die Tabelle mit "CREATE TABLE"
angelegt wurde), diese Reihenfolge aber so flexibel ist, dass man
keine Versionsnummern mehr braucht.</p><p>Lx-Office merkt sich dabei, welches der Upgradescripte in
- sql/Pg-upgrade2 bereits durchgeführt wurde und führt diese nicht
+ sql/Pg-upgrade2 bereits durchgeführt wurde und führt diese nicht
erneut aus. Dazu dient die Tabelle "schema_info", die bei der
Anmeldung automatisch angelegt wird.</p></div><div class="sect2" title="4.3.2. Format der Kontrollinformationen"><div class="titlepage"><div><div><h3 class="title"><a name="db-upgrade-files.format"></a>4.3.2. Format der Kontrollinformationen</h3></div></div></div><p>Die Kontrollinformationen sollten sich am Anfang der jeweiligen
- Upgradedatei befinden. Jede Zeile, die Kontrollinformationen enthält,
- hat dabei das folgende Format:</p><p>Für SQL-Upgradedateien:</p><pre class="programlisting">-- @key: value</pre><p>Für Perl-Upgradedateien:</p><pre class="programlisting"># @key: value</pre><p>Leerzeichen vor "<code class="varname">value</code>" werden
- entfernt.</p><p>Die folgenden Schlüsselworte werden verarbeitet:</p><div class="variablelist"><dl><dt><span class="term">
+ Upgradedatei befinden. Jede Zeile, die Kontrollinformationen enthält,
+ hat dabei das folgende Format:</p><p>Für SQL-Upgradedateien:</p><pre class="programlisting">-- @key: value</pre><p>Für Perl-Upgradedateien:</p><pre class="programlisting"># @key: value</pre><p>Leerzeichen vor "<code class="varname">value</code>" werden
+ entfernt.</p><p>Die folgenden Schlüsselworte werden verarbeitet:</p><div class="variablelist"><dl><dt><span class="term">
<code class="varname">tag</code>
- </span></dt><dd><p>Wird zwingend benötigt. Dies ist der "Name" des Upgrades.
+ </span></dt><dd><p>Wird zwingend benötigt. Dies ist der "Name" des Upgrades.
Dieser "tag" kann von anderen Kontrolldateien in ihren
- Abhängigkeiten verwendet werden (Schlüsselwort
+ Abhängigkeiten verwendet werden (Schlüsselwort
"<code class="varname">depends</code>"). Der "tag" ist auch der Name, der
- in der Datenbank eingetragen wird.</p><p>Normalerweise sollte die Kontrolldatei genau so heißen wie
+ in der Datenbank eingetragen wird.</p><p>Normalerweise sollte die Kontrolldatei genau so heißen wie
der "tag", nur mit der Endung ".sql" bzw. "pl".</p><p>Ein Tag darf nur aus alphanumerischen Zeichen sowie den
Zeichen _ - ( ) bestehen. Insbesondere sind Leerzeichen nicht
erlaubt und sollten stattdessen mit Unterstrichen ersetzt
<code class="varname">charset</code>
</span></dt><dd><p>Empfohlen. Gibt den Zeichensatz an, in dem das Script
geschrieben wurde, z.B. "<code class="literal">UTF-8</code>". Aus
- Kompatibilitätsgründen mit alten Upgrade-Scripten wird bei
+ Kompatibilitätsgründen mit alten Upgrade-Scripten wird bei
Abwesenheit des Tags der Zeichensatz
"<code class="literal">ISO-8859-15</code>" angenommen.</p></dd><dt><span class="term">
<code class="varname">description</code>
- </span></dt><dd><p>Benötigt. Eine Beschreibung, was in diesem Update
+ </span></dt><dd><p>Benötigt. Eine Beschreibung, was in diesem Update
passiert. Diese wird dem Benutzer beim eigentlichen
- Datenbankupdate angezeigt. Während der Tag in englisch gehalten
+ Datenbankupdate angezeigt. Während der Tag in englisch gehalten
sein sollte, sollte die Beschreibung auf Deutsch
erfolgen.</p></dd><dt><span class="term">
<code class="varname">depends</code>
</span></dt><dd><p>Optional. Eine mit Leerzeichen getrennte Liste von "tags",
- von denen dieses Upgradescript abhängt. Lx-Office stellt sicher,
- dass die in dieser Liste aufgeführten Scripte bereits
- durchgeführt wurden, bevor dieses Script ausgeführt wird.</p><p>Abhängigkeiten werden rekursiv betrachtet. Wenn also ein
- Script "b" existiert, das von Änderungen in "a" abhängt, und
- eine neue Kontrolldatei für "c" erstellt wird, die von
- Änderungen in "a" und "b" abhängt, so genügt es, in "c" nur den
- Tag "b" als Abhängigkeit zu definieren.</p><p>Es ist nicht erlaubt, sich selbst referenzierende
- Abhängigkeiten zu definieren (z.B. "a" -> "b", "b" -> "c"
+ von denen dieses Upgradescript abhängt. Lx-Office stellt sicher,
+ dass die in dieser Liste aufgeführten Scripte bereits
+ durchgeführt wurden, bevor dieses Script ausgeführt wird.</p><p>Abhängigkeiten werden rekursiv betrachtet. Wenn also ein
+ Script "b" existiert, das von Änderungen in "a" abhängt, und
+ eine neue Kontrolldatei für "c" erstellt wird, die von
+ Änderungen in "a" und "b" abhängt, so genügt es, in "c" nur den
+ Tag "b" als Abhängigkeit zu definieren.</p><p>Es ist nicht erlaubt, sich selbst referenzierende
+ Abhängigkeiten zu definieren (z.B. "a" -> "b", "b" -> "c"
und "c" -> "a").</p></dd><dt><span class="term">
<code class="varname">priority</code>
</span></dt><dd><p>Optional. Ein Zahlenwert, der die Reihenfolge bestimmt, in
- der Scripte ausgeführt werden, die die gleichen
- Abhängigkeitstiefen besitzen. Fehlt dieser Parameter, so wird
- der Wert 1000 benutzt.</p><p>Dies ist reine Kosmetik. Für echte Reihenfolgen muss
- "depends" benutzt werden. Lx-Office sortiert die auszuführenden
- Scripte zuerst nach der Abhängigkeitstiefe (wenn "z" von "y"
- abhängt und "y" von "x", so hat "z" eine Abhängigkeitstiefe von
- 2, "y" von 1 und "x" von 0. "x" würde hier zuerst ausgeführt,
- dann "y", dann "z"), dann nach der Priorität und bei gleicher
- Priorität alphabetisch nach dem "tag".</p></dd><dt><span class="term">
+ der Scripte ausgeführt werden, die die gleichen
+ Abhängigkeitstiefen besitzen. Fehlt dieser Parameter, so wird
+ der Wert 1000 benutzt.</p><p>Dies ist reine Kosmetik. Für echte Reihenfolgen muss
+ "depends" benutzt werden. Lx-Office sortiert die auszuführenden
+ Scripte zuerst nach der Abhängigkeitstiefe (wenn "z" von "y"
+ abhängt und "y" von "x", so hat "z" eine Abhängigkeitstiefe von
+ 2, "y" von 1 und "x" von 0. "x" würde hier zuerst ausgeführt,
+ dann "y", dann "z"), dann nach der Priorität und bei gleicher
+ Priorität alphabetisch nach dem "tag".</p></dd><dt><span class="term">
<code class="varname">ignore</code>
</span></dt><dd><p>Optional. Falls der Wert auf 1 (true) steht, wird das
Skript bei der Anmeldung ignoriert und entsprechend nicht
- ausgeführt.</p></dd></dl></div></div><div class="sect2" title="4.3.3. Hilfsscript dbupgrade2_tool.pl"><div class="titlepage"><div><div><h3 class="title"><a name="db-upgrade-files.dbupgrade-tool"></a>4.3.3. Hilfsscript dbupgrade2_tool.pl</h3></div></div></div><p>Um die Arbeit mit den Abhängigkeiten etwas zu erleichtern,
+ ausgeführt.</p></dd></dl></div></div><div class="sect2" title="4.3.3. Hilfsscript dbupgrade2_tool.pl"><div class="titlepage"><div><div><h3 class="title"><a name="db-upgrade-files.dbupgrade-tool"></a>4.3.3. Hilfsscript dbupgrade2_tool.pl</h3></div></div></div><p>Um die Arbeit mit den Abhängigkeiten etwas zu erleichtern,
existiert ein Hilfsscript namens
"<code class="filename">scripts/dbupgrade2_tool.pl</code>". Es muss aus dem
Lx-Office-ERP-Basisverzeichnis heraus aufgerufen werden. Dieses Tool
liest alle Datenbankupgradescripte aus dem Verzeichnis
- <code class="filename">sql/Pg-upgrade2</code> aus. Es benutzt dafür die
+ <code class="filename">sql/Pg-upgrade2</code> aus. Es benutzt dafür die
gleichen Methoden wie Lx-Office selber, sodass alle Fehlersituationen
- von der Kommandozeile überprüft werden können.</p><p>Wird dem Script kein weiterer Parameter übergeben, so wird nur
- eine Überprüfung der Felder und Abhängigkeiten vorgenommen. Man kann
+ von der Kommandozeile überprüft werden können.</p><p>Wird dem Script kein weiterer Parameter übergeben, so wird nur
+ eine Überprüfung der Felder und Abhängigkeiten vorgenommen. Man kann
sich aber auch Informationen auf verschiedene Art ausgeben
lassen:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Listenform: "<span class="command"><strong>./scripts/dbupgrade2_tool.pl
--list</strong></span>"</p><p>Gibt eine Liste aller Scripte aus. Die Liste ist in der
- Reihenfolge sortiert, in der Lx-Office die Scripte ausführen
- würde. Es werden neben der Listenposition der Tag, die
- Abhängigkeitstiefe und die Priorität ausgegeben.</p></li><li class="listitem"><p>Baumform: "<span class="command"><strong>./scripts/dbupgrade2_tool.pl
+ Reihenfolge sortiert, in der Lx-Office die Scripte ausführen
+ würde. Es werden neben der Listenposition der Tag, die
+ Abhängigkeitstiefe und die Priorität ausgegeben.</p></li><li class="listitem"><p>Baumform: "<span class="command"><strong>./scripts/dbupgrade2_tool.pl
--tree</strong></span>"</p><p>Listet alle Tags in Baumform basierend auf den
- Abhängigkeiten auf. Die "Wurzelknoten" sind dabei die Scripte, von
- denen keine anderen abhängen. Die Unterknoten sind Scripte, die
- beim übergeordneten Script als Abhängigkeit eingetragen
+ Abhängigkeiten auf. Die "Wurzelknoten" sind dabei die Scripte, von
+ denen keine anderen abhängen. Die Unterknoten sind Scripte, die
+ beim übergeordneten Script als Abhängigkeit eingetragen
sind.</p></li><li class="listitem"><p><a name="db-upgrade-files.dbupgrade-tool.reverse-tree"></a>Umgekehrte Baumform: "<span class="command"><strong>./scripts/dbupgrade2_tool.pl
--rtree</strong></span>"</p><p>Listet alle Tags in Baumform basierend auf den
- Abhängigkeiten auf. Die "Wurzelknoten" sind dabei die Scripte mit
- der geringsten Abhängigkeitstiefe. Die Unterknoten sind Scripte,
- die das übergeordnete Script als Abhängigkeit eingetragen
+ Abhängigkeiten auf. Die "Wurzelknoten" sind dabei die Scripte mit
+ der geringsten Abhängigkeitstiefe. Die Unterknoten sind Scripte,
+ die das übergeordnete Script als Abhängigkeit eingetragen
haben.</p></li><li class="listitem"><p>Baumform mit Postscriptausgabe:
"<span class="command"><strong>./scripts/dbupgrade2_tool.pl
- --graphviz</strong></span>"</p><p>Benötigt das Tool "<span class="command"><strong>graphviz</strong></span>", um mit
+ --graphviz</strong></span>"</p><p>Benötigt das Tool "<span class="command"><strong>graphviz</strong></span>", um mit
seiner Hilfe die <a class="link" href="ch04s03.html#db-upgrade-files.dbupgrade-tool.reverse-tree">umgekehrte
Baumform</a> in eine Postscriptdatei namens
"<code class="filename">db_dependencies.ps</code>" auszugeben. Dies ist
- vermutlich die übersichtlichste Form, weil hierbei jeder Knoten
+ vermutlich die übersichtlichste Form, weil hierbei jeder Knoten
nur einmal ausgegeben wird. Bei den Textmodusbaumformen hingegen
- können Knoten und all ihre Abhängigkeiten mehrfach ausgegeben
- werden.</p></li><li class="listitem"><p>Scripte, von denen kein anderes Script abhängt:
+ können Knoten und all ihre Abhängigkeiten mehrfach ausgegeben
+ werden.</p></li><li class="listitem"><p>Scripte, von denen kein anderes Script abhängt:
"<span class="command"><strong>./scripts/dbupgrade2_tool.pl --nodeps</strong></span>"</p><p>Listet die Tags aller Scripte auf, von denen keine anderen
- Scripte abhängen.</p></li></ul></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s02.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch04.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch04s04.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">4.2. Entwicklung unter FastCGI </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 4.4. Translations and languages</td></tr></table></div></body></html>
\ No newline at end of file
+ Scripte abhängen.</p></li></ul></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s02.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch04.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch04s04.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">4.2. Entwicklung unter FastCGI </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 4.4. Translations and languages</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>4.4. Translations and languages</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"><link rel="prev" href="ch04s03.html" title="4.3. SQL-Upgradedateien"><link rel="next" href="ch04s05.html" title="4.5. Stil-Richtlinien"></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">4.4. Translations and languages</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s03.html">Zurück</a> </td><th width="60%" align="center">Kapitel 4. Entwicklerdokumentation</th><td width="20%" align="right"> <a accesskey="n" href="ch04s05.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="4.4. Translations and languages"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="translations-languages"></a>4.4. Translations and languages</h2></div></div></div><div class="sect2" title="4.4.1. Introduction"><div class="titlepage"><div><div><h3 class="title"><a name="translations-languages.introduction"></a>4.4.1. Introduction</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>Dieser Abschnitt ist in Englisch geschrieben, um
- internationalen Übersetzern die Arbeit zu erleichtern.</p></td></tr></table></div><p>This section describes how localization packages in Lx-Office
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>4.4. Translations and languages</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"><link rel="prev" href="ch04s03.html" title="4.3. SQL-Upgradedateien"><link rel="next" href="ch04s05.html" title="4.5. Stil-Richtlinien"></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">4.4. Translations and languages</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s03.html">Zurück</a> </td><th width="60%" align="center">Kapitel 4. Entwicklerdokumentation</th><td width="20%" align="right"> <a accesskey="n" href="ch04s05.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="4.4. Translations and languages"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="translations-languages"></a>4.4. Translations and languages</h2></div></div></div><div class="sect2" title="4.4.1. Introduction"><div class="titlepage"><div><div><h3 class="title"><a name="translations-languages.introduction"></a>4.4.1. Introduction</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>Dieser Abschnitt ist in Englisch geschrieben, um
+ internationalen Übersetzern die Arbeit zu erleichtern.</p></td></tr></table></div><p>This section describes how localization packages in Lx-Office
are built. Currently the only language fully supported is German, and
since most of the internal messages are held in English the English
version is usable too.</p><p>A stub version of French is included but not functunal at this
case you made a typo, so that you don't have to translate
everything again. If a tranlsation is missing, the lost file is
checked first. If you maintain a language package, you might
- want to keep this safe somewhere.</p></dd></dl></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s03.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch04.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch04s05.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">4.3. SQL-Upgradedateien </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 4.5. Stil-Richtlinien</td></tr></table></div></body></html>
\ No newline at end of file
+ want to keep this safe somewhere.</p></dd></dl></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s03.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch04.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch04s05.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">4.3. SQL-Upgradedateien </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 4.5. Stil-Richtlinien</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>4.5. Stil-Richtlinien</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"><link rel="prev" href="ch04s04.html" title="4.4. Translations and languages"><link rel="next" href="ch04s06.html" title="4.6. Dokumentation erstellen"></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">4.5. Stil-Richtlinien</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s04.html">Zurück</a> </td><th width="60%" align="center">Kapitel 4. Entwicklerdokumentation</th><td width="20%" align="right"> <a accesskey="n" href="ch04s06.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="4.5. Stil-Richtlinien"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="devel.style-guide"></a>4.5. Stil-Richtlinien</h2></div></div></div><p>Die folgenden Regeln haben das Ziel, den Code möglichst gut les-
- und wartbar zu machen. Dazu gehört zum Einen, dass der Code einheitlich
- eingerückt ist, aber auch, dass Mehrdeutigkeit so weit es geht vermieden
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>4.5. Stil-Richtlinien</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"><link rel="prev" href="ch04s04.html" title="4.4. Translations and languages"><link rel="next" href="ch04s06.html" title="4.6. Dokumentation erstellen"></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">4.5. Stil-Richtlinien</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s04.html">Zurück</a> </td><th width="60%" align="center">Kapitel 4. Entwicklerdokumentation</th><td width="20%" align="right"> <a accesskey="n" href="ch04s06.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="4.5. Stil-Richtlinien"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="devel.style-guide"></a>4.5. Stil-Richtlinien</h2></div></div></div><p>Die folgenden Regeln haben das Ziel, den Code möglichst gut les-
+ und wartbar zu machen. Dazu gehört zum Einen, dass der Code einheitlich
+ eingerückt ist, aber auch, dass Mehrdeutigkeit so weit es geht vermieden
wird (Stichworte "Klammern" oder "Hash-Keys").</p><p>Diese Regeln sind keine Schikane sondern erleichtern allen das
Leben!</p><p>Jeder, der einen Patch schickt, sollte seinen Code vorher
- überprüfen. Einige der Regeln lassen sich automatisch überprüfen, andere
+ überprüfen. Einige der Regeln lassen sich automatisch überprüfen, andere
nicht.</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Es werden keine echten Tabs sondern Leerzeichen
- verwendet.</p></li><li class="listitem"><p>Die Einrückung beträgt zwei Leerzeichen. Beispiel:</p><pre class="programlisting">foreach my $row (@data) {
+ verwendet.</p></li><li class="listitem"><p>Die Einrückung beträgt zwei Leerzeichen. Beispiel:</p><pre class="programlisting">foreach my $row (@data) {
if ($flag) {
# do something with $row
}
}
$report->add($row);
-}</pre></li><li class="listitem"><p>Öffnende geschweifte Klammern befinden sich auf der gleichen
+}</pre></li><li class="listitem"><p>Öffnende geschweifte Klammern befinden sich auf der gleichen
Zeile wie der letzte Befehl. Beispiele:</p><pre class="programlisting">sub debug {
...
}</pre><p>oder</p><pre class="programlisting">if ($form->{item_rows} > 0) {
...
-}</pre></li><li class="listitem"><p>Schließende geschweifte Klammern sind so weit eingerückt wie
- der Befehl / die öffnende schließende Klammer, die den Block
+}</pre></li><li class="listitem"><p>Schließende geschweifte Klammern sind so weit eingerückt wie
+ der Befehl / die öffnende schließende Klammer, die den Block
gestartet hat, und nicht auf der Ebene des Inhalts. Die gleichen
- Beispiele wie bei 3. gelten.</p></li><li class="listitem"><p>Die Wörter "<code class="function">else</code>",
+ Beispiele wie bei 3. gelten.</p></li><li class="listitem"><p>Die Wörter "<code class="function">else</code>",
"<code class="function">elsif</code>", "<code class="function">while</code>" befinden
- sich auf der gleichen Zeile wie schließende geschweifte Klammern.
+ sich auf der gleichen Zeile wie schließende geschweifte Klammern.
Beispiele:</p><pre class="programlisting">if ($form->{sum} > 1000) {
...
} elsif ($form->{sum} > 0) {
do {
...
-} until ($a > 0);</pre></li><li class="listitem"><p>Parameter von Funktionsaufrufen müssen mit runden Klammern
+} until ($a > 0);</pre></li><li class="listitem"><p>Parameter von Funktionsaufrufen müssen mit runden Klammern
versehen werden. Davon nicht betroffen sind interne Perl-Funktionen,
- und grep-ähnliche Operatoren. Beispiel:</p><pre class="programlisting">$main::lxdebug->message("Could not find file.");
-%options = map { $_ => 1 } grep { !/^#/ } @config_file;</pre></li><li class="listitem"><p>Verschiedene Klammern, Ihre Ausdrücke und Leerzeichen:</p><p>Generell gilt: Hashkeys und Arrayindices sollten nicht durch
+ und grep-ähnliche Operatoren. Beispiel:</p><pre class="programlisting">$main::lxdebug->message("Could not find file.");
+%options = map { $_ => 1 } grep { !/^#/ } @config_file;</pre></li><li class="listitem"><p>Verschiedene Klammern, Ihre Ausdrücke und Leerzeichen:</p><p>Generell gilt: Hashkeys und Arrayindices sollten nicht durch
Leerzeichen abgesetzt werden. Logische Klammerungen ebensowenig,
- Blöcke schon. Beispiel:</p><pre class="programlisting">if (($form->{debug} == 1) && ($form->{sum} - 100 < 0)) {
+ Blöcke schon. Beispiel:</p><pre class="programlisting">if (($form->{debug} == 1) && ($form->{sum} - 100 < 0)) {
...
}
$form->{ $form->{index} } += 1;
map { $form->{sum} += $form->{"row_$_"} } 1..$rowcount;</pre></li><li class="listitem"><p>Mehrzeilige Befehle</p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem"><p>Werden die Parameter eines Funktionsaufrufes auf mehrere
- Zeilen aufgeteilt, so sollten diese bis zu der Spalte eingerückt
+ Zeilen aufgeteilt, so sollten diese bis zu der Spalte eingerückt
werden, in der die ersten Funktionsparameter in der ersten Zeile
stehen. Beispiel:</p><pre class="programlisting">$sth = $dbh->prepare("SELECT * FROM some_table WHERE col = ?",
- $form->{some_col_value});</pre></li><li class="listitem"><p>Ein Spezialfall ist der ternäre Oprator "?:", der am
- besten in einer übersichtlichen Tabellenstruktur organisiert
+ $form->{some_col_value});</pre></li><li class="listitem"><p>Ein Spezialfall ist der ternäre Oprator "?:", der am
+ besten in einer übersichtlichen Tabellenstruktur organisiert
wird. Beispiel:</p><pre class="programlisting">my $rowcount = $form->{"row_$i"} ? $i
: $form->{oldcount} ? $form->{oldcount} + 1
: $form->{rowcount} - $form->{rowbase};</pre></li></ol></div></li><li class="listitem"><p>Kommentare</p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem"><p>Kommentare, die alleine in einer Zeile stehen, sollten
- soweit wie der Code eingerückt sein.</p></li><li class="listitem"><p>Seitliche hängende Kommentare sollten einheitlich
- formatiert werden.</p></li><li class="listitem"><p>Sämtliche Kommentare und Sonstiges im Quellcode ist bitte
+ soweit wie der Code eingerückt sein.</p></li><li class="listitem"><p>Seitliche hängende Kommentare sollten einheitlich
+ formatiert werden.</p></li><li class="listitem"><p>Sämtliche Kommentare und Sonstiges im Quellcode ist bitte
auf Englisch zu verfassen. So wie ich keine Lust habe,
- französischen Quelltext zu lesen, sollte auch der Lx-Office
- Quelltext für nicht-Deutschsprachige lesbar sein.
+ französischen Quelltext zu lesen, sollte auch der Lx-Office
+ Quelltext für nicht-Deutschsprachige lesbar sein.
Beispiel:</p><pre class="programlisting">my $found = 0;
while (1) {
last if $found;
$i = 0 # initialize $i
$n = $i; # save $i
$i *= $const; # do something crazy
-$i = $n; # recover $i</pre></li></ol></div></li><li class="listitem"><p>Hashkeys sollten nur in Anführungszeichen stehen, wenn die
- Interpolation gewünscht ist. Beispiel:</p><pre class="programlisting">$form->{sum} = 0;
+$i = $n; # recover $i</pre></li></ol></div></li><li class="listitem"><p>Hashkeys sollten nur in Anführungszeichen stehen, wenn die
+ Interpolation gewünscht ist. Beispiel:</p><pre class="programlisting">$form->{sum} = 0;
$form->{"row_$i"} = $form->{"row_$i"} - 5;
-$some_hash{42} = 54;</pre></li><li class="listitem"><p>Die maximale Zeilenlänge ist nicht beschränkt. Zeilenlängen
+$some_hash{42} = 54;</pre></li><li class="listitem"><p>Die maximale Zeilenlänge ist nicht beschränkt. Zeilenlängen
unterhalb von 79 Zeichen helfen unter bestimmten Bedingungen, aber
wenn die Lesbarkeit unter kurzen Zeilen leidet (wie zum Biespiel in
grossen Tabellen), dann ist Lesbarkeit vorzuziehen.</p><p>Als Beispiel sei die Funktion
<code class="function">print_options</code> aus
- <code class="filename">bin/mozilla/io.pl</code> angeführt.</p></li><li class="listitem"><p>Trailing Whitespace, d.h. Leerzeichen am Ende von Zeilen sind
- unerwünscht. Sie führen zu unnötigen Whitespaceänderungen, die diffs
- verfälschen.</p><p>Emacs und vim haben beide recht einfache Methoden zur
+ <code class="filename">bin/mozilla/io.pl</code> angeführt.</p></li><li class="listitem"><p>Trailing Whitespace, d.h. Leerzeichen am Ende von Zeilen sind
+ unerwünscht. Sie führen zu unnötigen Whitespaceänderungen, die diffs
+ verfälschen.</p><p>Emacs und vim haben beide recht einfache Methoden zur
Entfernung von trailing whitespace. Emacs kennt das Kommande
<span class="command"><strong>nuke-trailing-whitespace</strong></span>, vim macht das gleiche
- manuell über <code class="literal">:%s/\s\+$//e</code> Mit <code class="literal">:au
+ manuell über <code class="literal">:%s/\s\+$//e</code> Mit <code class="literal">:au
BufWritePre * :%s/\s\+$//e</code> wird das an Speichern
gebunden.</p></li><li class="listitem"><p>Es wird kein <span class="command"><strong>perltidy</strong></span> verwendet.</p><p>In der Vergangenheit wurde versucht,
<span class="command"><strong>perltidy</strong></span> zu verwenden, um einen einheitlichen
Stil zu erlangen. Es hat sich aber gezeigt, dass
<span class="command"><strong>perltidy</strong></span>s sehr eigenwilliges Verhalten, was
- Zeilenumbrüche angeht, oftmals gut formatierten Code zerstört. Für
+ Zeilenumbrüche angeht, oftmals gut formatierten Code zerstört. Für
den Interessierten sind hier die
<span class="command"><strong>perltidy</strong></span>-Optionen, die grob den beschriebenen
Richtlinien entsprechen:</p><pre class="programlisting">-syn -i=2 -nt -pt=2 -sbt=2 -ci=2 -ibc -hsc -noll -nsts -nsfs -asc -dsm
Debugmeldungen auch.</p><p>Lx-Office bietet mit dem Modul <code class="classname">LXDebug</code>
einen brauchbaren Trace-/Debug-Mechanismus. Es gibt also keinen
Grund, nach <code class="varname">STDERR</code> zu schreiben.</p><p>Die <code class="classname">LXDebug</code>-Methode
- "<code class="function">message</code>" nimmt als ersten Paramter außerdem
- eine Flagmaske, für die die Meldung angezeigt wird, wobei "0" immer
+ "<code class="function">message</code>" nimmt als ersten Paramter außerdem
+ eine Flagmaske, für die die Meldung angezeigt wird, wobei "0" immer
angezeigt wird. Solche Meldungen sollten nicht eingecheckt werden
- und werden in den meisten Fällen auch vom Repository
- zurückgewiesen.</p></li><li class="listitem"><p>Alle neuen Module müssen use strict verwenden.</p><p>
+ und werden in den meisten Fällen auch vom Repository
+ zurückgewiesen.</p></li><li class="listitem"><p>Alle neuen Module müssen use strict verwenden.</p><p>
<code class="varname">$form</code>, <code class="varname">$auth</code>,
<code class="varname">$locale</code>, <code class="varname">$lxdebug</code> und
<code class="varname">%myconfig</code> werden derzeit aus dem main package
importiert (siehe <a class="xref" href="ch04.html#devel.globals" title="4.1. Globale Variablen">Globale Variablen</a>. Alle anderen
- Konstrukte sollten lexikalisch lokal gehalten werden.</p></li></ol></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s04.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch04.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch04s06.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">4.4. Translations and languages </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 4.6. Dokumentation erstellen</td></tr></table></div></body></html>
\ No newline at end of file
+ Konstrukte sollten lexikalisch lokal gehalten werden.</p></li></ol></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s04.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch04.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch04s06.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">4.4. Translations and languages </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 4.6. Dokumentation erstellen</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>4.6. Dokumentation erstellen</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"><link rel="prev" href="ch04s05.html" title="4.5. Stil-Richtlinien"></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">4.6. Dokumentation erstellen</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s05.html">Zurück</a> </td><th width="60%" align="center">Kapitel 4. Entwicklerdokumentation</th><td width="20%" align="right"> </td></tr></table><hr></div><div class="sect1" title="4.6. Dokumentation erstellen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="devel.build-doc"></a>4.6. Dokumentation erstellen</h2></div></div></div><div class="sect2" title="4.6.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="devel.build-doc.introduction"></a>4.6.1. Einführung</h3></div></div></div><p>Diese Dokumentation ist in <span class="productname">DocBook</span>™
- XML geschrieben. Zum Bearbeiten reicht grundsätzlich ein Text-Editor.
- Mehr Komfort bekommt man, wenn man einen dedizierten XML-fähigen
- Editor nutzt, der spezielle Unterstützung für
- <span class="productname">DocBook</span>™ mitbringt. Wir empfehlen dafür den
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>4.6. Dokumentation erstellen</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"><link rel="prev" href="ch04s05.html" title="4.5. Stil-Richtlinien"></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">4.6. Dokumentation erstellen</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s05.html">Zurück</a> </td><th width="60%" align="center">Kapitel 4. Entwicklerdokumentation</th><td width="20%" align="right"> </td></tr></table><hr></div><div class="sect1" title="4.6. Dokumentation erstellen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="devel.build-doc"></a>4.6. Dokumentation erstellen</h2></div></div></div><div class="sect2" title="4.6.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="devel.build-doc.introduction"></a>4.6.1. Einführung</h3></div></div></div><p>Diese Dokumentation ist in <span class="productname">DocBook</span>™
+ XML geschrieben. Zum Bearbeiten reicht grundsätzlich ein Text-Editor.
+ Mehr Komfort bekommt man, wenn man einen dedizierten XML-fähigen
+ Editor nutzt, der spezielle Unterstützung für
+ <span class="productname">DocBook</span>™ mitbringt. Wir empfehlen dafür den
<a class="ulink" href="http://www.xmlmind.com/xmleditor/" target="_top">XMLmind XML
Editor</a>, der bei nicht kommerzieller Nutzung kostenlos
- ist.</p></div><div class="sect2" title="4.6.2. Benötigte Software"><div class="titlepage"><div><div><h3 class="title"><a name="devel.build-doc.required-software"></a>4.6.2. Benötigte Software</h3></div></div></div><p>Bei <span class="productname">DocBook</span>™ ist Prinzip, dass
- ausschließlich die XML-Quelldatei bearbeitet wird. Aus dieser werden
+ ist.</p></div><div class="sect2" title="4.6.2. Benötigte Software"><div class="titlepage"><div><div><h3 class="title"><a name="devel.build-doc.required-software"></a>4.6.2. Benötigte Software</h3></div></div></div><p>Bei <span class="productname">DocBook</span>™ ist Prinzip, dass
+ ausschließlich die XML-Quelldatei bearbeitet wird. Aus dieser werden
dann mit entsprechenden Stylesheets andere Formate wie PDF oder HTML
- erzeugt. Bei Lx-Office übernimmt diese Aufgabe das Shell-Script
- <span class="command"><strong>scripts/build_doc.sh</strong></span>.</p><p>Das Script benötigt zur Konvertierung verschiedene
- Softwarekomponenten, die im normalen Lx-Office-Betrieb nicht benötigt
+ erzeugt. Bei Lx-Office übernimmt diese Aufgabe das Shell-Script
+ <span class="command"><strong>scripts/build_doc.sh</strong></span>.</p><p>Das Script benötigt zur Konvertierung verschiedene
+ Softwarekomponenten, die im normalen Lx-Office-Betrieb nicht benötigt
werden:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<a class="ulink" href="http://www.oracle.com/technetwork/java/index.html" target="_top">Java</a>
in einer halbwegs aktuellen Version</p></li><li class="listitem"><p>Das Java-Build-System <a class="ulink" href="http://ant.apache.org/" target="_top">Apache Ant</a>
- </p></li><li class="listitem"><p>Das Dokumentations-System Dobudish für
- <span class="productname">DocBook</span>™ 4.5, eine Zusammenstellung
+ </p></li><li class="listitem"><p>Das Dokumentations-System Dobudish für
+ <span class="productname">DocBook</span>™ 4.5, eine Zusammenstellung
diverser Stylesheets und Grafiken zur Konvertierung von
- <span class="productname">DocBook</span>™ XML in andere Formate. Das
- Paket, das benötigt wird, ist zum Zeitpunkt der
+ <span class="productname">DocBook</span>™ XML in andere Formate. Das
+ Paket, das benötigt wird, ist zum Zeitpunkt der
Dokumentationserstellung
<code class="filename">dobudish-nojre-1.1.4.zip</code>, aus auf <a class="ulink" href="http://code.google.com/p/dobudish/downloads/list" target="_top">code.google.com</a>
bereitsteht.</p></li></ul></div><p>Apache Ant sowie ein dazu passendes Java Runtime Environment
- sind auf allen gängigen Plattformen verfügbar. Beispiel für
+ sind auf allen gängigen Plattformen verfügbar. Beispiel für
Debian/Ubuntu:</p><pre class="programlisting">apt-get install ant openjdk-7-jre</pre><p>Nach dem Download von Dobudish muss Dobudish im Unterverzeichnis
<code class="filename">doc/build</code> entpackt werden. Beispiel unter der
- Annahme, das <span class="productname">Dobudish</span>™ in
+ Annahme, das <span class="productname">Dobudish</span>™ in
<code class="filename">$HOME/Downloads</code> heruntergeladen wurde:</p><pre class="programlisting">cd doc/build
unzip $HOME/Downloads/dobudish-nojre-1.1.4.zip</pre></div><div class="sect2" title="4.6.3. PDFs und HTML-Seiten erstellen"><div class="titlepage"><div><div><h3 class="title"><a name="devel.build-doc.build"></a>4.6.3. PDFs und HTML-Seiten erstellen</h3></div></div></div><p>Die eigentliche Konvertierung erfolgt nach Installation der
- benötigten Software mit einem einfachen Aufruf direkt aus dem
+ benötigten Software mit einem einfachen Aufruf direkt aus dem
Lx-Office-Installationsverzeichnis heraus:</p><pre class="programlisting">./scripts/build_doc.sh</pre></div><div class="sect2" title="4.6.4. Einchecken in das Git-Repository"><div class="titlepage"><div><div><h3 class="title"><a name="devel.build-doc.repository"></a>4.6.4. Einchecken in das Git-Repository</h3></div></div></div><p>Sowohl die XML-Datei als auch die erzeugten PDF- und
HTML-Dateien sind Bestandteil des Git-Repositories. Daraus folgt, dass
- nach Änderungen am XML die PDF- und HTML-Dokumente ebenfalls gebaut
+ nach Änderungen am XML die PDF- und HTML-Dokumente ebenfalls gebaut
und alles zusammen in einem Commit eingecheckt werden sollten.</p><p>Die "<code class="filename">dobudish</code>"-Verzeichnisse bzw.
- symbolischen Links gehören hingegen nicht in das Repository.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s05.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch04.html">Nach oben</a></td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left" valign="top">4.5. Stil-Richtlinien </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
\ No newline at end of file
+ symbolischen Links gehören hingegen nicht in das Repository.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s05.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch04.html">Nach oben</a></td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left" valign="top">4.5. Stil-Richtlinien </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Lx-Office: 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="Lx-Office: 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">Lx-Office: 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="Lx-Office: Installation, Konfiguration, Entwicklung"><div class="titlepage"><div><div><h1 class="title"><a name="lx-office-documentation"></a>Lx-Office: 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#Ben%C3%B6tigte-Software-und-Pakete">2.1. Benötigte Software und Pakete</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02.html#Betriebssystem">2.1.1. Betriebssystem</a></span></dt><dt><span class="sect2"><a href="ch02.html#Pakete">2.1.2. Pakete</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s02.html">2.2. Manuelle Installation des Programmpaketes</a></span></dt><dt><span class="sect1"><a href="ch02s03.html">2.3. Lx-Office-Konfigurationsdatei</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s03.html#config.config-file.introduction">2.3.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s03.html#config.config-file.sections-parameters">2.3.2. Abschnitte und Parameter</a></span></dt><dt><span class="sect2"><a href="ch02s03.html#config.config-file.prior-versions">2.3.3. Versionen vor 2.6.3</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s04.html">2.4. Anpassung der PostgreSQL-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s04.html#Zeichens%C3%A4tze-die-Verwendung-von-UTF-8">2.4.1. Zeichensätze/die Verwendung von UTF-8</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#%C3%84nderungen-an-Konfigurationsdateien">2.4.2. Änderungen an Konfigurationsdateien</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#Erweiterung-f%C3%BCr-servergespeicherte-Prozeduren">2.4.3. Erweiterung für servergespeicherte Prozeduren</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#Datenbankbenutzer-anlegen">2.4.4. Datenbankbenutzer anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s05.html">2.5. Webserver-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s05.html#d0e511">2.5.1. Grundkonfiguration mittels CGI</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#Apache-Konfiguration.FCGI">2.5.2. Konfiguration für FastCGI/FCGI</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s06.html">2.6. Der Task-Server</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s06.html#Konfiguration-des-Task-Servers">2.6.1. Verfügbare und notwendige Konfigurationsoptionen</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#Einbinden-in-den-Boot-Prozess">2.6.2. Automatisches Starten des Task-Servers beim Booten</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#Prozesskontrolle">2.6.3. Wie der Task-Server gestartet und beendet wird</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s07.html">2.7. Benutzerauthentifizierung und Administratorpasswort</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s07.html#Grundlagen-zur-Benutzerauthentifizierung">2.7.1. Grundlagen zur Benutzerauthentifizierung</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Administratorpasswort">2.7.2. Administratorpasswort</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Authentifizierungsdatenbank">2.7.3. Authentifizierungsdatenbank</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Passwort%C3%BCberpr%C3%BCfung">2.7.4. Passwortüberprüfung</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Name-des-Session-Cookies">2.7.5. Name des Session-Cookies</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Anlegen-der-Authentifizierungsdatenbank">2.7.6. Anlegen der Authentifizierungsdatenbank</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s08.html">2.8. Benutzer- und Gruppenverwaltung</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s08.html#Zusammenh%C3%A4nge">2.8.1. Zusammenhänge</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Datenbanken-anlegen">2.8.2. Datenbanken anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Gruppen-anlegen">2.8.3. Gruppen anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Benutzer-anlegen">2.8.4. Benutzer anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Gruppenmitgliedschaften-verwalten">2.8.5. Gruppenmitgliedschaften verwalten</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Migration-alter-Installationen">2.8.6. Migration alter Installationen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s09.html">2.9. Drucken mit Lx-Office</a></span></dt><dt><span class="sect1"><a href="ch02s10.html">2.10. OpenDocument-Vorlagen</a></span></dt><dt><span class="sect1"><a href="ch02s11.html">2.11. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
- EUR</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s11.html#config.eur.introduction">2.11.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#config.eur.parameters">2.11.2. Konfigurationsparameter</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#config.eur.setting-parameters">2.11.3. Festlegen der Parameter</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#config.eur.inventory-system-perpetual">2.11.4. Bemerkungen zu Bestandsmethode</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#config.eur.knonw-issues">2.11.5. Bekannte Probleme</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s12.html">2.12. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s12.html#config.skr04-update-3804.introduction">2.12.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#config.skr04-update-3804.create-chart">2.12.2. Konto 3804 manuell anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s13.html">2.13. Lx-Office 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.reports">3.1.3. Auflisten</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.task-server">3.1.4. Erzeugung der eigentlichen Rechnungen</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.create-for-current-month">3.1.5. Erste Rechnung für aktuellen Monat erstellen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s02.html">3.2. Dokumentenvorlagen und verfügbare Variablen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.einf%C3%BChrung">3.2.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.variablen-ausgeben">3.2.2. Variablen ausgeben</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.verwendung-in-druckbefehlen">3.2.3. Verwendung in Druckbefehlen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.tag-style">3.2.4. Anfang und Ende der Tags verändern</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.zuordnung-dateinamen">3.2.5. Zuordnung von den Dateinamen zu den Funktionen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.dateinamen-erweitert">3.2.6. Sprache, Drucker und E-Mail</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.allgemeine-variablen">3.2.7. Allgemeine Variablen, die in allen Vorlagen vorhanden
- sind</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.invoice">3.2.8. Variablen in Rechnungen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.dunning">3.2.9. Variablen in Mahnungen und Rechnungen über Mahngebühren</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.andere-vorlagen">3.2.10. Variablen in anderen Vorlagen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.bloecke">3.2.11. Blöcke, bedingte Anweisungen und Schleifen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.markup">3.2.12. Markup-Code zur Textformatierung innerhalb von
- Formularen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s03.html">3.3. Excel-Vorlagen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s03.html#excel-templates.summary">3.3.1. Zusammenfassung</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.usage">3.3.2. Bedienung</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.syntax">3.3.3. Variablensyntax</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.limitations">3.3.4. Einschränkungen</a></span></dt></dl></dd></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#d0e4350">4.1.1. Wie sehen globale Variablen in Perl aus?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e4451">4.1.2. Warum sind globale Variablen ein Problem?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e4484">4.1.3. Kanonische globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e4864">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><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.known-issues">4.2.5. Bekannte Probleme</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.dbupgrade-tool">4.3.3. 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.file-structure">4.4.2. File structure</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s05.html">4.5. Stil-Richtlinien</a></span></dt><dt><span class="sect1"><a href="ch04s06.html">4.6. Dokumentation erstellen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s06.html#devel.build-doc.introduction">4.6.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s06.html#devel.build-doc.required-software">4.6.2. Benötigte Software</a></span></dt><dt><span class="sect2"><a href="ch04s06.html#devel.build-doc.build">4.6.3. PDFs und HTML-Seiten erstellen</a></span></dt><dt><span class="sect2"><a href="ch04s06.html#devel.build-doc.repository">4.6.4. Einchecken in das Git-Repository</a></span></dt></dl></dd></dl></dd></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Kapitel 1. Aktuelle Hinweise</td></tr></table></div></body></html>
\ No newline at end of file
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>Lx-Office: 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="Lx-Office: 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">Lx-Office: 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="Lx-Office: Installation, Konfiguration, Entwicklung"><div class="titlepage"><div><div><h1 class="title"><a name="lx-office-documentation"></a>Lx-Office: 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#Ben%C3%B6tigte-Software-und-Pakete">2.1. Benötigte Software und Pakete</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02.html#Betriebssystem">2.1.1. Betriebssystem</a></span></dt><dt><span class="sect2"><a href="ch02.html#Pakete">2.1.2. Pakete</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s02.html">2.2. Manuelle Installation des Programmpaketes</a></span></dt><dt><span class="sect1"><a href="ch02s03.html">2.3. Lx-Office-Konfigurationsdatei</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s03.html#config.config-file.introduction">2.3.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s03.html#config.config-file.sections-parameters">2.3.2. Abschnitte und Parameter</a></span></dt><dt><span class="sect2"><a href="ch02s03.html#config.config-file.prior-versions">2.3.3. Versionen vor 2.6.3</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s04.html">2.4. Anpassung der PostgreSQL-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s04.html#Zeichens%C3%A4tze-die-Verwendung-von-UTF-8">2.4.1. Zeichensätze/die Verwendung von UTF-8</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#%C3%84nderungen-an-Konfigurationsdateien">2.4.2. Änderungen an Konfigurationsdateien</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#Erweiterung-f%C3%BCr-servergespeicherte-Prozeduren">2.4.3. Erweiterung für servergespeicherte Prozeduren</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#Datenbankbenutzer-anlegen">2.4.4. Datenbankbenutzer anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s05.html">2.5. Webserver-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s05.html#d0e511">2.5.1. Grundkonfiguration mittels CGI</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#Apache-Konfiguration.FCGI">2.5.2. Konfiguration für FastCGI/FCGI</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s06.html">2.6. Der Task-Server</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s06.html#Konfiguration-des-Task-Servers">2.6.1. Verfügbare und notwendige Konfigurationsoptionen</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#Einbinden-in-den-Boot-Prozess">2.6.2. Automatisches Starten des Task-Servers beim Booten</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#Prozesskontrolle">2.6.3. Wie der Task-Server gestartet und beendet wird</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s07.html">2.7. Benutzerauthentifizierung und Administratorpasswort</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s07.html#Grundlagen-zur-Benutzerauthentifizierung">2.7.1. Grundlagen zur Benutzerauthentifizierung</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Administratorpasswort">2.7.2. Administratorpasswort</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Authentifizierungsdatenbank">2.7.3. Authentifizierungsdatenbank</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Passwort%C3%BCberpr%C3%BCfung">2.7.4. Passwortüberprüfung</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Name-des-Session-Cookies">2.7.5. Name des Session-Cookies</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Anlegen-der-Authentifizierungsdatenbank">2.7.6. Anlegen der Authentifizierungsdatenbank</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s08.html">2.8. Benutzer- und Gruppenverwaltung</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s08.html#Zusammenh%C3%A4nge">2.8.1. Zusammenhänge</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Datenbanken-anlegen">2.8.2. Datenbanken anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Gruppen-anlegen">2.8.3. Gruppen anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Benutzer-anlegen">2.8.4. Benutzer anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Gruppenmitgliedschaften-verwalten">2.8.5. Gruppenmitgliedschaften verwalten</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Migration-alter-Installationen">2.8.6. Migration alter Installationen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s09.html">2.9. Drucken mit Lx-Office</a></span></dt><dt><span class="sect1"><a href="ch02s10.html">2.10. OpenDocument-Vorlagen</a></span></dt><dt><span class="sect1"><a href="ch02s11.html">2.11. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
+ EUR</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s11.html#config.eur.introduction">2.11.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#config.eur.parameters">2.11.2. Konfigurationsparameter</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#config.eur.setting-parameters">2.11.3. Festlegen der Parameter</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#config.eur.inventory-system-perpetual">2.11.4. Bemerkungen zu Bestandsmethode</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#config.eur.knonw-issues">2.11.5. Bekannte Probleme</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s12.html">2.12. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s12.html#config.skr04-update-3804.introduction">2.12.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#config.skr04-update-3804.create-chart">2.12.2. Konto 3804 manuell anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s13.html">2.13. Lx-Office 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.reports">3.1.3. Auflisten</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.task-server">3.1.4. Erzeugung der eigentlichen Rechnungen</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.create-for-current-month">3.1.5. Erste Rechnung für aktuellen Monat erstellen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s02.html">3.2. Dokumentenvorlagen und verfügbare Variablen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.einf%C3%BChrung">3.2.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.variablen-ausgeben">3.2.2. Variablen ausgeben</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.verwendung-in-druckbefehlen">3.2.3. Verwendung in Druckbefehlen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.tag-style">3.2.4. Anfang und Ende der Tags verändern</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.zuordnung-dateinamen">3.2.5. Zuordnung von den Dateinamen zu den Funktionen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.dateinamen-erweitert">3.2.6. Sprache, Drucker und E-Mail</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.allgemeine-variablen">3.2.7. Allgemeine Variablen, die in allen Vorlagen vorhanden
+ sind</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.invoice">3.2.8. Variablen in Rechnungen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.dunning">3.2.9. Variablen in Mahnungen und Rechnungen über Mahngebühren</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.andere-vorlagen">3.2.10. Variablen in anderen Vorlagen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.bloecke">3.2.11. Blöcke, bedingte Anweisungen und Schleifen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.markup">3.2.12. Markup-Code zur Textformatierung innerhalb von
+ Formularen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s03.html">3.3. Excel-Vorlagen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s03.html#excel-templates.summary">3.3.1. Zusammenfassung</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.usage">3.3.2. Bedienung</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.syntax">3.3.3. Variablensyntax</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.limitations">3.3.4. Einschränkungen</a></span></dt></dl></dd></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#d0e4350">4.1.1. Wie sehen globale Variablen in Perl aus?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e4451">4.1.2. Warum sind globale Variablen ein Problem?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e4484">4.1.3. Kanonische globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e4864">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><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.known-issues">4.2.5. Bekannte Probleme</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.dbupgrade-tool">4.3.3. 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.file-structure">4.4.2. File structure</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s05.html">4.5. Stil-Richtlinien</a></span></dt><dt><span class="sect1"><a href="ch04s06.html">4.6. Dokumentation erstellen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s06.html#devel.build-doc.introduction">4.6.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s06.html#devel.build-doc.required-software">4.6.2. Benötigte Software</a></span></dt><dt><span class="sect2"><a href="ch04s06.html#devel.build-doc.build">4.6.3. PDFs und HTML-Seiten erstellen</a></span></dt><dt><span class="sect2"><a href="ch04s06.html#devel.build-doc.repository">4.6.4. Einchecken in das Git-Repository</a></span></dt></dl></dd></dl></dd></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Kapitel 1. Aktuelle Hinweise</td></tr></table></div></body></html>
\ No newline at end of file