Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision f8309cb7

Von Moritz Bunkus vor etwa 13 Jahren hinzugefügt

  • ID f8309cb7bc2507c19e17ec59c6c66dd7f49ea351
  • Vorgänger 656b6e1d
  • Nachfolger 15f021a6

Erzeugte PDF- und HTML-Varianten der Dokumentation

Unterschiede anzeigen:

doc/html/ch01.html
<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>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<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>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Lx-Office: Installation, Konfiguration, Entwicklung&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;Kapitel 2. Installation und Grundkonfiguration</td></tr></table></div></body></html>
doc/html/ch02.html
<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>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<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
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
bereitstellt. Das Paket ist auf <a class="ulink" href="https://sourceforge.net/projects/lx-office/files/Lx-Office%20ERP/2.6.2/" 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
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
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>,
<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
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
sind auch in 2.6.1 weiterhin mit ausgeliefert, wurden in einer
zuk?nftigen Version aber aus dem Paket entfernt werden. Es wird
empfohlen diese Module zusammen mit den anderen als Bibliotheken zu
installieren.</p><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</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-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>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 1. Aktuelle Hinweise&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.2. Manuelle Installation des Programmpaketes</td></tr></table></div></body></html>
doc/html/ch02s02.html
<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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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.2.tgz</pre><p>Ver?ndern Sie evtl. noch den Namen des Verzeichnisses mit</p><pre class="programlisting">mv lxoffice-erp/ 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. Der
Benutzername ist 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
Verzeichnisse auf einem Debian/Ubuntu-System:</p><pre class="programlisting">chown -R www-data lx-office-erp/users lx-office-erp/spool lx-office-erp/webdav</pre><p>Weiterhin muss der Webserver-Benutzer im Verzeichnis
<code class="filename">templates</code> Verzeichnisse f?r jeden neuen Benutzer,
der in lx-office angelegt wird, anlegen d?rfen:</p><pre class="programlisting">chgrp www-data lx-office-erp/templates
chmod g+w lx-office-erp/templates</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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 2. Installation und Grundkonfiguration&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.3. Lx-Office-Konfigurationsdatei</td></tr></table></div></body></html>
doc/html/ch02s03.html
<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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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
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 Default-Datei. Die Hauptkonfigurationsdatei muss also nur die Abschintte 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 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>
</p></li><li class="listitem"><p>
<code class="literal">authentication/database</code>
</p></li><li class="listitem"><p>
<code class="literal">authentication/ldap</code>
</p></li><li class="listitem"><p>
<code class="literal">system</code>
</p></li><li class="listitem"><p>
<code class="literal">features</code>
</p></li><li class="listitem"><p>
<code class="literal">paths</code>
</p></li><li class="listitem"><p>
<code class="literal">applications</code>
</p></li><li class="listitem"><p>
<code class="literal">environment</code>
</p></li><li class="listitem"><p>
<code class="literal">print_templates</code>
</p></li><li class="listitem"><p>
<code class="literal">task_server</code>
</p></li><li class="listitem"><p>
<code class="literal">periodic_invoices</code>
</p></li><li class="listitem"><p>
<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 einzustellen oder zu kontrollieren sind, sind:
</p><pre class="programlisting">[authentication]
admin_password = geheim
[authentication/database]
host = localhost
port = 5432
db = lxerp_auth
user = postgres
password =
[system]
eur = 1
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>, 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 <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 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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s04.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.2. Manuelle Installation des Programmpaketes&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.4. Anpassung der PostgreSQL-Konfiguration</td></tr></table></div></body></html>
doc/html/ch02s04.html
<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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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 &#8220;template1&#8221; &#8220;UTF8&#8221;, 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
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
Distribution in verschiedenen Verzeichnissen liegen kann (z.B.
<code class="filename">/var/lib/pgsql/data/</code> oder
<code class="filename">/etc/postgresql/</code>, muss sichergestellt werden, dass
TCP/IP-Verbindungen aktiviert sind. Das Verhalten wird ?ber den
Parameter <code class="varname">listen_address</code> gesteuert. Laufen
PostgreSQL und Lx-Office auf demselben Rechner, so kann dort der Wert
<code class="literal">localhost</code> verwendet werden. Andernfalls m?ssen
Datenbankverbindungen auch von anderen Rechnern aus zugelassen werden,
was mit dem Wert <code class="literal">*</code> geschieht.</p><p>In der Datei <code class="filename">pg_hba.conf</code>, die im gleichen
Verzeichnis wie die <code class="filename">postgresql.conf</code> zu finden sein
sollte, m?ssen die 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
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 &#8220;postgres&#8221; 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 &#8220;postgres&#8221; 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 &#8220;postgres&#8221; auf &#8220;lxoffice&#8221; 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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s05.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.3. Lx-Office-Konfigurationsdatei&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.5. Webserver-Konfiguration</td></tr></table></div></body></html>
doc/html/ch02s05.html
<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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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="d0e508"></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
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/
&lt;Directory /var/www/lx-erp&gt;
Options ExecCGI
Includes FollowSymlinks
&lt;/Directory&gt;
&lt;Directory /var/www/lx-erp/users&gt;
Order Deny,Allow
Deny from All
&lt;/Directory&gt;</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 &#8216;<code class="literal">+</code>&#8217; 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
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
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
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
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 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 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
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
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
("<code class="filename">/path/to/lx-office-erp</code>") und der URL
unterschieden, unter der Lx-Office im Webbrowser erreichbar ist
("<code class="filename">/url/for/lx-office-erp</code>").</p><p>Folgender Konfigurationsschnipsel funktioniert mit
mod_fastcgi:</p><pre class="programlisting">AliasMatch ^/url/for/lx-office-erp/[^/]+\.pl /path/to/lx-office-erp/dispatcher.fcgi
Alias /url/for/lx-office-erp/ /path/to/lx-office-erp/
&lt;Directory /path/to/lx-office-erp&gt;
AllowOverride All
Options ExecCGI Includes FollowSymlinks
Order Allow,Deny
Allow from All
&lt;/Directory&gt;
&lt;DirectoryMatch /path/to/lx-office-erp/users&gt;
Order Deny,Allow
Deny from All
&lt;/DirectoryMatch&gt;</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/
FcgidMaxRequestLen 10485760
&lt;Directory /path/to/lx-office-erp&gt;
AllowOverride All
Options ExecCGI Includes FollowSymlinks
Order Allow,Deny
Allow from All
&lt;/Directory&gt;
&lt;DirectoryMatch /path/to/lx-office-erp/users&gt;
Order Deny,Allow
Deny from All
&lt;/DirectoryMatch&gt;</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
Alias /url/for/lx-office-erp /path/to/lx-office-erp
# Zugriff mit mod_fcgid:
AliasMatch ^/url/for/lx-office-erp-fcgid/[^/]+\.pl /path/to/lx-office-erp/dispatcher.fpl
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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s06.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.4. Anpassung der PostgreSQL-Konfiguration&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.6. Der Task-Server</td></tr></table></div></body></html>
doc/html/ch02s06.html
<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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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
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 zu verwendende Datenbankverbindung auszulesen. Der Benutzer muss in
der Administration angelegt werden. Diese Option muss angegeben werden.
</p></dd><dt><span class="term">
<code class="varname">run_as</code>
</span></dt><dd><p>
Wird der Server vom Systembenutzer <code class="literal">root</code> gestartet, so wechselt er auf den mit <code class="literal">run_as</code>
angegebenen Systembenutzer. Der Systembenutzer muss dieselben 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">
<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
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="d0e692"></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
# 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
start</strong></span>
</p></div><div class="sect3" title="2.6.2.2. Upstart-basierende Systeme (z.B. Ubuntu)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e722"></a>2.6.2.2. Upstart-basierende Systeme (z.B. Ubuntu)</h4></div></div></div><p>Kopieren Sie die Datei
<code class="filename">scripts/boot/upstart/lx-office-task-server.conf</code>
nach <code class="filename">/etc/init/lx-office-task-server.conf</code>.
Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
<code class="literal">exec ....</code>).</p><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet werden: <span class="command"><strong>service lx-office-task-server
start</strong></span>
</p></div></div><div class="sect2" title="2.6.3. Wie der Task-Server gestartet und beendet wird"><div class="titlepage"><div><div><h3 class="title"><a name="Prozesskontrolle"></a>2.6.3. Wie der Task-Server gestartet und beendet wird</h3></div></div></div><p>Der Task-Server wird wie folgt kontrolliert:</p><pre class="programlisting">./scripts/task_server.pl Befehl</pre><p>
<code class="literal">Befehl</code> ist dabei eine der folgenden
Optionen:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<code class="literal">start</code> startet eine neue Instanz des
Task-Servers. Die Prozess-ID wird innerhalb des
<code class="filename">users</code>-Verzeichnisses abgelegt.</p></li><li class="listitem"><p>
<code class="literal">stop</code> beendet einen laufenden
Task-Server.</p></li><li class="listitem"><p>
<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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s07.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.5. Webserver-Konfiguration&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.7. Benutzerauthentifizierung und Administratorpasswort</td></tr></table></div></body></html>
doc/html/ch02s07.html
<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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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 &#8220;Authentifizierungsdatenbank&#8221; 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
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
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
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
einer Version vor v2.6.0 angelegt werden. Eine
Beispielkonfigurationsdatei
<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 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">
<code class="literal">host</code>
</span></dt><dd><p>Der Rechnername oder die IP-Adresse des Datenbankservers</p></dd><dt><span class="term">
<code class="literal">port</code>
</span></dt><dd><p>Die Portnummer des Datenbankservers, meist 5432</p></dd><dt><span class="term">
<code class="literal">db</code>
</span></dt><dd><p>Der Name der Authentifizierungsdatenbank</p></dd><dt><span class="term">
<code class="literal">user</code>
</span></dt><dd><p>Der Benutzername, mit dem sich Lx-Office beim 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 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 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 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">[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 Active-Directory-Servers. Diese Angabe ist zwingend
erforderlich.</p></dd><dt><span class="term">
<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 &#8216;<code class="literal">1</code>&#8217; setzen, andernfalls auf
&#8216;<code class="literal">0</code>&#8217; 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 &#8216;<code class="literal">sAMAccountName</code>&#8217;, f?r andere LDAP-Server hingegen &#8216;<code class="literal">uid</code>&#8217;. 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 <code class="literal">&lt;%login%&gt;</code>, so wird dieses durch den
vom Benutzer eingegebenen Benutzernamen ersetzt. Andernfalls wird der LDAP-Baum nach einem Element durchsucht, bei dem das oben
angegebene Attribut mit dem Benutzernamen identisch ist.</p></dd><dt><span class="term">
<code class="literal">bind_dn</code> und <code class="literal">bind_password</code>
</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 &#8216;<code class="literal">bind_dn</code>&#8217; entweder eine
komplette LDAP-DN wie z.B. &#8216;<code class="literal">cn=Martin Mustermann,cn=Users,dc=firmendomain</code>&#8217; auch nur der volle Name des
Benutzers eingegeben werden; in diesem Beispiel also &#8216;<code class="literal">Martin Mustermann</code>&#8217;.</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
Server existiert.</p></div><div class="sect2" title="2.7.6. Anlegen der Authentifizierungsdatenbank"><div class="titlepage"><div><div><h3 class="title"><a name="Anlegen-der-Authentifizierungsdatenbank"></a>2.7.6. Anlegen der Authentifizierungsdatenbank</h3></div></div></div><p>Nachdem alle Einstellungen in
<code class="filename">config/lx_office.conf</code> vorgenommen wurden, muss
Lx-Office die Authentifizierungsdatenbank anlegen. Dieses geschieht
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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s08.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.6. Der Task-Server&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.8. Benutzer- und Gruppenverwaltung</td></tr></table></div></body></html>
doc/html/ch02s08.html
<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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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
Informationen wie Kundendaten, Artikel, Angebote, Rechnungen etc. Um
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
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
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
angezeigt. Diese Rechte werden ebenfalls in der
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
den Datenbankzugriff den vorhin angelegten Benutzer (in unseren
Beispielen ist dies &#8216;<code class="literal">lxoffice</code>&#8217;).</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
<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 &#8216;<code class="literal">UTF-8</code>&#8217; setzen. Zus?tzlich muss beim
Anlegen der Datenbank &#8216;<code class="literal">UTF-8 Unicode</code>&#8217; 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
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
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
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
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.2 ?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
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
Benutzergruppe angelegt wird. Dieser Gruppe wird Zugriff auf alle
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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s09.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.7. Benutzerauthentifizierung und Administratorpasswort&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.9. Drucken mit Lx-Office</td></tr></table></div></body></html>
doc/html/ch02s09.html
<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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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
texlive-fonts-recommended</code>
</p><p>Diese hinteren beiden enthalten Bibliotheken und Schriftarten die
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
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:桜 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
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:
<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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s10.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.8. Benutzer- und Gruppenverwaltung&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.10. OpenDocument-Vorlagen</td></tr></table></div></body></html>
doc/html/ch02s10.html
<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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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
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 &#8216;<code class="literal">1</code>&#8217; 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 &#8220;X virtual frame buffer&#8221;
(xvfb) installiert werden. Bei Debian ist er im Paket &#8220;xvfb&#8221; 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 &#8220;X virtual frame buffer&#8221;
enthalten. Beide stehen im Abschnitt
<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
werden muss. Der Nachteil ist, dass diese Methode Python und die
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
Dokumentenvorlage enthalten sein und
&#8220;Standard.Conversion.ConvertSelfToPDF()&#8221; hei?en. Die Beispielvorlage
&#8216;<code class="literal">templates/mastertemplates/German/invoice.odt</code>&#8217;
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>
<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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s11.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.9. Drucken mit Lx-Office&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.11. Konfiguration zur Einnahmen?berschussrechnung/Bilanzierung: EUR</td></tr></table></div></body></html>
doc/html/ch02s11.html
<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. 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.11. Konfiguration zur Einnahmen?berschussrechnung/Bilanzierung: EUR</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s10.html">Zur?ck</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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 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, 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">
<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">
<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,
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 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 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. 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, funktioniert in Lx-Office aber nur unter bestimmten Bedingungen:
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 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
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 werden
im Code Variablen wie $accrual oder $cash gesetzt. Diese Codestellen wurden noch nicht angepasst, sondern nur die, wo bisher
die Konfigurationsvariable <code class="varname">$::lx_office_conf{system}-&gt;{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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s12.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.10. OpenDocument-Vorlagen&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.12. Lx-Office ERP verwenden</td></tr></table></div></body></html>
doc/html/ch02s12.html
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>2.12. 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="ch02s11.html" title="2.11. Konfiguration zur Einnahmen?berschussrechnung/Bilanzierung: EUR"><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.12. Lx-Office ERP verwenden</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s11.html">Zur?ck</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.12. Lx-Office ERP verwenden"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Lx-Office-ERP-verwenden"></a>2.12. 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="ch02s11.html">Zur?ck</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.11. Konfiguration zur Einnahmen?berschussrechnung/Bilanzierung: EUR&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;Kapitel 3. Features und Funktionen</td></tr></table></div></body></html>
doc/html/ch03.html
<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="ch02s12.html" title="2.12. 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="ch02s12.html">Zur?ck</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<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
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
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 mit dem ersten Tag der Periode) schon eine Rechnung erstellt 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 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 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 Rechnungen auch gleich ausdrucken lassen.
</p></dd></dl></div><p>
Nach Erstellung der Rechnungen kann eine E-Mail mit Informationen zu den erstellten Rechnungen verschickt werden. 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-&gt;Berichte-&gt;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 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 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="ch02s12.html">Zur?ck</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch03s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.12. Lx-Office ERP verwenden&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;3.2. Dokumentenvorlagen und verf?gbare Variablen</td></tr></table></div></body></html>
doc/html/ch03s02.html
<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>&nbsp;</td><th width="60%" align="center">Kapitel 3. Features und Funktionen</th><td width="20%" align="right">&nbsp;<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">&lt;%variablenname%&gt;</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
allerdings innerhalb einer solchen Vorlage nicht sinnvoll verwendet
werden. Wenn eine Auflistung dieser Variablen gewollt ist, so kann
diese wie folgt erhalten werden:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<code class="filename">SL/Form.pm</code> ?ffnen und am Anfang die
Zeile "<span class="command"><strong>use Data::Dumper;</strong></span>" einf?gen.</p></li><li class="listitem"><p>In <code class="filename">Form.pm</code> die Funktion
<code class="function">parse_template</code> suchen und hier die Zeile
<span class="command"><strong>print(STDERR Dumper($self));</strong></span> einf?gen.</p></li><li class="listitem"><p>Einmal per Browser die gew?nschte Vorlage "benutzen", z.B.
ein PDF f?r eine Rechnung erzeugen.</p></li><li class="listitem"><p>Im <code class="filename">error.log</code> Apache steht die Ausgabe
der Variablen <code class="varname">$self</code> in der Form <code class="varname">'key'
=&gt; '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
Tags geschrieben werden, also z.B.
<code class="varname">&lt;%variablenname%&gt;</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">&lt;%variablenname FLAG1 FLAG2%&gt;</code>. Momentan
werden die folgenden Flags unterst?tzt:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<code class="option">NOFORMAT</code> gilt nur f?r Zahlenwerte und gibt
den Wert ohne Formatierung, also ohne Tausendertrennzeichen mit
mit einem Punkt als Dezimaltrennzeichen aus. N?tzlich z.B., wenn
damit in der Vorlage z.B. von LaTeX gerechnet werden soll.</p></li><li class="listitem"><p>
<code class="option">NOESCAPE</code> unterdr?ckt das Escapen von
Sonderzeichen f?r die Vorlagensprache. Wenn also in einer
Variablen bereits g?ltiger LaTeX-Code steht und dieser von LaTeX
auch ausgewertet und nicht wortw?rtlich angezeigt werden soll, so
ist dieses Flag sinnvoll.</p></li></ul></div><p>Beispiel:</p><pre class="programlisting">&lt;%quototal NOFORMAT%&gt;</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 &lt;%if cp_phone2%&gt;&lt;%cp_phone2%&gt;&lt;%else%&gt;&lt;%cp_phone1%&gt;&lt;%end%&gt;</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
<code class="function">&lt;%customer%&gt;</code>. Da diese Form aber z.B. in
LaTeX zu Problemen f?hren kann, weil das Prozentzeichen dort
Kommentare einleitet, kann pro HTML- oder LaTeX-Dokumentenvorlage der
Stil umgestellt werden.</p><p>Dazu werden in die Datei Zeilen geschrieben, die mit dem f?r das
Format g?ltigen Kommentarzeichen anfangen, dann
<code class="function">config:</code> enthalten, die entsprechende Option
setzen und bei HTML-Dokumentenvorlagen mit dem Kommentarendzeichen
enden. Beispiel f?r LaTeX:</p><pre class="programlisting">% config: tag-style=($ $)</pre><p>Dies w?rde 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">&lt;!-- config: tag-style=($ $) --&gt;</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">bin_list.ext</code>
</span></dt><dd><p>Lagerliste</p></dd><dt><span class="term">
<code class="filename">check.ext</code>
</span></dt><dd><p>?</p></dd><dt><span class="term">
<code class="filename">invoice.ext</code>
</span></dt><dd><p>Rechnung</p></dd><dt><span class="term">
<code class="filename">packing_list.ext</code>
</span></dt><dd><p>Packliste</p></dd><dt><span class="term">
<code class="filename">pick_list.ext</code>
</span></dt><dd><p>Sammelliste</p></dd><dt><span class="term">
<code class="filename">purchase_delivery_order.ext</code>
</span></dt><dd><p>Lieferschein (Einkauf)</p></dd><dt><span class="term">
<code class="filename">purcharse_order.ext</code>
</span></dt><dd><p>Bestellung an Lieferanten</p></dd><dt><span class="term">
<code class="filename">request_quotation.ext</code>
</span></dt><dd><p>Anfrage an Lieferanten</p></dd><dt><span class="term">
<code class="filename">sales_delivery_order.ext</code>
</span></dt><dd><p>Lieferschein (Verkauf)</p></dd><dt><span class="term">
<code class="filename">sales_order.ext</code>
</span></dt><dd><p>Bestellung</p></dd><dt><span class="term">
<code class="filename">sales_quotation.ext</code>
</span></dt><dd><p>Angebot an Kunden</p></dd><dt><span class="term">
<code class="filename">zahlungserinnerung.ext</code>
</span></dt><dd><p>Mahnung (Dateiname im Programm konfigurierbar)</p></dd><dt><span class="term">
<code class="filename">zahlungserinnerung_invoice.ext</code>
</span></dt><dd><p>Rechnung ?ber Mahngeb?hren (Dateiname im Programm
konfigurierbar)</p></dd></dl></div></div><div class="sect2" title="3.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>
der Vorlagenname <code class="filename">sales_order_de_lpr2.ext</code>.
Zus?tzlich k?nnen f?r E-Mails andere Vorlagen erstellt werden, diese
bekommen dann noch das K?rzel <code class="filename">_email</code>, der
vollst?ndige Vorlagenname w?re dann
<code class="filename">sales_order_email_de_lpr2.ext</code>. In allen F?llen
kann eine Standarddatei <code class="filename">default.ext</code> hinterlegt
werden. Diese wird verwendet, wenn keine der anderen Varianten
gefunden wird.</p><p>Die vollst?ndige Suchreihenfolge f?r einen Verkaufsauftrag mit
der Sprache "de" und dem Drucker "lpr2", der per E-Mail im Format PDF
verschickt wird, ist:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
<code class="filename">sales_order_email_de_lpr2.tex</code>
</p></li><li class="listitem"><p>
<code class="filename">sales_order_de_lpr2.tex</code>
</p></li><li class="listitem"><p>
<code class="filename">sales_order.tex</code>
</p></li><li class="listitem"><p>
<code class="filename">default.tex</code>
</p></li></ol></div><p>Die kurzen Varianten dieser Vorlagentitel m?ssen dann entweder
Standardwerte anzeigen, oder die angeforderten Werte selbst auswerten,
siehe dazu <a class="xref" href="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
Vorlagenautoren, die aus einer zentralen Layoutvorlage die einzelnen
Formulare einbinden m?chten.</p><div class="variablelist"><dl><dt><span class="term">
<code class="varname">template_meta.formname</code>
</span></dt><dd><p>Basisname der Vorlage. Identisch mit der <a class="link" href="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
<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">
<code class="varname">template_meta.language.output_numberformat</code>
</span></dt><dd><p>Zahlenformat der verwendeten Sprache in der Form
"<code class="constant">1.000,00</code>". Experimentell! Nur
interessant f?r Vorlagen die mit unformatierten Werten
arbeiten.</p></dd><dt><span class="term">
<code class="varname">template_meta.language.output_dateformat</code>
</span></dt><dd><p>Datumsformat der verwendeten Sprache in der Form
"<code class="constant">dd.mm.yyyy</code>". Experimentell! Nur
interessant f?r Vorlagen die mit unformatierten Werten
arbeiten.</p></dd><dt><span class="term">
<code class="varname">template_meta.format</code>
</span></dt><dd><p>Das angeforderte Format. Kann im Moment die Werte
<code class="constant">pdf</code>, <code class="constant">postscript</code>,
<code class="constant">html</code>, <code class="constant">opendocument</code>,
<code class="constant">opendocument_pdf</code> und
<code class="constant">excel</code> enthalten.</p></dd><dt><span class="term">
<code class="varname">template_meta.extension</code>
</span></dt><dd><p>Dateierweiterung, wie im Dateinamen. Wird aus
<code class="constant">format</code> entschieden.</p></dd><dt><span class="term">
<code class="varname">template_meta.media</code>
</span></dt><dd><p>Ausgabemedium. Kann zur Zeit die Werte
<code class="constant">screen</code> f?r Bildschirm,
<code class="constant">email</code> f?r E-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">
<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">
<code class="varname">account_number</code>
</span></dt><dd><p>Kontonummer</p></dd><dt><span class="term">
<code class="varname">bank</code>
</span></dt><dd><p>Name der Bank</p></dd><dt><span class="term">
<code class="varname">bank_code</code>
</span></dt><dd><p>Bankleitzahl</p></dd><dt><span class="term">
<code class="varname">bic</code>
</span></dt><dd><p>Bank-Identifikations-Code (Bank Identifier Code,
BIC)</p></dd><dt><span class="term">
<code class="varname">business</code>
</span></dt><dd><p>Kunden-/Lieferantentyp</p></dd><dt><span class="term">
<code class="varname">city</code>
</span></dt><dd><p>Stadt</p></dd><dt><span class="term">
<code class="varname">contact</code>
</span></dt><dd><p>Kontakt</p></dd><dt><span class="term">
<code class="varname">country</code>
</span></dt><dd><p>Land</p></dd><dt><span class="term">
<code class="varname">cp_email</code>
</span></dt><dd><p>Email des Ansprechpartners</p></dd><dt><span class="term">
<code class="varname">cp_givenname</code>
</span></dt><dd><p>Vorname des Ansprechpartners</p></dd><dt><span class="term">
<code class="varname">cp_greeting</code>
</span></dt><dd><p>Anrede des Ansprechpartners</p></dd><dt><span class="term">
<code class="varname">cp_name</code>
</span></dt><dd><p>Name des Ansprechpartners</p></dd><dt><span class="term">
<code class="varname">cp_phone1</code>
</span></dt><dd><p>Telefonnummer 1 des Ansprechpartners</p></dd><dt><span class="term">
<code class="varname">cp_phone2</code>
</span></dt><dd><p>Telefonnummer 2 des Ansprechpartners</p></dd><dt><span class="term">
<code class="varname">cp_title</code>
</span></dt><dd><p>Titel des Ansprechpartners</p></dd><dt><span class="term">
<code class="varname">creditlimit</code>
</span></dt><dd><p>Kreditlimit</p></dd><dt><span class="term">
<code class="varname">customeremail</code>
</span></dt><dd><p>Email des Kunden; nur f?r Kunden</p></dd><dt><span class="term">
<code class="varname">customerfax</code>
</span></dt><dd><p>Faxnummer des Kunden; nur f?r Kunden</p></dd><dt><span class="term">
<code class="varname">customernotes</code>
</span></dt><dd><p>Bemerkungen beim Kunden; nur f?r Kunden</p></dd><dt><span class="term">
<code class="varname">customernumber</code>
</span></dt><dd><p>Kundennummer; nur f?r Kunden</p></dd><dt><span class="term">
<code class="varname">customerphone</code>
</span></dt><dd><p>Telefonnummer des Kunden; nur f?r Kunden</p></dd><dt><span class="term">
<code class="varname">discount</code>
</span></dt><dd><p>Rabatt</p></dd><dt><span class="term">
<code class="varname">email</code>
</span></dt><dd><p>Emailadresse</p></dd><dt><span class="term">
<code class="varname">fax</code>
</span></dt><dd><p>Faxnummer</p></dd><dt><span class="term">
<code class="varname">homepage</code>
</span></dt><dd><p>Homepage</p></dd><dt><span class="term">
<code class="varname">iban</code>
</span></dt><dd><p>Internationale Kontonummer (International Bank Account
Number, IBAN)</p></dd><dt><span class="term">
<code class="varname">language</code>
</span></dt><dd><p>Sprache</p></dd><dt><span class="term">
<code class="varname">name</code>
</span></dt><dd><p>Firmenname</p></dd><dt><span class="term">
<code class="varname">payment_description</code>
</span></dt><dd><p>Name der Zahlart</p></dd><dt><span class="term">
<code class="varname">payment_terms</code>
</span></dt><dd><p>Zahlungskonditionen</p></dd><dt><span class="term">
<code class="varname">phone</code>
</span></dt><dd><p>Telefonnummer</p></dd><dt><span class="term">
<code class="varname">shiptocity</code>
</span></dt><dd><p>Stadt (Lieferadresse) <a class="link" href="ch03s02.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a>
</p></dd><dt><span class="term">
<code class="varname">shiptocontact</code>
</span></dt><dd><p>Kontakt (Lieferadresse) <a class="link" href="ch03s02.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a>
</p></dd><dt><span class="term">
<code class="varname">shiptocountry</code>
</span></dt><dd><p>Land (Lieferadresse) <a class="link" href="ch03s02.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a>
</p></dd><dt><span class="term">
<code class="varname">shiptodepartment1</code>
</span></dt><dd><p>Abteilung 1 (Lieferadresse) <a class="link" href="ch03s02.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a>
</p></dd><dt><span class="term">
<code class="varname">shiptodepartment2</code>
</span></dt><dd><p>Abteilung 2 (Lieferadresse) <a class="link" href="ch03s02.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a>
</p></dd><dt><span class="term">
<code class="varname">shiptoemail</code>
</span></dt><dd><p>Email (Lieferadresse) <a class="link" href="ch03s02.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a>
</p></dd><dt><span class="term">
<code class="varname">shiptofax</code>
</span></dt><dd><p>Fax (Lieferadresse) <a class="link" href="ch03s02.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a>
</p></dd><dt><span class="term">
<code class="varname">shiptoname</code>
</span></dt><dd><p>Firmenname (Lieferadresse) <a class="link" href="ch03s02.html#dokumentenvorlagen-und-variablen.anmerkung-shipto" title="Anmerkung">*</a>
</p></dd><dt><span class="term">
<code class="varname">shiptophone</code>
</span></dt><dd><p>Telefonnummer (Lieferadresse) <a class="link" href="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>
</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">
<code class="varname">taxnumber</code>
</span></dt><dd><p>Steuernummer</p></dd><dt><span class="term">
<code class="varname">ustid</code>
</span></dt><dd><p>Umsatzsteuer-Identifikationsnummer</p></dd><dt><span class="term">
<code class="varname">vendoremail</code>
</span></dt><dd><p>Email des Lieferanten; nur f?r Lieferanten</p></dd><dt><span class="term">
<code class="varname">vendorfax</code>
</span></dt><dd><p>Faxnummer des Lieferanten; nur f?r Lieferanten</p></dd><dt><span class="term">
<code class="varname">vendornotes</code>
</span></dt><dd><p>Bemerkungen beim Lieferanten; nur f?r Lieferanten</p></dd><dt><span class="term">
<code class="varname">vendornumber</code>
</span></dt><dd><p>Lieferantennummer; nur f?r Lieferanten</p></dd><dt><span class="term">
<code class="varname">vendorphone</code>
</span></dt><dd><p>Telefonnummer des Lieferanten; nur f?r
Lieferanten</p></dd><dt><span class="term">
<code class="varname">zipcode</code>
</span></dt><dd><p>Postleitzahl</p></dd></dl></div><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="../../../../system/docbook-xsl/images/note.png"></td><th align="left"><a name="dokumentenvorlagen-und-variablen.anmerkung-shipto"></a>Anmerkung</th></tr><tr><td align="left" valign="top"><p>Anmerkung: Sind die <code class="varname">shipto*</code>-Felder in den
Stammdaten nicht eingetragen, so haben die Variablen
<code class="varname">shipto*</code> den gleichen Wert wie die die
entsprechenden Variablen der Lieferdaten. Das bedeutet, dass sich
einige <code class="varname">shipto*</code>-Variablen so nicht in den
Stammdaten wiederfinden sondern schlicht Kopien der
Lieferdatenvariablen sind (z.B.
<code class="varname">shiptocontact</code>).</p></td></tr></table></div></div><div class="sect3" title="3.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>
</span></dt><dd><p>Firmennummer</p></dd><dt><span class="term">
<code class="varname">employee_company</code>
</span></dt><dd><p>Firmenname</p></dd><dt><span class="term">
<code class="varname">employee_co_ustid</code>
</span></dt><dd><p>Usatzsteuer-Identifikationsnummer</p></dd><dt><span class="term">
<code class="varname">employee_duns</code>
</span></dt><dd><p>DUNS-Nummer</p></dd><dt><span class="term">
<code class="varname">employee_email</code>
</span></dt><dd><p>Email</p></dd><dt><span class="term">
<code class="varname">employee_fax</code>
</span></dt><dd><p>Fax</p></dd><dt><span class="term">
<code class="varname">employee_name</code>
</span></dt><dd><p>voller Name</p></dd><dt><span class="term">
<code class="varname">employee_signature</code>
</span></dt><dd><p>Signatur</p></dd><dt><span class="term">
<code class="varname">employee_taxnumber</code>
</span></dt><dd><p>Steuernummer</p></dd><dt><span class="term">
<code class="varname">employee_tel</code>
</span></dt><dd><p>Telefonnummer</p></dd></dl></div></div><div class="sect3" title="3.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>
</span></dt><dd><p>Firmennummer</p></dd><dt><span class="term">
<code class="varname">salesman_company</code>
</span></dt><dd><p>Firmenname</p></dd><dt><span class="term">
<code class="varname">salesman_co_ustid</code>
</span></dt><dd><p>Usatzsteuer-Identifikationsnummer</p></dd><dt><span class="term">
<code class="varname">salesman_duns</code>
</span></dt><dd><p>DUNS-Nummer</p></dd><dt><span class="term">
<code class="varname">salesman_email</code>
</span></dt><dd><p>Email</p></dd><dt><span class="term">
<code class="varname">salesman_fax</code>
</span></dt><dd><p>Fax</p></dd><dt><span class="term">
<code class="varname">salesman_name</code>
</span></dt><dd><p>voller Name</p></dd><dt><span class="term">
<code class="varname">salesman_signature</code>
</span></dt><dd><p>Signatur</p></dd><dt><span class="term">
<code class="varname">salesman_taxnumber</code>
</span></dt><dd><p>Steuernummer</p></dd><dt><span class="term">
<code class="varname">salesman_tel</code>
</span></dt><dd><p>Telefonnummer</p></dd></dl></div></div><div class="sect3" title="3.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>
</span></dt><dd><p>zu versteuernder Betrag</p></dd><dt><span class="term">
<code class="varname">taxdescription</code>
</span></dt><dd><p>Name der Steuer</p></dd><dt><span class="term">
<code class="varname">taxrate</code>
</span></dt><dd><p>Steuersatz</p></dd></dl></div></div></div><div class="sect2" title="3.2.8. Variablen in Rechnungen"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.invoice"></a>3.2.8. Variablen in Rechnungen</h3></div></div></div><div class="sect3" title="3.2.8.1. Allgemeine Variablen"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.invoice-allgemein"></a>3.2.8.1. Allgemeine Variablen</h4></div></div></div><div class="variablelist"><dl><dt><span class="term">
<code class="varname">creditremaining</code>
</span></dt><dd><p>Verbleibender Kredit</p></dd><dt><span class="term">
<code class="varname">currency</code>
</span></dt><dd><p>W?hrung</p></dd><dt><span class="term">
<code class="varname">cusordnumber</code>
</span></dt><dd><p>Bestellnummer beim Kunden</p></dd><dt><span class="term">
<code class="varname">deliverydate</code>
</span></dt><dd><p>Lieferdatum</p></dd><dt><span class="term">
<code class="varname">duedate</code>
</span></dt><dd><p>F?lligkeitsdatum</p></dd><dt><span class="term">
<code class="varname">globalprojectnumber</code>
</span></dt><dd><p>Projektnummer des ganzen Beleges</p></dd><dt><span class="term">
<code class="varname">globalprojectdescription</code>
</span></dt><dd><p>Projekbeschreibung des ganzen Beleges</p></dd><dt><span class="term">
<code class="varname">intnotes</code>
</span></dt><dd><p>Interne Bemerkungen</p></dd><dt><span class="term">
<code class="varname">invdate</code>
</span></dt><dd><p>Rechnungsdatum</p></dd><dt><span class="term">
<code class="varname">invnumber</code>
</span></dt><dd><p>Rechnungsnummer</p></dd><dt><span class="term">
<code class="varname">invtotal</code>
</span></dt><dd><p>gesamter Rechnungsbetrag</p></dd><dt><span class="term">
<code class="varname">notes</code>
</span></dt><dd><p>Bemerkungen der Rechnung</p></dd><dt><span class="term">
<code class="varname">orddate</code>
</span></dt><dd><p>Auftragsdatum</p></dd><dt><span class="term">
<code class="varname">ordnumber</code>
</span></dt><dd><p>Auftragsnummer, wenn die Rechnung aus einem Auftrag
erstellt wurde</p></dd><dt><span class="term">
<code class="varname">payment_description</code>
</span></dt><dd><p>Name der Zahlart</p></dd><dt><span class="term">
<code class="varname">payment_terms</code>
</span></dt><dd><p>Zahlungskonditionen</p></dd><dt><span class="term">
<code class="varname">quodate</code>
</span></dt><dd><p>Angebotsdatum</p></dd><dt><span class="term">
<code class="varname">quonumber</code>
</span></dt><dd><p>Angebotsnummer</p></dd><dt><span class="term">
<code class="varname">shippingpoint</code>
</span></dt><dd><p>Versandort</p></dd><dt><span class="term">
<code class="varname">shipvia</code>
</span></dt><dd><p>Transportmittel</p></dd><dt><span class="term">
<code class="varname">subtotal</code>
</span></dt><dd><p>Zwischensumme aller Posten ohne Steuern</p></dd><dt><span class="term">
<code class="varname">total</code>
</span></dt><dd><p>Restsumme der Rechnung (Summe abz?glich bereits
bezahlter Posten)</p></dd><dt><span class="term">
<code class="varname">transaction_description</code>
</span></dt><dd><p>Vorgangsbezeichnung</p></dd><dt><span class="term">
<code class="varname">transdate</code>
</span></dt><dd><p>Auftragsdatum wenn die Rechnung aus einem Auftrag
erstellt wurde</p></dd></dl></div></div><div class="sect3" title="3.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>
</span></dt><dd><p>Artikelbeschreibung</p></dd><dt><span class="term">
<code class="varname">discount</code>
</span></dt><dd><p>Rabatt als Betrag</p></dd><dt><span class="term">
<code class="varname">discount_sub</code>
</span></dt><dd><p>Zwischensumme mit Rabatt</p></dd><dt><span class="term">
<code class="varname">drawing</code>
</span></dt><dd><p>Zeichnung</p></dd><dt><span class="term">
<code class="varname">ean</code>
</span></dt><dd><p>EAN-Code</p></dd><dt><span class="term">
<code class="varname">image</code>
</span></dt><dd><p>Grafik</p></dd><dt><span class="term">
<code class="varname">linetotal</code>
</span></dt><dd><p>Zeilensumme (Anzahl * Einzelpreis)</p></dd><dt><span class="term">
<code class="varname">longdescription</code>
</span></dt><dd><p>Langtext</p></dd><dt><span class="term">
<code class="varname">microfiche</code>
</span></dt><dd><p>Mikrofilm</p></dd><dt><span class="term">
<code class="varname">netprice</code>
</span></dt><dd><p>Nettopreis</p></dd><dt><span class="term">
<code class="varname">nodiscount_linetotal</code>
</span></dt><dd><p>Zeilensumme ohne Rabatt</p></dd><dt><span class="term">
<code class="varname">nodiscount_sub</code>
</span></dt><dd><p>Zwischensumme ohne Rabatt</p></dd><dt><span class="term">
<code class="varname">number</code>
</span></dt><dd><p>Artikelnummer</p></dd><dt><span class="term">
<code class="varname">ordnumber_oe</code>
</span></dt><dd><p>Auftragsnummer des Originalauftrags, wenn die Rechnung
aus einem Sammelauftrag erstellt wurde</p></dd><dt><span class="term">
<code class="varname">p_discount</code>
</span></dt><dd><p>Rabatt in Prozent</p></dd><dt><span class="term">
<code class="varname">partnotes</code>
</span></dt><dd><p>Die beim Artikel gespeicherten Bemerkungen</p></dd><dt><span class="term">
<code class="varname">partsgroup</code>
</span></dt><dd><p>Warengruppe</p></dd><dt><span class="term">
<code class="varname">price_factor</code>
</span></dt><dd><p>Der Preisfaktor als Zahl, sofern einer eingestellt
ist</p></dd><dt><span class="term">
<code class="varname">price_factor_name</code>
</span></dt><dd><p>Der Name des Preisfaktors, sofern einer eingestellt
ist</p></dd><dt><span class="term">
<code class="varname">projectnumber</code>
</span></dt><dd><p>Projektnummer</p></dd><dt><span class="term">
<code class="varname">projectdescription</code>
</span></dt><dd><p>Projektbeschreibung</p></dd><dt><span class="term">
<code class="varname">qty</code>
</span></dt><dd><p>Anzahl</p></dd><dt><span class="term">
<code class="varname">reqdate</code>
</span></dt><dd><p>Lieferdatum</p></dd><dt><span class="term">
<code class="varname">runningnumber</code>
</span></dt><dd><p>Position auf der Rechnung (1, 2, 3...)</p></dd><dt><span class="term">
<code class="varname">sellprice</code>
</span></dt><dd><p>Verkaufspreis</p></dd><dt><span class="term">
<code class="varname">serialnumber</code>
</span></dt><dd><p>Seriennummer</p></dd><dt><span class="term">
<code class="varname">tax_rate</code>
</span></dt><dd><p>Steuersatz</p></dd><dt><span class="term">
<code class="varname">transdate_oe</code>
</span></dt><dd><p>Auftragsdatum des Originalauftrags, wenn die Rechnung
aus einem Sammelauftrag erstellt wurde</p></dd><dt><span class="term">
<code class="varname">unit</code>
</span></dt><dd><p>Einheit</p></dd><dt><span class="term">
<code class="varname">weight</code>
</span></dt><dd><p>Gewicht</p></dd></dl></div><p>F?r jeden Posten gibt es ein Unterarray mit den Informationen
?ber Lieferanten und Lieferantenartikelnummer. 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">
<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">
<code class="varname">payment</code>
</span></dt><dd><p>Betrag</p></dd><dt><span class="term">
<code class="varname">paymentaccount</code>
</span></dt><dd><p>Konto</p></dd><dt><span class="term">
<code class="varname">paymentdate</code>
</span></dt><dd><p>Datum</p></dd><dt><span class="term">
<code class="varname">paymentmemo</code>
</span></dt><dd><p>Memo</p></dd><dt><span class="term">
<code class="varname">paymentsource</code>
</span></dt><dd><p>Beleg</p></dd></dl></div></div><div class="sect3" title="3.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
<code class="varname">vc_cvar_</code> und dem vom Benutzer festgelegten
Variablennamen zusammen.</p><p>Beispiel: Der Benutzer hat eine Variable namens
<code class="varname">number_of_employees</code> definiert, die die Anzahl der
Mitarbeiter des Unternehmens enth?lt. Diese Variable steht dann
unter dem Namen <code class="varname">vc_cvar_number_of_employees</code> zur
Verf?gung.</p></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">
<code class="varname">dunning_date</code>
</span></dt><dd><p>Datum der Mahnung</p></dd><dt><span class="term">
<code class="varname">dunning_duedate</code>
</span></dt><dd><p>F?lligkeitsdatum f?r diese Mahhnung</p></dd><dt><span class="term">
<code class="varname">dunning_id</code>
</span></dt><dd><p>Mahnungsnummer</p></dd><dt><span class="term">
<code class="varname">fee</code>
</span></dt><dd><p>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>
</span></dt><dd><p>Gesamter noch zu zahlender Betrag als
<code class="function">fee</code> + <code class="function">total_interest</code>
+ <code class="function">total_open_amount</code>
</p></dd><dt><span class="term">
<code class="varname">total_interest</code>
</span></dt><dd><p>Zinsen per anno ?ber alle Rechnungen</p></dd><dt><span class="term">
<code class="varname">total_open_amount</code>
</span></dt><dd><p>Summe ?ber alle offene Betr?ge der Rechnungen</p></dd></dl></div></div><div class="sect3" title="3.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">
<code class="varname">dn_dunning_date</code>
</span></dt><dd><p>Datum der Mahnung</p></dd><dt><span class="term">
<code class="varname">dn_dunning_duedate</code>
</span></dt><dd><p>F?lligkeitsdatum der Mahnung</p></dd><dt><span class="term">
<code class="varname">dn_fee</code>
</span></dt><dd><p>Kummulative Mahngeb?hr</p></dd><dt><span class="term">
<code class="varname">dn_interest</code>
</span></dt><dd><p>Zinsen per anno f?r diese Rechnung</p></dd><dt><span class="term">
<code class="varname">dn_invnumber</code>
</span></dt><dd><p>Rechnungsnummer</p></dd><dt><span class="term">
<code class="varname">dn_linetotal</code>
</span></dt><dd><p>Noch zu zahlender Betrag (ergibt sich aus
<code class="varname">dn_open_amount</code> + <code class="varname">dn_fee</code>
+ <code class="varname">dn_interest</code>)</p></dd><dt><span class="term">
<code class="varname">dn_netamount</code>
</span></dt><dd><p>Rechnungssumme (netto)</p></dd><dt><span class="term">
<code class="varname">dn_open_amount</code>
</span></dt><dd><p>Offener Rechnungsbetrag</p></dd><dt><span class="term">
<code class="varname">dn_ordnumber</code>
</span></dt><dd><p>Bestellnummer</p></dd><dt><span class="term">
<code class="varname">dn_transdate</code>
</span></dt><dd><p>Rechnungsdatum</p></dd><dt><span class="term">
<code class="varname">dn_curr</code>
</span></dt><dd><p>W?hrung, in der die Rechnung erstellt wurde. (Die
Rechnungsbetr?ge sind aber immer in der Hauptw?hrung)</p></dd></dl></div></div><div class="sect3" title="3.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">
<code class="varname">duedate</code>
</span></dt><dd><p>F?lligkeitsdatum der Rechnung</p></dd><dt><span class="term">
<code class="varname">dunning_id</code>
</span></dt><dd><p>Mahnungsnummer</p></dd><dt><span class="term">
<code class="varname">fee</code>
</span></dt><dd><p>Mahngeb?hren</p></dd><dt><span class="term">
<code class="varname">interest</code>
</span></dt><dd><p>Zinsen</p></dd><dt><span class="term">
<code class="varname">invamount</code>
</span></dt><dd><p>Rechnungssumme (ergibt sich aus <code class="varname">fee</code> +
<code class="varname">interest</code>)</p></dd><dt><span class="term">
<code class="varname">invdate</code>
</span></dt><dd><p>Rechnungsdatum</p></dd><dt><span class="term">
<code class="varname">invnumber</code>
</span></dt><dd><p>Rechnungsnummer</p></dd></dl></div></div></div><div class="sect2" title="3.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="d0e3643"></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
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">
<code class="varname">quonumber</code>
</span></dt><dd><p>Angebots- bzw. Anfragenummer</p></dd><dt><span class="term">
<code class="varname">reqdate</code>
</span></dt><dd><p>G?ltigkeitsdatum (bei Angeboten) bzw. Lieferdatum (bei
Preisanfragen)</p></dd><dt><span class="term">
<code class="varname">transdate</code>
</span></dt><dd><p>Angebots- bzw. Anfragedatum</p></dd></dl></div></div><div class="sect3" title="3.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>
</span></dt><dd><p>Lieferdatum</p></dd><dt><span class="term">
<code class="varname">transdate</code>
</span></dt><dd><p>Auftragsdatum</p></dd></dl></div></div><div class="sect3" title="3.2.10.4. Lieferscheine (Verkauf und Einkauf)"><div class="titlepage"><div><div><h4 class="title"><a name="dokumentenvorlagen-und-variablen.andere-vorlagen-delivery-orders"></a>3.2.10.4. Lieferscheine (Verkauf und Einkauf)</h4></div></div></div><div class="variablelist"><dl><dt><span class="term">
<code class="varname">cusordnumber</code>
</span></dt><dd><p>Bestellnummer des Kunden (im Verkauf) bzw. Bestellnummer
des Lieferanten (im Einkauf)</p></dd><dt><span class="term">
<code class="varname">donumber</code>
</span></dt><dd><p>Lieferscheinnummer</p></dd><dt><span class="term">
<code class="varname">transdate</code>
</span></dt><dd><p>Lieferscheindatum</p></dd></dl></div><p>F?r jede Position eines Lieferscheines gibt es ein Unterarray
mit den Informationen dar?ber, von welchem Lager und Lagerplatz aus
die Waren verschickt wurden (Verkaufslieferscheine) bzw. auf welchen
Lagerplatz sie eingelagert wurden. Diese m?ssen mittels einer
<code class="function">foreach</code>-Schleife ausgegeben werden. Diese
Variablen sind:</p><div class="variablelist"><dl><dt><span class="term">
<code class="varname">si_bin</code>
</span></dt><dd><p>Lagerplatz</p></dd><dt><span class="term">
<code class="varname">si_chargenumber</code>
</span></dt><dd><p>Chargennummer</p></dd><dt><span class="term">
<code class="varname">si_bestbefore</code>
</span></dt><dd><p>Mindesthaltbarkeit</p></dd><dt><span class="term">
<code class="varname">si_number</code>
</span></dt><dd><p>Artikelnummer</p></dd><dt><span class="term">
<code class="varname">si_qty</code>
</span></dt><dd><p>Anzahl bzw. Menge</p></dd><dt><span class="term">
<code class="varname">si_runningnumber</code>
</span></dt><dd><p>Positionsnummer (1, 2, 3 etc)</p></dd><dt><span class="term">
<code class="varname">si_unit</code>
</span></dt><dd><p>Einheit</p></dd><dt><span class="term">
<code class="varname">si_warehouse</code>
</span></dt><dd><p>Lager</p></dd></dl></div></div><div class="sect3" title="3.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 &lt; 30
Tage</p></dd><dt><span class="term">
<code class="varname">c30total</code>
</span></dt><dd><p>Gesamtbetrag aller Rechnungen mit F?lligkeit &gt;= 30
und &lt; 60 Tage</p></dd><dt><span class="term">
<code class="varname">c60total</code>
</span></dt><dd><p>Gesamtbetrag aller Rechnungen mit F?lligkeit &gt;= 60
und &lt; 90 Tage</p></dd><dt><span class="term">
<code class="varname">c90total</code>
</span></dt><dd><p>Gesamtbetrag aller Rechnungen mit F?lligkeit &gt;= 90
Tage</p></dd><dt><span class="term">
<code class="varname">total</code>
</span></dt><dd><p>Gesamtbetrag aller Rechnungen</p></dd></dl></div><p>Variablen f?r jede Rechnungsposition in Sammelrechnung:</p><div class="variablelist"><dl><dt><span class="term">
<code class="varname">invnumber</code>
</span></dt><dd><p>Rechnungsnummer</p></dd><dt><span class="term">
<code class="varname">invdate</code>
</span></dt><dd><p>Rechnungsdatum</p></dd><dt><span class="term">
<code class="varname">duedate</code>
</span></dt><dd><p>F?lligkeitsdatum</p></dd><dt><span class="term">
<code class="varname">amount</code>
</span></dt><dd><p>Summe der Rechnung</p></dd><dt><span class="term">
<code class="varname">open</code>
</span></dt><dd><p>Noch offener Betrag der Rechnung</p></dd><dt><span class="term">
<code class="varname">c0</code>
</span></dt><dd><p>Noch offener Rechnungsbetrag mit F?lligkeit &lt; 30
Tage</p></dd><dt><span class="term">
<code class="varname">c30</code>
</span></dt><dd><p>Noch offener Rechnungsbetrag mit F?lligkeit &gt;= 30 und
&lt; 60 Tage</p></dd><dt><span class="term">
<code class="varname">c60</code>
</span></dt><dd><p>Noch offener Rechnungsbetrag mit F?lligkeit &gt;= 60 und
&lt; 90 Tage</p></dd><dt><span class="term">
<code class="varname">c90</code>
</span></dt><dd><p>Noch offener Rechnungsbetrag mit F?lligkeit &gt;= 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>&lt;%anweisung%&gt; ... &lt;%end%&gt;</strong></span>
</p><p>Anmerkung zum <span class="command"><strong>&lt;%end%&gt;</strong></span>: Der besseren
Verst?ndlichkeit halber kann man nach dem <span class="command"><strong>end</strong></span>
noch beliebig weitere W?rter schreiben, um so zu markieren, welche
Anweisung (z.B. <span class="command"><strong>if</strong></span> oder
<span class="command"><strong>foreach</strong></span>) damit abgeschlossen wird.</p><p>Beispiel: Lautet der Beginn eines Blockes z.B.
<span class="command"><strong>&lt;%if type == "sales_quotation"%&gt;</strong></span>, so k?nnte
er mit <span class="command"><strong>&lt;%end%&gt;</strong></span> genauso abgeschlossen werden
wie mit <span class="command"><strong>&lt;%end if%&gt;</strong></span> oder auch
<span class="command"><strong>&lt;%end type == "sales_quotation"%&gt;</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">&lt;%if variablenname%&gt;
...
&lt;%end%&gt;</pre><p>Eine normale "if-then"-Bedingung. Die Zeilen zwischen dem "if"
und dem "end" werden nur ausgegeben, wenn die Variable
<code class="varname">variablenname</code> gesetzt und ungleich 0 ist.</p><p>Die Bedingung kann auch negiert werden, indem das Wort
<code class="function">not</code> nach dem <code class="filename">if</code> verwendet
wird. Beispiel:</p><pre class="programlisting">&lt;%if not cp_greeting%&gt;
...
&lt;%end%&gt;</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
gesetzt wird (Vergleich mit Zeichenkette) oder nicht (Vergleich mit
anderer Variablen). Zwei Beispiele, die beide Vergleiche
zeigen:</p><pre class="programlisting">&lt;%if var1 == "Wert"%&gt;</pre><p>Testet die Variable <code class="varname">var1</code> auf
... Dieser Diff wurde abgeschnitten, weil er die maximale Anzahl anzuzeigender Zeilen überschreitet.

Auch abrufbar als: Unified diff