Revision 3adb0cb7
Von Moritz Bunkus vor etwa 13 Jahren hinzugefügt
doc/dokumentation.xml | ||
---|---|---|
ohne große Probleme auf den derzeit aktuellen verbreiteten
|
||
Distributionen läuft.</para>
|
||
|
||
<para>Anfang 2012 sind das folgende Systeme, von denen bekannt ist, dass Lx-Office auf ihnen läuft:</para>
|
||
<para>Anfang 2012 sind das folgende Systeme, von denen bekannt ist,
|
||
dass Lx-Office auf ihnen läuft:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Ubuntu 8.04 LTS Hardy Heron, 10.04 LTS Lucid Lynx bis 11.10 Oneiric Ocelot</para>
|
||
<para>Ubuntu 8.04 LTS Hardy Heron, 10.04 LTS Lucid Lynx bis 11.10
|
||
Oneiric Ocelot</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
... | ... | |
|
||
<para>Alternativ dazu kann die normale Installation durchgeführt
|
||
werden (siehe <xref
|
||
linkend="Manuelle-Installation-des-Programmpaketes"/>), wenn vorher
|
||
linkend="Manuelle-Installation-des-Programmpaketes" />), wenn vorher
|
||
ein Kompatibilitätspaket installiert wird, das die fehlenden Pakete
|
||
bereitstellt. Das Paket ist auf <ulink
|
||
url="https://sourceforge.net/projects/lx-office/files/Lx-Office%20ERP/2.6.2/">Sourceforge</ulink>
|
||
... | ... | |
<programlisting>apt-get install libbit-vector-perl libsub-exporter-perl libclone-perl libclass-factory-util-perl</programlisting>
|
||
|
||
<para>Danach sollte der Installationscheck (siehe <xref
|
||
linkend="Pakete"/>) die enthaltenen Pakete erkennen.</para>
|
||
linkend="Pakete" />) die enthaltenen Pakete erkennen.</para>
|
||
</sect2>
|
||
|
||
<sect2 id="Pakete" xreflabel="Pakete">
|
||
... | ... | |
</sect1>
|
||
|
||
<sect1 id="config.config-file">
|
||
<title>Lx-Office-Konfigurationsdatei</title>
|
||
<title>Lx-Office-Konfigurationsdatei</title>
|
||
|
||
<sect2 id="config.config-file.introduction" xreflabel="Einführung in die Konfigurationsdatei">
|
||
<title>Einführung</title>
|
||
<sect2 id="config.config-file.introduction"
|
||
xreflabel="Einführung in die Konfigurationsdatei">
|
||
<title>Einführung</title>
|
||
|
||
<para>
|
||
Seit Lx-Office 2.6.3. gibt es nur noch eine Konfigurationsdatei die benötigt wird: <filename>config/lx_office.conf</filename> (kurz:
|
||
"die Hauptkonfigurationsdatei"). Diese muss bei der Erstinstallation von Lx-Office bzw. der Migration von älteren Versionen angelegt
|
||
werden.
|
||
</para>
|
||
<para>Seit Lx-Office 2.6.3. gibt es nur noch eine Konfigurationsdatei
|
||
die benötigt wird: <filename>config/lx_office.conf</filename> (kurz:
|
||
"die Hauptkonfigurationsdatei"). Diese muss bei der Erstinstallation
|
||
von Lx-Office bzw. der Migration von älteren Versionen angelegt
|
||
werden.</para>
|
||
|
||
<para>
|
||
Als Vorlage dient die Datei <filename>config/lx_office.conf.default</filename> (kurz: "die Default-Datei"):
|
||
</para>
|
||
<para>Als Vorlage dient die Datei
|
||
<filename>config/lx_office.conf.default</filename> (kurz: "die
|
||
Default-Datei"):</para>
|
||
|
||
<programlisting>$ cp config/lx_office.conf.default config/lx_office.conf</programlisting>
|
||
<programlisting>$ cp config/lx_office.conf.default config/lx_office.conf</programlisting>
|
||
|
||
<para>
|
||
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.
|
||
</para>
|
||
<para>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.</para>
|
||
|
||
<para>
|
||
Diese Hauptkonfigurationsdatei ist dann eine installationsspezifische Datei, d.h. sie enthält bspw. lokale Passwörter und wird auch
|
||
nicht im Versionsmanagement (git) verwaltet.
|
||
</para>
|
||
<para>Diese Hauptkonfigurationsdatei ist dann eine
|
||
installationsspezifische Datei, d.h. sie enthält bspw. lokale
|
||
Passwörter und wird auch nicht im Versionsmanagement (git)
|
||
verwaltet.</para>
|
||
|
||
<para>
|
||
Die Konfiguration ist ferner serverabhängig, d.h. für alle Mandaten, bzw. Datenbanken gleich.
|
||
</para>
|
||
</sect2>
|
||
<para>Die Konfiguration ist ferner serverabhängig, d.h. für alle
|
||
Mandaten, bzw. Datenbanken gleich.</para>
|
||
</sect2>
|
||
|
||
<sect2 id="config.config-file.sections-parameters">
|
||
<title>Abschnitte und Parameter</title>
|
||
<sect2 id="config.config-file.sections-parameters">
|
||
<title>Abschnitte und Parameter</title>
|
||
|
||
<para>
|
||
Die Konfigurationsdatei besteht aus mehreren Teilen, die entsprechend kommentiert sind:
|
||
</para>
|
||
<para>Die Konfigurationsdatei besteht aus mehreren Teilen, die
|
||
entsprechend kommentiert sind:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem><para><literal>authentication</literal></para></listitem>
|
||
<listitem><para><literal>authentication/database</literal></para></listitem>
|
||
<listitem><para><literal>authentication/ldap</literal></para></listitem>
|
||
<listitem><para><literal>system</literal></para></listitem>
|
||
<listitem><para><literal>features</literal></para></listitem>
|
||
<listitem><para><literal>paths</literal></para></listitem>
|
||
<listitem><para><literal>applications</literal></para></listitem>
|
||
<listitem><para><literal>environment</literal></para></listitem>
|
||
<listitem><para><literal>print_templates</literal></para></listitem>
|
||
<listitem><para><literal>task_server</literal></para></listitem>
|
||
<listitem><para><literal>periodic_invoices</literal></para></listitem>
|
||
<listitem><para><literal>console</literal></para></listitem>
|
||
<listitem><para><literal>debug</literal></para></listitem>
|
||
</itemizedlist>
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para><literal>authentication</literal></para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>authentication/database</literal></para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>authentication/ldap</literal></para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>system</literal></para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>features</literal></para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>paths</literal></para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>applications</literal></para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>environment</literal></para>
|
||
</listitem>
|
||
|
||
<para>
|
||
Die üblicherweise wichtigsten Parameter, die am Anfang einzustellen oder zu kontrollieren sind, sind:
|
||
</para>
|
||
<listitem>
|
||
<para><literal>print_templates</literal></para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>task_server</literal></para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>periodic_invoices</literal></para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>console</literal></para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>debug</literal></para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<programlisting>[authentication]
|
||
<para>Die üblicherweise wichtigsten Parameter, die am Anfang
|
||
einzustellen oder zu kontrollieren sind, sind:</para>
|
||
|
||
<programlisting>[authentication]
|
||
admin_password = geheim
|
||
|
||
[authentication/database]
|
||
... | ... | |
eur = 1
|
||
dbcharset = UTF-8</programlisting>
|
||
|
||
<para>
|
||
Nutzt man wiederkehrende Rechnungen, kann man unter <varname>[periodic_invoices]</varname> den Login eines Benutzers angeben, der
|
||
nach Erstellung der Rechnungen eine entsprechende E-Mail mit Informationen über die erstellten Rechnungen bekommt.
|
||
</para>
|
||
|
||
<para>
|
||
Nutzt man den <link linkend="config.task-server">Taskserver</link> für <link
|
||
linkend="features.periodic-invoices">wiederkehrende Rechnungen</link>, muss unter <varname>[task_server]</varname> ein Login eines
|
||
Benutzers angegeben werden, mit dem sich der Taskserver an Lx-Office bei der Datenbank anmeldet, die dem Benutzer zugewiesen ist.
|
||
</para>
|
||
|
||
<para>
|
||
Für Entwickler finden sich unter <varname>[debug]</varname> wichtige Funktionen, um die Fehlersuche zu erleichtern.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 id="config.config-file.prior-versions">
|
||
<title>Versionen vor 2.6.3</title>
|
||
|
||
<para>
|
||
In älteren Lx-Office Versionen gab es im Verzeichnis <filename>config</filename> die Dateien <filename>authentication.pl</filename>
|
||
und <filename>lx-erp.conf</filename>, die jeweils Perl-Dateien waren. Es gab auch die Möglichkeit, eine lokale Version der
|
||
Konfigurationsdatei zu erstellen (<filename>lx-erp-local.conf</filename>). Dies ist ab 2.6.3 nicht mehr möglich, aber auch nicht mehr
|
||
nötig.
|
||
</para>
|
||
|
||
<para>
|
||
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.
|
||
</para>
|
||
</sect2>
|
||
<para>Nutzt man wiederkehrende Rechnungen, kann man unter
|
||
<varname>[periodic_invoices]</varname> den Login eines Benutzers
|
||
angeben, der nach Erstellung der Rechnungen eine entsprechende E-Mail
|
||
mit Informationen über die erstellten Rechnungen bekommt.</para>
|
||
|
||
<para>Nutzt man den <link
|
||
linkend="config.task-server">Taskserver</link> für <link
|
||
linkend="features.periodic-invoices">wiederkehrende Rechnungen</link>,
|
||
muss unter <varname>[task_server]</varname> ein Login eines Benutzers
|
||
angegeben werden, mit dem sich der Taskserver an Lx-Office bei der
|
||
Datenbank anmeldet, die dem Benutzer zugewiesen ist.</para>
|
||
|
||
<para>Für Entwickler finden sich unter <varname>[debug]</varname>
|
||
wichtige Funktionen, um die Fehlersuche zu erleichtern.</para>
|
||
</sect2>
|
||
|
||
<sect2 id="config.config-file.prior-versions">
|
||
<title>Versionen vor 2.6.3</title>
|
||
|
||
<para>In älteren Lx-Office Versionen gab es im Verzeichnis
|
||
<filename>config</filename> die Dateien
|
||
<filename>authentication.pl</filename> und
|
||
<filename>lx-erp.conf</filename>, die jeweils Perl-Dateien waren. Es
|
||
gab auch die Möglichkeit, eine lokale Version der Konfigurationsdatei
|
||
zu erstellen (<filename>lx-erp-local.conf</filename>). Dies ist ab
|
||
2.6.3 nicht mehr möglich, aber auch nicht mehr nötig.</para>
|
||
|
||
<para>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.</para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<sect1 id="Anpassung-der-PostgreSQL-Konfiguration">
|
||
... | ... | |
PostgreSQL-Datenbankcluster muss ebenfalls mit UTF-8 als Locale
|
||
angelegt worden sein.</para>
|
||
|
||
<para>Dieses ist kann überprüft werden: ist das Encoding der Datenbank “template1” “UTF8”, so kann auch Lx-Office mit UTF-8
|
||
betrieben werden. Andernfalls ist es notwendig, einen neuen Datenbankcluster mit UTF-8-Encoding anzulegen und diesen zu
|
||
verwenden. Unter Debian und Ubuntu kann dies z.B. für PostgreSQL 8.2 mit dem folgenden Befehl getan werden:</para>
|
||
<para>Dieses ist kann überprüft werden: ist das Encoding der Datenbank
|
||
“template1” “UTF8”, so kann auch Lx-Office mit UTF-8 betrieben werden.
|
||
Andernfalls ist es notwendig, einen neuen Datenbankcluster mit
|
||
UTF-8-Encoding anzulegen und diesen zu verwenden. Unter Debian und
|
||
Ubuntu kann dies z.B. für PostgreSQL 8.2 mit dem folgenden Befehl
|
||
getan werden:</para>
|
||
|
||
<programlisting>pg_createcluster --locale=de_DE.UTF-8 --encoding=UTF-8 8.2 clustername</programlisting>
|
||
|
||
<para>Die Datenbankversionsnummer muss an die tatsächlich verwendete Versionsnummer angepasst werden.</para>
|
||
<para>Die Datenbankversionsnummer muss an die tatsächlich verwendete
|
||
Versionsnummer angepasst werden.</para>
|
||
|
||
<para>Unter anderen Distributionen gibt es ähnliche Methoden.</para>
|
||
|
||
... | ... | |
ist ein Neuanlegen eines weiteren Clusters nicht möglich, so kann
|
||
Lx-Office mit ISO-8859-15 als Encoding betrieben werden.</para>
|
||
|
||
<para>Das Encoding einer Datenbank kann in <command>psql</command> mit <literal>\l</literal> geprüft werden.</para>
|
||
<para>Das Encoding einer Datenbank kann in <command>psql</command> mit
|
||
<literal>\l</literal> geprüft werden.</para>
|
||
</sect2>
|
||
|
||
<sect2 id="Änderungen-an-Konfigurationsdateien">
|
||
... | ... | |
<para>In der Datei <filename>postgresql.conf</filename>, die je nach
|
||
Distribution in verschiedenen Verzeichnissen liegen kann (z.B.
|
||
<filename>/var/lib/pgsql/data/</filename> oder
|
||
<filename>/etc/postgresql/</filename>, muss sichergestellt werden, dass
|
||
TCP/IP-Verbindungen aktiviert sind. Das Verhalten wird über den
|
||
<filename>/etc/postgresql/</filename>, muss sichergestellt werden,
|
||
dass TCP/IP-Verbindungen aktiviert sind. Das Verhalten wird über den
|
||
Parameter <varname>listen_address</varname> gesteuert. Laufen
|
||
PostgreSQL und Lx-Office auf demselben Rechner, so kann dort der Wert
|
||
<literal>localhost</literal> verwendet werden. Andernfalls müssen
|
||
... | ... | |
was mit dem Wert <literal>*</literal> geschieht.</para>
|
||
|
||
<para>In der Datei <filename>pg_hba.conf</filename>, die im gleichen
|
||
Verzeichnis wie die <filename>postgresql.conf</filename> 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
|
||
Verzeichnis wie die <filename>postgresql.conf</filename> 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:</para>
|
||
|
||
<programlisting>local all all trust
|
||
... | ... | |
<note>
|
||
<para>Für einen deutlichen Performanceschub sorgt die Ausführung
|
||
mittels FastCGI/FCGI. Die Einrichtung wird ausführlich im Abschnitt
|
||
<xref linkend="Apache-Konfiguration.FCGI"/> beschrieben.</para>
|
||
<xref linkend="Apache-Konfiguration.FCGI" /> beschrieben.</para>
|
||
</note>
|
||
|
||
<para>Der Zugriff auf das Programmverzeichnis muss in der Apache
|
||
... | ... | |
das Lx-Office-Archiv entpacket haben.</para>
|
||
|
||
<note>
|
||
<para>Vor den einzelnen Optionen muss bei einigen Distributionen ein Plus ‘<literal>+</literal>’ gesetzt werden.</para>
|
||
<para>Vor den einzelnen Optionen muss bei einigen Distributionen ein
|
||
Plus ‘<literal>+</literal>’ gesetzt werden.</para>
|
||
</note>
|
||
|
||
<para>Auf einigen Webservern werden manchmal die Grafiken und
|
||
... | ... | |
verwendet.</para>
|
||
|
||
<warning>
|
||
<para>
|
||
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.
|
||
</para>
|
||
<para>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.</para>
|
||
|
||
<para>
|
||
Mit CPAN lässt sie sich die Vorgängerversion wie folgt installieren:
|
||
</para>
|
||
<para>Mit CPAN lässt sie sich die Vorgängerversion wie folgt
|
||
installieren:</para>
|
||
|
||
<programlisting>force install M/MS/MSTROUT/FCGI-0.68.tar.gz</programlisting>
|
||
</warning>
|
||
... | ... | |
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/</programlisting>
|
||
|
||
<para>Dann ist unter <filename>/url/for/lx-office-erp/</filename> die normale Version erreichbar, und unter
|
||
<constant>/url/for/lx-office-erp-fcgid/</constant> die FastCGI-Version.</para>
|
||
<para>Dann ist unter <filename>/url/for/lx-office-erp/</filename>
|
||
die normale Version erreichbar, und unter
|
||
<constant>/url/for/lx-office-erp-fcgid/</constant> die
|
||
FastCGI-Version.</para>
|
||
</sect3>
|
||
</sect2>
|
||
</sect1>
|
||
... | ... | |
Optionen sind:</para>
|
||
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term><varname>login</varname></term>
|
||
<listitem>
|
||
<para>
|
||
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.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><varname>login</varname></term>
|
||
|
||
<varlistentry>
|
||
<term><varname>run_as</varname></term>
|
||
<listitem>
|
||
<para>
|
||
Wird der Server vom Systembenutzer <literal>root</literal> gestartet, so wechselt er auf den mit <literal>run_as</literal>
|
||
angegebenen Systembenutzer. Der Systembenutzer muss dieselben Lese- und Schreibrechte haben, wie auch der Webserverbenutzer
|
||
(siehe see <xref linkend="Manuelle-Installation-des-Programmpaketes"/>). Daher ist es sinnvoll, hier denselben Systembenutzer
|
||
einzutragen, unter dem auch der Webserver läuft.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<listitem>
|
||
<para>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.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><varname>debug</varname></term>
|
||
<listitem>
|
||
<para>
|
||
Schaltet Debug-Informationen an und aus.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><varname>run_as</varname></term>
|
||
|
||
<listitem>
|
||
<para>Wird der Server vom Systembenutzer <literal>root</literal>
|
||
gestartet, so wechselt er auf den mit <literal>run_as</literal>
|
||
angegebenen Systembenutzer. Der Systembenutzer muss dieselben
|
||
Lese- und Schreibrechte haben, wie auch der Webserverbenutzer
|
||
(siehe see <xref
|
||
linkend="Manuelle-Installation-des-Programmpaketes" />). Daher
|
||
ist es sinnvoll, hier denselben Systembenutzer einzutragen,
|
||
unter dem auch der Webserver läuft.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><varname>debug</varname></term>
|
||
|
||
<listitem>
|
||
<para>Schaltet Debug-Informationen an und aus.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</sect2>
|
||
|
||
... | ... | |
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Danach kann der Task-Server mit dem folgenden Befehl gestartet werden: <command>/etc/init.d/lx-office-task-server
|
||
<para>Danach kann der Task-Server mit dem folgenden Befehl gestartet
|
||
werden: <command>/etc/init.d/lx-office-task-server
|
||
start</command></para>
|
||
</sect3>
|
||
|
||
... | ... | |
Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
|
||
<literal>exec ....</literal>).</para>
|
||
|
||
<para>Danach kann der Task-Server mit dem folgenden Befehl gestartet werden: <command>service lx-office-task-server
|
||
<para>Danach kann der Task-Server mit dem folgenden Befehl gestartet
|
||
werden: <command>service lx-office-task-server
|
||
start</command></para>
|
||
</sect3>
|
||
</sect2>
|
||
... | ... | |
<sect2 id="Administratorpasswort">
|
||
<title>Administratorpasswort</title>
|
||
|
||
<para>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
|
||
<varname>admin_password</varname> im Abschnitt <varname>[authentication]</varname>.</para>
|
||
<para>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 <varname>admin_password</varname> im
|
||
Abschnitt <varname>[authentication]</varname>.</para>
|
||
</sect2>
|
||
|
||
<sect2 id="Authentifizierungsdatenbank">
|
||
<title>Authentifizierungsdatenbank</title>
|
||
|
||
<para>Die Verbindung zur Authentifizierungsdatenbank wird mit den Parametern in <varname>[authentication/database]</varname>
|
||
konfiguriert. Hier sind die folgenden Parameter anzugeben:</para>
|
||
<para>Die Verbindung zur Authentifizierungsdatenbank wird mit den
|
||
Parametern in <varname>[authentication/database]</varname>
|
||
konfiguriert. Hier sind die folgenden Parameter anzugeben:</para>
|
||
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term><literal>host</literal></term>
|
||
<listitem>
|
||
<para>Der Rechnername oder die IP-Adresse des Datenbankservers</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><literal>host</literal></term>
|
||
|
||
<varlistentry>
|
||
<term><literal>port</literal></term>
|
||
<listitem>
|
||
<para>Die Portnummer des Datenbankservers, meist 5432</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<listitem>
|
||
<para>Der Rechnername oder die IP-Adresse des
|
||
Datenbankservers</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>db</literal></term>
|
||
<listitem>
|
||
<para>Der Name der Authentifizierungsdatenbank</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><literal>port</literal></term>
|
||
|
||
<varlistentry>
|
||
<term><literal>user</literal></term>
|
||
<listitem>
|
||
<para>Der Benutzername, mit dem sich Lx-Office beim Datenbankserver anmeldet (z.B. "<literal>postgres</literal>")</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<listitem>
|
||
<para>Die Portnummer des Datenbankservers, meist 5432</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>password</literal></term>
|
||
<listitem>
|
||
<para>Das Passwort für den Datenbankbenutzer</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><literal>db</literal></term>
|
||
|
||
<listitem>
|
||
<para>Der Name der Authentifizierungsdatenbank</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>user</literal></term>
|
||
|
||
<listitem>
|
||
<para>Der Benutzername, mit dem sich Lx-Office beim
|
||
Datenbankserver anmeldet (z.B.
|
||
"<literal>postgres</literal>")</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>password</literal></term>
|
||
|
||
<listitem>
|
||
<para>Das Passwort für den Datenbankbenutzer</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<para>Die Datenbank muss noch nicht existieren. Lx-Office kann sie
|
||
... | ... | |
<sect2 id="Passwortüberprüfung">
|
||
<title>Passwortüberprüfung</title>
|
||
|
||
<para>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 <varname>module</varname> im Abschnitt
|
||
<para>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 <varname>module</varname> im Abschnitt
|
||
<varname>[authentication]</varname>.</para>
|
||
|
||
<para>Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank gespeichert werden, so muss der Parameter
|
||
<varname>module</varname> den Wert <literal>DB</literal> enthalten. In diesem Fall können sowohl der Administrator als auch die
|
||
Benutzer selber ihre Psaswörter in Lx-Office ändern.</para>
|
||
<para>Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank
|
||
gespeichert werden, so muss der Parameter <varname>module</varname>
|
||
den Wert <literal>DB</literal> enthalten. In diesem Fall können sowohl
|
||
der Administrator als auch die Benutzer selber ihre Psaswörter in
|
||
Lx-Office ändern.</para>
|
||
|
||
<para>Soll hingegen ein externer LDAP- oder Active-Directory-Server benutzt werden, so muss der Parameter <varname>module</varname>
|
||
auf <literal>LDAP</literal> gesetzt werden. In diesem Fall müssen zusätzliche Informationen über den LDAP-Server im Abschnitt
|
||
<para>Soll hingegen ein externer LDAP- oder Active-Directory-Server
|
||
benutzt werden, so muss der Parameter <varname>module</varname> auf
|
||
<literal>LDAP</literal> gesetzt werden. In diesem Fall müssen
|
||
zusätzliche Informationen über den LDAP-Server im Abschnitt
|
||
<literal>[authentication/ldap]</literal> angegeben werden:</para>
|
||
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term><literal>host</literal></term>
|
||
<listitem>
|
||
<para>Der Rechnername oder die IP-Adresse des LDAP- oder Active-Directory-Servers. Diese Angabe ist zwingend
|
||
erforderlich.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><literal>host</literal></term>
|
||
|
||
<varlistentry>
|
||
<term><literal>port</literal></term>
|
||
<listitem>
|
||
<para>Die Portnummer des LDAP-Servers; meist 389.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<listitem>
|
||
<para>Der Rechnername oder die IP-Adresse des LDAP- oder
|
||
Active-Directory-Servers. Diese Angabe ist zwingend
|
||
erforderlich.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>tls</literal></term>
|
||
<listitem>
|
||
<para>Wenn Verbindungsverschlüsselung gewünscht ist, so diesen Wert auf ‘<literal>1</literal>’ setzen, andernfalls auf
|
||
‘<literal>0</literal>’ belassen</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><literal>port</literal></term>
|
||
|
||
<varlistentry>
|
||
<term><literal>attribute</literal></term>
|
||
<listitem>
|
||
<para>Das LDAP-Attribut, in dem der Benutzername steht, den der Benutzer eingegeben hat. Für Active-Directory-Server ist dies
|
||
meist ‘<literal>sAMAccountName</literal>’, für andere LDAP-Server hingegen ‘<literal>uid</literal>’. Diese Angabe ist zwingend
|
||
erforderlich.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<listitem>
|
||
<para>Die Portnummer des LDAP-Servers; meist 389.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>base_dn</literal></term>
|
||
<listitem>
|
||
<para>Der Abschnitt des LDAP-Baumes, der durchsucht werden soll. Diese Angabe ist zwingend erforderlich.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><literal>tls</literal></term>
|
||
|
||
<varlistentry>
|
||
<term><literal>filter</literal></term>
|
||
<listitem>
|
||
<para>Ein optionaler LDAP-Filter. Enthält dieser Filter das Wort <literal><%login%></literal>, 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.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<listitem>
|
||
<para>Wenn Verbindungsverschlüsselung gewünscht ist, so diesen
|
||
Wert auf ‘<literal>1</literal>’ setzen, andernfalls auf
|
||
‘<literal>0</literal>’ belassen</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>bind_dn</literal> und <literal>bind_password</literal></term>
|
||
<listitem>
|
||
<para>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 ‘<literal>bind_dn</literal>’ entweder eine
|
||
komplette LDAP-DN wie z.B. ‘<literal>cn=Martin Mustermann,cn=Users,dc=firmendomain</literal>’ auch nur der volle Name des
|
||
Benutzers eingegeben werden; in diesem Beispiel also ‘<literal>Martin Mustermann</literal>’.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><literal>attribute</literal></term>
|
||
|
||
<listitem>
|
||
<para>Das LDAP-Attribut, in dem der Benutzername steht, den der
|
||
Benutzer eingegeben hat. Für Active-Directory-Server ist dies
|
||
meist ‘<literal>sAMAccountName</literal>’, für andere
|
||
LDAP-Server hingegen ‘<literal>uid</literal>’. Diese Angabe ist
|
||
zwingend erforderlich.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>base_dn</literal></term>
|
||
|
||
<listitem>
|
||
<para>Der Abschnitt des LDAP-Baumes, der durchsucht werden soll.
|
||
Diese Angabe ist zwingend erforderlich.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>filter</literal></term>
|
||
|
||
<listitem>
|
||
<para>Ein optionaler LDAP-Filter. Enthält dieser Filter das Wort
|
||
<literal><%login%></literal>, 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.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>bind_dn</literal> und
|
||
<literal>bind_password</literal></term>
|
||
|
||
<listitem>
|
||
<para>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
|
||
‘<literal>bind_dn</literal>’ entweder eine komplette LDAP-DN wie
|
||
z.B. ‘<literal>cn=Martin
|
||
Mustermann,cn=Users,dc=firmendomain</literal>’ auch nur der
|
||
volle Name des Benutzers eingegeben werden; in diesem Beispiel
|
||
also ‘<literal>Martin Mustermann</literal>’.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</sect2>
|
||
|
||
<sect2 id="Name-des-Session-Cookies">
|
||
<title>Name des Session-Cookies</title>
|
||
|
||
<para>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 <varname>cookie_name</varname> im Abschnitt
|
||
<para>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 <varname>cookie_name</varname> im Abschnitt
|
||
<varname>[authentication]</varname>gesetzt.</para>
|
||
|
||
<para>Diese Angabe ist optional, wenn nur eine Installation auf dem
|
||
... | ... | |
<para>Dieses Verzeichnis, wie auch das komplette
|
||
<literal>users</literal>-Verzeichnis, muss vom Webserver beschreibbar
|
||
sein. Dieses wurde bereits erledigt (siehe <xref
|
||
linkend="Manuelle-Installation-des-Programmpaketes"/>), kann aber erneut
|
||
überprüft werden, wenn die Konvertierung nach PDF fehlschlägt.</para>
|
||
linkend="Manuelle-Installation-des-Programmpaketes" />), kann aber
|
||
erneut überprüft werden, wenn die Konvertierung nach PDF
|
||
fehlschlägt.</para>
|
||
</sect1>
|
||
|
||
<sect1 id="config.eur">
|
||
<title>Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR</title>
|
||
<title>Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
|
||
EUR</title>
|
||
|
||
<sect2 id="config.eur.introduction" xreflabel="Einführung in die Konfiguration zur EUR">
|
||
<title>Einführung</title>
|
||
<sect2 id="config.eur.introduction"
|
||
xreflabel="Einführung in die Konfiguration zur EUR">
|
||
<title>Einführung</title>
|
||
|
||
<para>
|
||
Lx-Office besaß bis inklusive Version 2.6.3 einen Konfigurationsparameter namens <varname>eur</varname>, der sich in der
|
||
Konfigurationsdatei <filename>config/lx_office.conf</filename> befindet. Somit galt er für alle Mandanten, die in dieser
|
||
Installation benutzt wurden.
|
||
</para>
|
||
<para>Lx-Office besaß bis inklusive Version 2.6.3 einen
|
||
Konfigurationsparameter namens <varname>eur</varname>, der sich in der
|
||
Konfigurationsdatei <filename>config/lx_office.conf</filename>
|
||
befindet. Somit galt er für alle Mandanten, die in dieser Installation
|
||
benutzt wurden.</para>
|
||
|
||
<para>
|
||
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.
|
||
</para>
|
||
<para>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.</para>
|
||
</sect2>
|
||
|
||
<sect2 id="config.eur.parameters" xreflabel="Konfigurationsparameter für EUR">
|
||
<title>Konfigurationsparameter</title>
|
||
|
||
<para>
|
||
Es gibt drei Parameter, die die Gewinnermittlungsart, Versteuerungsart und die Warenbuchungsmethode regeln:
|
||
</para>
|
||
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term><varname>profit_determination</varname></term>
|
||
<listitem>
|
||
<para>
|
||
Dieser Parameter legt die Berechnungsmethode für die Gewinnermittlung fest. Er enthält entweder <literal>balance</literal> für
|
||
Betriebsvermögensvergleich/Bilanzierung oder <literal>income</literal> für die Einnahmen-Überschuss-Rechnung.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><varname>accounting_method</varname></term>
|
||
<listitem>
|
||
<para>
|
||
Dieser Parameter steuert die Buchungs- und Berechnungsmethoden für die Versteuerungsart. Er enthält entweder
|
||
<literal>accrual</literal> für die Soll-Versteuerung oder <literal>cash</literal> für die Ist-Versteuerung.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><varname>inventory_system</varname></term>
|
||
<listitem>
|
||
<para>
|
||
Dieser Parameter legt die Warenbuchungsmethode fest. Er enthält entweder <literal>perpetual</literal> für die Bestandsmethode
|
||
oder <literal>periodic</literal> für die Aufwandsmethode.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<para>
|
||
Zum Vergleich der Funktionalität bis und nach 2.6.3: <varname>eur</varname> = 1 bedeutete Einnahmen-Überschuss-Rechnung,
|
||
Ist-Versteuerung und Aufwandsmethode. <varname>eur</varname> = 0 bedeutete hingegen Bilanzierung, Soll-Versteuerung und
|
||
Bestandsmethode.
|
||
</para>
|
||
|
||
<para>
|
||
Die Konfiguration "<varname>eur</varname>" unter <varname>[system]</varname> in der <link
|
||
linkend="config.config-file">Konfigurationsdatei</link> <filename>config/lx_office.conf</filename> wird nun nicht mehr benötigt und
|
||
kann entfernt werden. Dies muss manuell geschehen.
|
||
</para>
|
||
<sect2 id="config.eur.parameters"
|
||
xreflabel="Konfigurationsparameter für EUR">
|
||
<title>Konfigurationsparameter</title>
|
||
|
||
<para>Es gibt drei Parameter, die die Gewinnermittlungsart,
|
||
Versteuerungsart und die Warenbuchungsmethode regeln:</para>
|
||
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term><varname>profit_determination</varname></term>
|
||
|
||
<listitem>
|
||
<para>Dieser Parameter legt die Berechnungsmethode für die
|
||
Gewinnermittlung fest. Er enthält entweder
|
||
<literal>balance</literal> für
|
||
Betriebsvermögensvergleich/Bilanzierung oder
|
||
<literal>income</literal> für die
|
||
Einnahmen-Überschuss-Rechnung.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><varname>accounting_method</varname></term>
|
||
|
||
<listitem>
|
||
<para>Dieser Parameter steuert die Buchungs- und
|
||
Berechnungsmethoden für die Versteuerungsart. Er enthält
|
||
entweder <literal>accrual</literal> für die Soll-Versteuerung
|
||
oder <literal>cash</literal> für die Ist-Versteuerung.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><varname>inventory_system</varname></term>
|
||
|
||
<listitem>
|
||
<para>Dieser Parameter legt die Warenbuchungsmethode fest. Er
|
||
enthält entweder <literal>perpetual</literal> für die
|
||
Bestandsmethode oder <literal>periodic</literal> für die
|
||
Aufwandsmethode.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<para>Zum Vergleich der Funktionalität bis und nach 2.6.3:
|
||
<varname>eur</varname> = 1 bedeutete Einnahmen-Überschuss-Rechnung,
|
||
Ist-Versteuerung und Aufwandsmethode. <varname>eur</varname> = 0
|
||
bedeutete hingegen Bilanzierung, Soll-Versteuerung und
|
||
Bestandsmethode.</para>
|
||
|
||
<para>Die Konfiguration "<varname>eur</varname>" unter
|
||
<varname>[system]</varname> in der <link
|
||
linkend="config.config-file">Konfigurationsdatei</link>
|
||
<filename>config/lx_office.conf</filename> wird nun nicht mehr
|
||
benötigt und kann entfernt werden. Dies muss manuell geschehen.</para>
|
||
</sect2>
|
||
|
||
<sect2 id="config.eur.setting-parameters">
|
||
<title>Festlegen der Parameter</title>
|
||
|
||
<para>
|
||
Beim Anlegen eines neuen Mandanten bzw. einer neuen Datenbank in der Admininstration können diese Optionen nun unabhängig
|
||
voneinander eingestellt werden.
|
||
</para>
|
||
|
||
<para>
|
||
Beim Upgrade bestehender Mandanten wird eur ausgelesen und die Variablen werden so gesetzt, daß sich an der Funktionalität nichts
|
||
ändert.
|
||
</para>
|
||
|
||
<para>
|
||
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.
|
||
</para>
|
||
<title>Festlegen der Parameter</title>
|
||
|
||
<para>Beim Anlegen eines neuen Mandanten bzw. einer neuen Datenbank in
|
||
der Admininstration können diese Optionen nun unabhängig voneinander
|
||
eingestellt werden.</para>
|
||
|
||
<para>Beim Upgrade bestehender Mandanten wird eur ausgelesen und die
|
||
Variablen werden so gesetzt, daß sich an der Funktionalität nichts
|
||
ändert.</para>
|
||
|
||
<para>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.</para>
|
||
</sect2>
|
||
|
||
<sect2 id="config.eur.inventory-system-perpetual">
|
||
<title>Bemerkungen zu Bestandsmethode</title>
|
||
|
||
<para>
|
||
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.
|
||
</para>
|
||
|
||
<para>
|
||
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.
|
||
</para>
|
||
<title>Bemerkungen zu Bestandsmethode</title>
|
||
|
||
<para>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.</para>
|
||
|
||
<para>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.</para>
|
||
</sect2>
|
||
|
||
<sect2 id="config.eur.knonw-issues">
|
||
<title>Bekannte Probleme</title>
|
||
<title>Bekannte Probleme</title>
|
||
|
||
<para>
|
||
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 <varname>$::lx_office_conf{system}->{eur}</varname> ausgewertet wurde.
|
||
</para>
|
||
<para>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
|
||
<varname>$::lx_office_conf{system}->{eur}</varname> ausgewertet
|
||
wurde.</para>
|
||
|
||
<para>
|
||
Es fehlen Hilfetext beim Neuanlegen eines Mandanten, was die Optionen bewirken, z.B. mit zwei Standardfällen.
|
||
</para>
|
||
<para>Es fehlen Hilfetext beim Neuanlegen eines Mandanten, was die
|
||
Optionen bewirken, z.B. mit zwei Standardfällen.</para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<sect1 id="config.skr04-update-3804">
|
||
<title>SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</title>
|
||
|
||
<sect2 id="config.skr04-update-3804.introduction">
|
||
<title>Einführung</title>
|
||
|
||
<para>Die Umsatzsteuerumstellung auf 19% für SKR04 für die
|
||
Steuerschlüssel "EU ohne USt-ID Nummer" ist erst 2010 erfolgt.
|
||
Lx-Office beinhaltet ein Upgradeskript, das das Konto 3804 automatisch
|
||
erstellt und die Steuereinstellungen korrekt einstellt. Hat der
|
||
Benutzer aber schon selber das Konto 3804 angelegt, oder gab es schon
|
||
Buchungen im Zeitraum nach dem 01.01.2007 auf das Konto 3803, wird das
|
||
Upgradeskript vorsichtshalber nicht ausgeführt, da der Benutzer sich
|
||
vielleicht schon selbst geholfen hat und mit seinen Änderungen
|
||
zufrieden ist. Die korrekten Einstellungen kann man aber auch per Hand
|
||
ausführen. Nachfolgend werden die entsprechenden Schritte anhand von
|
||
Screenshots dargestellt.</para>
|
||
|
||
<para>Für den Fall, daß Buchungen mit der Steuerschlüssel "EU ohne
|
||
USt.-IdNr." nach dem 01.01.2007 erfolgt sind, ist davon auszugehen,
|
||
dass diese mit dem alten Umsatzsteuersatz von 16% gebucht worden sind,
|
||
und diese Buchungen sollten entsprechend kontrolliert werden.</para>
|
||
</sect2>
|
||
|
||
<sect2 id="config.skr04-update-3804.create-chart">
|
||
<title>Konto 3804 manuell anlegen</title>
|
||
|
||
<para>Die folgenden Schritte sind notwendig, um das Konto manuell
|
||
anzulegen und zu konfigurieren. Zuerst wird in
|
||
<guimenu>System</guimenu> ->
|
||
<guisubmenu>Kontenübersicht</guisubmenu> -> <guimenuitem>Konto
|
||
erfassen</guimenuitem> das Konto angelegt.</para>
|
||
|
||
<screenshot>
|
||
<screeninfo>Konto 3804 erfassen</screeninfo>
|
||
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="images/skr04-update-3804/konto3804.png" />
|
||
</imageobject>
|
||
</mediaobject>
|
||
</screenshot>
|
||
|
||
<para>
|
||
Als Zweites muss Steuergruppe 13 für Konto 3803 angepasst werden. Dazu unter <guimenu>System</guimenu> ->
|
||
<guisubmenu>Steuern</guisubmenu> -> <guimenuitem>Bearbeiten</guimenuitem> den Eintrag mit Steuerschlüssel 13 auswählen und ihn
|
||
wie im folgenden Screenshot angezeigt anpassen.
|
||
</para>
|
||
|
||
<screenshot>
|
||
<screeninfo>Steuerschlüssel 13 für 3803 (16%) anpassen</screeninfo>
|
||
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="images/skr04-update-3804/steuer3803.png" />
|
||
</imageobject>
|
||
</mediaobject>
|
||
</screenshot>
|
||
|
||
<para>
|
||
Als Drittes wird ein neuer Eintrag mit Steuerschlüssel 13 für Konto 3804 (19%) angelegt. Dazu unter <guimenu>System</guimenu> ->
|
||
<guisubmenu>Steuern</guisubmenu> -> <guimenuitem>Erfassen</guimenuitem> auswählen und die Werte aus dem Screenshot übernehmen.
|
||
</para>
|
||
|
||
<screenshot>
|
||
<screeninfo>Steuerschlüssel 13 für 3804 (19%) anlegen</screeninfo>
|
||
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="images/skr04-update-3804/steuer3804.png" />
|
||
</imageobject>
|
||
</mediaobject>
|
||
</screenshot>
|
||
|
||
<para>
|
||
Als Nächstes sind alle Konten anzupassen, die als Steuerautomatikkonto die 3803 haben, sodass sie ab dem 1.1.2007 auch
|
||
Steuerautomatik auf 3804 bekommen. Dies betrifft in der Standardkonfiguration die Konten 4315 und 4726. Als Beispiel für 4315
|
||
müssen Sie dazu unter <guimenu>System</guimenu> -> <guisubmenu>Kontenübersicht</guisubmenu> -> <guimenuitem>Konten
|
||
anzeigen</guimenuitem> das Konto 4315 anklicken und die Einstellungen wie im Screenshot gezeigt vornehmen.
|
||
</para>
|
||
|
||
<screenshot>
|
||
<screeninfo>Konto 4315 anpassen</screeninfo>
|
||
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="images/skr04-update-3804/konto4315.png" />
|
||
</imageobject>
|
||
</mediaobject>
|
||
</screenshot>
|
||
|
||
<para>
|
||
Als Letztes sollte die Steuerliste unter <guimenu>System</guimenu> -> <guisubmenu>Steuern</guisubmenu> ->
|
||
<guimenuitem>Bearbeiten</guimenuitem> kontrolliert werden. Zum Vergleich der Screenshot.
|
||
</para>
|
||
|
||
<screenshot>
|
||
<screeninfo>Steuerliste vergleichen</screeninfo>
|
||
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="images/skr04-update-3804/steuerliste.png" />
|
||
</imageobject>
|
||
</mediaobject>
|
||
</screenshot>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
... | ... | |
<chapter id="features" xreflabel="Features und Funktionen">
|
||
<title>Features und Funktionen</title>
|
||
|
||
<sect1 id="features.periodic-invoices" xreflabel="Wiedekehrende Rechnungen">
|
||
<title>Wiederkehrende Rechnungen</title>
|
||
<sect1 id="features.periodic-invoices"
|
||
xreflabel="Wiedekehrende Rechnungen">
|
||
<title>Wiederkehrende Rechnungen</title>
|
||
|
||
<sect2 id="features.periodic-invoices.introduction" xreflabel="Einführung in wiederkehrende Rechnungen">
|
||
<title>Einführung</title>
|
||
<sect2 id="features.periodic-invoices.introduction"
|
||
xreflabel="Einführung in wiederkehrende Rechnungen">
|
||
<title>Einführung</title>
|
||
|
||
<para>
|
||
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.
|
||
</para>
|
||
<para>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.</para>
|
||
</sect2>
|
||
|
||
</sect2>
|
||
<sect2 id="features.periodic-invoices.configuration"
|
||
xreflabel="Konfiguration von wiederkehrenden Rechnungen">
|
||
<title>Konfiguration</title>
|
||
|
||
<sect2 id="features.periodic-invoices.configuration" xreflabel="Konfiguration von wiederkehrenden Rechnungen">
|
||
<title>Konfiguration</title>
|
||
<para>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.</para>
|
||
|
||
<para>
|
||
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.
|
||
</para>
|
||
<para>Folgende Parameter kann man konfigurieren:</para>
|
||
|
||
<para>
|
||
Folgende Parameter kann man konfigurieren:
|
||
</para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Status</term>
|
||
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Status</term>
|
||
<listitem>
|
||
<para>
|
||
Bei aktiven Rechnungen wird automatisch eine Rechnung erstellt, wenn die Periodizität erreicht ist (z.B. Anfang eines neuen
|
||
Monats).
|
||
</para>
|
||
|
||
<para>
|
||
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.
|
||
</para>
|
||
|
||
<para>
|
||
Für gekündigte Aufträge werden nie mehr Rechnungen erstellt. Man kann sich diese Aufträge aber gesondert in den Berichten anzeigen
|
||
lassen.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<listitem>
|
||
<para>Bei aktiven Rechnungen wird automatisch eine Rechnung
|
||
erstellt, wenn die Periodizität erreicht ist (z.B. Anfang eines
|
||
neuen Monats).</para>
|
||
|
||
<para>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.</para>
|
||
|
||
<para>Für gekündigte Aufträge werden nie mehr Rechnungen
|
||
erstellt. Man kann sich diese Aufträge aber gesondert in den
|
||
Berichten anzeigen lassen.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>Periodizität</term>
|
||
<listitem>
|
||
<para>
|
||
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.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Periodizität</term>
|
||
|
||
<varlistentry>
|
||
<term>Buchen auf</term>
|
||
<listitem>
|
||
<para>
|
||
Das Forderungskonto, in der Regel "Forderungen aus Lieferungen und Leistungen". Das Gegenkonto ergibt sich aus den Buchungsgruppen
|
||
der betreffenden Waren.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<listitem>
|
||
<para>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.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>Startdatum</term>
|
||
<listitem>
|
||
<para>
|
||
ab welchem Datum auf Rechnungserstellung geprüft werden soll
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Buchen auf</term>
|
||
|
||
<varlistentry>
|
||
<term>Enddatum</term>
|
||
<listitem>
|
||
<para>
|
||
ab wann keine Rechnungen mehr erstellt werden sollen
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<listitem>
|
||
<para>Das Forderungskonto, in der Regel "Forderungen aus
|
||
Lieferungen und Leistungen". Das Gegenkonto ergibt sich aus den
|
||
Buchungsgruppen der betreffenden Waren.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>Automatische Verlängerung um x Monate</term>
|
||
<listitem>
|
||
<para>
|
||
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.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Startdatum</term>
|
||
|
||
<varlistentry>
|
||
<term>Drucken</term>
|
||
<listitem>
|
||
<para>
|
||
Sind Drucker konfiguriert, so kann man sich die erstellten Rechnungen auch gleich ausdrucken lassen.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<para>
|
||
Nach Erstellung der Rechnungen kann eine E-Mail mit Informationen zu den erstellten Rechnungen verschickt werden. Konfiguriert wird
|
||
dies in der <link linkend="config.config-file.sections-parameters">Konfigurationsdatei</link>
|
||
<filename>config/lx_office.conf</filename> im Abschnitt <varname>[periodic_invoices]</varname>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 id="features.periodic-invoices.reports">
|
||
<title>Auflisten</title>
|
||
|
||
<para>
|
||
Unter Verkauf->Berichte->Aufträge finden sich zwei neue Checkboxen, "Wiederkehrende Rechnungen aktiv" und
|
||
"Wiederkehrende Rechnungen inaktiv", mit denen man sich einen Überglick über die wiederkehrenden Rechnungen verschaffen
|
||
kann.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 id="features.periodic-invoices.task-server">
|
||
<title>Erzeugung der eigentlichen Rechnungen</title>
|
||
|
||
<para>
|
||
Die zeitliche und periodische Überprüfung, ob eine wiederkehrende Rechnung automatisch erstellt werden soll, geschieht durch den
|
||
<link linkend="config.task-server">Taskserver</link>, einen externen Dienst, der automatisch beim Start des Servers gestartet
|
||
werden sollte.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 id="features.periodic-invoices.create-for-current-month">
|
||
<title>Erste Rechnung für aktuellen Monat erstellen</title>
|
||
|
||
<para>
|
||
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.
|
||
</para>
|
||
</sect2>
|
||
<listitem>
|
||
<para>ab welchem Datum auf Rechnungserstellung geprüft werden
|
||
soll</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>Enddatum</term>
|
||
|
||
<listitem>
|
||
<para>ab wann keine Rechnungen mehr erstellt werden
|
||
sollen</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>Automatische Verlängerung um x Monate</term>
|
||
|
||
<listitem>
|
||
<para>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.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>Drucken</term>
|
||
|
||
<listitem>
|
||
<para>Sind Drucker konfiguriert, so kann man sich die erstellten
|
||
Rechnungen auch gleich ausdrucken lassen.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<para>Nach Erstellung der Rechnungen kann eine E-Mail mit
|
||
Informationen zu den erstellten Rechnungen verschickt werden.
|
||
Konfiguriert wird dies in der <link
|
||
linkend="config.config-file.sections-parameters">Konfigurationsdatei</link>
|
||
<filename>config/lx_office.conf</filename> im Abschnitt
|
||
<varname>[periodic_invoices]</varname>.</para>
|
||
</sect2>
|
||
|
||
<sect2 id="features.periodic-invoices.reports">
|
||
<title>Auflisten</title>
|
||
|
||
<para>Unter Verkauf->Berichte->Aufträge finden sich zwei neue
|
||
Checkboxen, "Wiederkehrende Rechnungen aktiv" und "Wiederkehrende
|
||
Rechnungen inaktiv", mit denen man sich einen Überglick über die
|
||
wiederkehrenden Rechnungen verschaffen kann.</para>
|
||
</sect2>
|
||
|
||
<sect2 id="features.periodic-invoices.task-server">
|
||
<title>Erzeugung der eigentlichen Rechnungen</title>
|
||
|
||
<para>Die zeitliche und periodische Überprüfung, ob eine
|
||
wiederkehrende Rechnung automatisch erstellt werden soll, geschieht
|
||
durch den <link linkend="config.task-server">Taskserver</link>, einen
|
||
externen Dienst, der automatisch beim Start des Servers gestartet
|
||
werden sollte.</para>
|
||
</sect2>
|
||
|
||
<sect2 id="features.periodic-invoices.create-for-current-month">
|
||
<title>Erste Rechnung für aktuellen Monat erstellen</title>
|
||
|
||
<para>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.</para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<sect1 id="dokumentenvorlagen-und-variablen">
|
||
... | ... | |
<function><%variablenname%></function> verwendet wird. Für
|
||
LaTeX- und HTML-Vorlagen kann man die Form dieser Tags auch verändern
|
||
(siehe <xref
|
||
linkend="dokumentenvorlagen-und-variablen.tag-style"/>).</para>
|
||
linkend="dokumentenvorlagen-und-variablen.tag-style" />).</para>
|
||
|
||
<para>Früher wurde hier nur über LaTeX gesprochen. Inzwischen
|
||
unterstützt Lx-Office aber auch OpenDocument-Vorlagen. Sofern es nicht
|
||
... | ... | |
<para>Die kurzen Varianten dieser Vorlagentitel müssen dann entweder
|
||
Standardwerte anzeigen, oder die angeforderten Werte selbst auswerten,
|
||
siehe dazu <xref
|
||
linkend="dokumentenvorlagen-und-variablen.allgemeine-variablen.meta"/>.</para>
|
||
linkend="dokumentenvorlagen-und-variablen.allgemeine-variablen.meta" />.</para>
|
||
</sect2>
|
||
|
||
<sect2 id="dokumentenvorlagen-und-variablen.allgemeine-variablen">
|
||
... | ... | |
<function>strict</function> werden alle Variablen die nicht explizit
|
||
mit <function>Package</function>, <function>my</function> oder
|
||
<function>our</function> angegeben werden als Tippfehler angemarkert,
|
||
dies hat, seit der Einführung, u.a. schon so manche langwierige Bug-Suche verkürzt.
|
||
Da globale Variablen aber implizit mit Package angegeben werden, werden
|
||
die nicht geprüft, und somit kann sich schnell ein Tippfehler einschleichen.</para>
|
||
dies hat, seit der Einführung, u.a. schon so manche langwierige
|
||
Bug-Suche verkürzt. Da globale Variablen aber implizit mit Package
|
||
angegeben werden, werden die nicht geprüft, und somit kann sich
|
||
schnell ein Tippfehler einschleichen.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Kanonische globale Variablen</title>
|
||
|
||
<para>Um dieses Problem im Griff zu halten gibt es einige wenige
|
||
globale Variablen, die kanonisch sind, d.h. sie haben bestimmte vorgegebenen Eigenschaften,
|
||
und alles andere sollte anderweitig umhergereicht werden.</para>
|
||
globale Variablen, die kanonisch sind, d.h. sie haben bestimmte
|
||
vorgegebenen Eigenschaften, und alles andere sollte anderweitig
|
||
umhergereicht werden.</para>
|
||
|
||
<para>Diese Variablen sind im Moment die folgenden neun:</para>
|
||
|
||
... | ... | |
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Damit diese nicht erneut als Müllhalde missbraucht werden, im Folgenden
|
||
eine kurze Erläuterung der bestimmten vorgegebenen Eigenschaften (Konventionen):</para>
|
||
<para>Damit diese nicht erneut als Müllhalde missbraucht werden, im
|
||
Folgenden eine kurze Erläuterung der bestimmten vorgegebenen
|
||
Eigenschaften (Konventionen):</para>
|
||
|
||
<sect3>
|
||
<title>$::form</title>
|
||
... | ... | |
Ledger</productname> als Gottobjekt für alles misbraucht. Sämtliche
|
||
alten Funktionen unter SL/ mutieren <varname>$::form</varname>, das
|
||
heißt, alles was einem lieb ist (alle Variablen die einem ans Herz
|
||
gewachsen sind), sollte man vor einem Aufruf (!) von zum
|
||
Beispiel <function>IS->retrieve_customer()</function> in
|
||
Sicherheit bringen. </para>
|
||
gewachsen sind), sollte man vor einem Aufruf (!) von zum Beispiel
|
||
<function>IS->retrieve_customer()</function> in Sicherheit
|
||
bringen.</para>
|
||
|
||
<para>
|
||
Z.B. das vom Benutzer eingestellte Zahlenformat, bevor man Berechnung in einem
|
||
bestimmten Format durchführt (SL/Form.pm Zeile 3552, Stand version 2.7beta), um
|
||
dies hinterher wieder auf den richtigen Wert zu setzen:
|
||
</para>
|
||
<para>Z.B. das vom Benutzer eingestellte Zahlenformat, bevor man
|
||
Berechnung in einem bestimmten Format durchführt (SL/Form.pm Zeile
|
||
3552, Stand version 2.7beta), um dies hinterher wieder auf den
|
||
richtigen Wert zu setzen:</para>
|
||
|
||
<programlisting> my $saved_numberformat = $::myconfig{numberformat};
|
||
$::myconfig{numberformat} = $numberformat;
|
||
# (...) div Berechnungen
|
||
$::myconfig{numberformat} = $saved_numberformat;</programlisting>
|
||
|
||
<para>
|
||
Das Objekt der Klasse Form hat leider im Moment noch viele zentrale Funktionen die vom internen Zustand abhängen, deshalb bitte
|
||
nie einfach zerstören oder überschreiben (zumindestens nicht kurz vor einem Release oder in Absprache über bspw. die devel-Liste
|
||
;-). Es geht ziemlich sicher etwas kaputt.
|
||
</para>
|
||
|
||
<para>
|
||
<varname>$::form</varname> ist gleichzeitig der Standard Scope in den <productname>Template::Toolkit</productname> Templates
|
||
außerhalb der Controller: der Ausdruck <function>[% var %]</function> greift auf <varname>$::form->{var}</varname> zu. Unter
|
||
Controllern ist der Standard Scope anders, da lautet der Zugriff <function>[% FORM.var %]</function>. In Druckvorlagen sind
|
||
normale Variablen ebenfall im <varname>$::form</varname> Scope, d.h. <function><%var%></function> zeigt auf
|
||
<varname>$::form->{var}</varname>. Nochmal von der anderen Seite erläutert, innerhalb von (Web-)Templates sieht man häufiger
|
||
solche Konstrukte:
|
||
</para>
|
||
<para>Das Objekt der Klasse Form hat leider im Moment noch viele
|
||
zentrale Funktionen die vom internen Zustand abhängen, deshalb bitte
|
||
nie einfach zerstören oder überschreiben (zumindestens nicht kurz
|
||
vor einem Release oder in Absprache über bspw. die devel-Liste ;-).
|
||
Es geht ziemlich sicher etwas kaputt.</para>
|
||
|
||
<para><varname>$::form</varname> ist gleichzeitig der Standard Scope
|
||
in den <productname>Template::Toolkit</productname> Templates
|
||
außerhalb der Controller: der Ausdruck <function>[% var
|
||
%]</function> greift auf <varname>$::form->{var}</varname> zu.
|
||
Unter Controllern ist der Standard Scope anders, da lautet der
|
||
Zugriff <function>[% FORM.var %]</function>. In Druckvorlagen sind
|
||
normale Variablen ebenfall im <varname>$::form</varname> Scope, d.h.
|
||
<function><%var%></function> zeigt auf
|
||
<varname>$::form->{var}</varname>. Nochmal von der anderen Seite
|
||
erläutert, innerhalb von (Web-)Templates sieht man häufiger solche
|
||
Konstrukte:</para>
|
||
|
||
<programlisting>[%- IF business %]
|
||
# (... Zeig die Auswahlliste Kunden-/Lieferantentyp an)
|
||
[%- END %]</programlisting>
|
||
|
||
<para>
|
||
Entweder wird hier dann $::form->{business} ausgewertet oder aber der Funktion <function>$form->parse_html_template</function>
|
||
wird explizit noch ein zusätzlicher Hash übergeben, der dann auch in den (Web-)Templates zu Verfügung steht, bspw. so:
|
||
</para>
|
||
<para>Entweder wird hier dann $::form->{business} ausgewertet
|
Auch abrufbar als: Unified diff
doc/skr04-update-3804 nach DocBook gewandelt