diverse Doku Aktuallisierungen
authorwulf@coulmann.de <wulf@coulmann.de>
Mon, 12 Nov 2012 11:36:27 +0000 (12:36 +0100)
committerwulf@coulmann.de <wulf@coulmann.de>
Mon, 12 Nov 2012 11:36:27 +0000 (12:36 +0100)
./templates/print/f-tex/README -> Onlinedoku

12 files changed:
doc/dokumentation.xml
doc/html/ch01.html
doc/html/ch02.html
doc/html/ch02s04.html
doc/html/ch02s05.html
doc/html/ch02s06.html
doc/html/ch02s10.html
doc/html/ch03s02.html
doc/html/ch04.html
doc/html/index.html
doc/kivitendo-Dokumentation.pdf
templates/print/f-tex/README [deleted file]

index 4208d84..a2a3c8a 100644 (file)
         <para>im kivitendo-Forum: <ulink
         url="https://forum.kivitendo.org/">https://forum.kivitendo.org/</ulink></para>
       </listitem>
-
-      <listitem>
-        <para>im alten Lx-Office-Wiki unter Dokumentation (<ulink
-        url="http://wiki.lx-office.org/index.php?title=Installation_Lx-Office_ERP">http://wiki.lx-office.org/index.php?title=Installation_Lx-Office_ERP</ulink>)</para>
-      </listitem>
     </itemizedlist>
   </chapter>
 
         dass kivitendo auf ihnen läuft:</para>
 
         <itemizedlist>
+
           <listitem>
-            <para>Ubuntu 10.04 LTS Lucid Lynx bis 12.10 Oneiric Ocelot</para>
+            <para>Debian</para>
+            <itemizedlist>
+               <listitem>
+                 <para>6.0 Squeeze (hier muss allerdings das Modul FCGI in der Version >= 0.72 compiled werden)</para>
+               </listitem>
+               <listitem>
+                 <para>7.0 Wheezy</para>
+               </listitem>
+            </itemizedlist>
           </listitem>
 
           <listitem>
-            <para>Debian 5.0 Lenny und 6.0 Squeeze</para>
+            <para>Ubuntu 10.04 LTS Lucid Lynx bis 12.10 Oneiric Ocelot</para>
           </listitem>
 
           <listitem>
@@ -363,7 +367,7 @@ dbcharset = UTF-8</programlisting>
        eingreifen</para>
 
         <para>Dieses kann überprüft werden: ist das Encoding der Datenbank
-       “template1” “UTF8”, so braucht man nichts weiteres diesbezueglich
+       “template1” “UTF8”, so braucht man nichts weiteres diesbezüglich
        unternehmen. Zum Testen:
 
         <programlisting>su postgres
@@ -438,6 +442,9 @@ psql template1</programlisting>
         anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen
         können:</para>
 
+       <para>Die Frage, ob der neue User Superuser sein soll, können Sie mit nein
+       beantworten, genauso ist die Berechtigung neue User (Roles) zu
+       generieren nicht nötig.</para>
              <programlisting>su - postgres
 createuser -d -P kivitendo
 exit</programlisting>
@@ -1308,46 +1315,314 @@ insserv kivitendo-task-server</programlisting>
       <para>Das Drucksystem von kivitendo benutzt von Haus aus LaTeX Vorlagen.
       Um drucken zu können, braucht der Server ein geeignetes LaTeX System. Am
       einfachsten ist dazu eine <literal>texlive</literal> Installation. Unter
-      Debianoiden Betriebssystemen sind das die Pakete:</para>
-
-      <para><literal>texlive-latex-base texlive-latex-extra
-      texlive-fonts-recommended</literal></para>
+      Debianoiden Betriebssystemen installiert man die Pakete mit:</para>
 
-      <para>Diese hinteren beiden enthalten Bibliotheken und Schriftarten die
-      von den Standardvorlagen verwendet werden.</para>
+      <para><programlisting>aptitude install \
+      texlive-base-bin \
+texlive-latex-recommended \
+texlive-fonts-recommended \
+texlive-latex-extra \
+texlive-lang-german \
+texlive-generic-extra
+      </programlisting></para>
 
       <para>TODO: rpm Pakete.</para>
 
-      <para>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:</para>
+      <para>kivitendo bringt 3 alternative Vorlagensätze mit:</para>
+        <itemizedlist>
+          <listitem>Standard</listitem>
+          <listitem>f-tex</listitem>
+          <listitem>RB</listitem>
+        </itemizedlist>
 
-      <itemizedlist>
-        <listitem>
-          <para>! 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.</para>
-        </listitem>
+      <sect2 id="Vorlagenverzeichnis-anlegen" xreflabel="Vorlagenverzeichnis anlegen">
+        <title>Vorlagenverzeichnis anlegen</title>
+        <para>Bei einem neuen Benutzer/Mandanten lässt sich einer dieser Vorlagensätze
+        als Basis für die zu druckenden Dokumente auswählen:</para>
 
-        <listitem>
-          <para>! Package inputenc Error: Unicode char \u8:æ¡\9c not set up for
-          use with LaTeX. Dieser Fehler tritt auf, wenn sie versuchen mit
-          einer Standardinstallation exotische utf8 Zeichen zu drucken.
-          TeXLive unterstützt von Haus nur romanische Schriften und muss mit
-          diversen Tricks dazu gebracht werden andere Zeichen zu akzeptieren.
-          Adere TeX Systeme wie XeTeX schaffen hier Abhilfe.</para>
-        </listitem>
-      </itemizedlist>
-
-      <para>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:
-      <literal>pdflatex</literal>), und stellen Sie sicher, dass pdflatex
-      (oder das von Ihnen verwendete System) vom Webserver ausgeführt werden
-      darf.</para>
+        <para><programlisting>unter:
+Administration -> Benutzerverwaltung -> [ein Benutzer]
+   Erzeuge Vorlagen, Name: [Name für das neue Vorlagenverzeichnis]
+   Vorlagen auswählen: [Default, f-tex oder RB]
+   -> Speichern
+        </programlisting></para>
+        <para>der gleiche Vorlagensatz kann, wenn er mal angelegt ist, bei mehreren Benutzern verwendet werden.</para>
+
+        <para>Die Abhängigkeiten kann man prüfen mit:</para>
+        <para><programlisting>/scripts/installation_check.pl -l</programlisting></para>
+
+      </sect2>
+      <sect2 id="Standard">
+        <title>Default</title>
+
+        <para>Der standard Vorlagensatz von Kivitendo. Wie unter
+        <ulink url="http://demo.kivitendo.org">http://demo.kivitendo.org</ulink> zu sehen.</para>
+
+      </sect2>
+
+      <sect2 id="f-tex">
+        <title>f-tex</title>
+
+        <para>Ein Vorlagensatz, der in Wenigen Minuten alle Dokumente zur stellt.</para>
+
+        <sect3 id="f-tex-Feature-Übersicht">
+          <title>f-tex Feature Übersicht</title>
+          <itemizedlist>
+            <listitem>Keine Retundanz. Es wird ein und die selbe Latex-Vorlage für alle
+            briefartigen Dokumente verwendet. Also Angebot, Rechnung,
+            Performarechnung, Lieferschein, aber eben nicht für Paketaufkleber
+            etc.. </listitem>
+            <listitem>Leichte Anpassung an das Firmen Layout durch verwendung eines Hintergrund-PDF
+            dieses kann leicht mit dem eigenen Lieblingsprogramm erstellt werden
+            (Openoffice, Inkscape, Gimp, Adobe*)
+            </listitem>
+            <listitem>Hintergrundpdf um schaltbar auf "nur erste Seite" (default) oder "alle Seiten"
+            (option "bgPdfFirstPageOnly" in Datei letter.lco)
+            </listitem>
+            <listitem>Hintergrundpdf für Ausdruck auf bereits bedrucktem Briefpapier Abschaltbar,
+            es wird dann nur bei per email versendeten Dokumenten eingebunden.
+            (Option "bgPdfEmailOnly" in Datei letter.lco)
+            </listitem>
+            <listitem>Nutzung der Layout-Funktionen von Latex für Seitenumbruch,
+            wiederholung von Kopfzeilen, Zwischensummen etc. (danke an Kai-Martin für
+            die Vorarbeit)
+            </listitem>
+            <listitem>Anzeige des Empfängerlandes im Adressfeld nur, wenn es vom Land des
+            eigenen Unternehmens abweicht (also die Rechnung das Land verlässt).
+            </listitem>
+            <listitem>Multisprachfähig leicht um weitere Sprachen zu erweitern, alle
+            Übersetzungen in der Datei translatinos.tex.
+            </listitem>
+            <listitem>Auflistung von Bruttopreisen für Endverbraucher.
+            </listitem>
+          </itemizedlist>
+        </sect3>
+
+        <sect3 id="f-tex-installation">
+          <title>f-tex Die Installation</title>
+          <itemizedlist>
+            <listitem>Vorlagenverzeichnis mit Option f-tex anlegen, siehe: 
+              <xref linkend="Vorlagenverzeichnis-anlegen"/>
+              Das Vorlagensystem funktioniert jetzt schon, hat allerdings noch einen
+              Beispiel Briefkopf
+            </listitem>
+            <listitem>
+              Erstelle eine pdf-Hintergrund Datei und verlinke sie nach
+              <programlisting>./letter_head.pdf</programlisting>
+            </listitem>
+            <listitem>
+              Editiere den Bereich "settings" in der datei letter.lco
+            </listitem>
+          </itemizedlist>
+
+          <para>oder etwas Detaillierter:</para>
+
+          <para>
+            Es wird eine Datei sample.lco erstellt und diese nach letter.lco verlinkt.
+            Eigentlich ist dies die Datei die für die Firmenspezifischen Anpassungen
+            gedacht ist.  Da die Einstiegshürde in LaTeX nicht ganz niedrig ist, wird in
+            dieser Datei auf ein Hintergrundpdf verwiesen. Ich empfehle über dieses pdf
+            die persönlichen Layoutanpassungen vorzunehmen und sample.lco unverändert zu
+            lassen. Die die Anpassung über eine *.lco Datei die letztlich auf letter.lco
+            verlinkt ist ist aber auch möglich.
+          </para>
+          <para>
+            Es wird eine Datei sample_head.pdf mit ausgeliefert, diese wird nach
+            letter_head.pdf verlinkt. Damit gibt es schon mal eine Funktionsfähige
+            Vorlage. Schau Dir nach Abschluss der Installation die Datei sample_haed.pdf
+            an und erstelle ein entsprechendes pdf passend zum Briefkopf Deiner Firma,
+            diese dann im Template Verzeichniss ablegen und statt sample_head.pdf nach
+            letter_head.pdf verlinken.
+          </para>
+          <para>
+            letzlich muss ./letter_head.pdf auf das passende Hintergrundpdf verweisen,
+            welches gewünschten Briefkopf enthält. Bei Updates oder nach erneutem
+          </para>
+          <para>
+            Es wird eine Datei mydata.tex.example ausgeliefert die nach mytdata.tex
+            verlinkt ist. Bei verwendetem Hintergrundpdf wird nur der Eintrag für das
+            Land verwendet die Datei muss  also nicht angefasst werden. Die Anderen Werte
+            sind für das Modul  lp (Label Print in erp - zur Zeit nicht im
+            öffentlichen Zweig).
+          </para>
+          <para>
+            Alle Anpassungen zum Briefkopf, Fusszeilen, Firmenlogos, etc.
+            sollten über die Hintergrund pdf datei oder die *.lco Datei erfolgen.
+          </para>
+        </sect3>
+        <sect3 id="f-tex-Funktionsübersicht">
+          <title>f-tex Funktionsübersicht</title>
+          <para>
+            Das Konzept von kivitendo sieht vor, für jedes Dokument
+            (Auftragsbestätigung, Lieferschein, Rechnung, etc.) eine
+            Latex-Vorlage vorzuhalten, dies ist sehr Wartungsunfreundlich. Auch
+            das Einlesen einer einheitlichen Quelle für den Briefkopf bringt nur
+            bedingte Vorteile, da hier leicht die Pflege der Artikel-Tabellen aus
+            dem Ruder läuft. Bei dem vorliegenden Ansatz wird für alle
+            Briefartigen Dokumente mit Artikel-Tabellen eine einheitliche
+            Latexvorlage verwendet, welche über Codeweichen die Besonderheiten
+            der jeweiligen Dokumente Berücksichtigt
+          </para>
+          <itemizedlist>
+            <listitem>Tabellen mit oder ohne Preis
+            </listitem>
+            <listitem>Sprache der Tabellenüberschriften etc.
+            </listitem>
+            <listitem>Anpassung der Bezugs-Zeile (z.B. Rechnungsnummer versus
+               Angebotsnummer)
+            </listitem>
+            <listitem>Darstellung von Brutto oder Netto-Preisen in der Auflistung
+              (Endverbraucher versus Gewerblicher Kunde)
+            </listitem>
+           </itemizedlist>
+
+           <para>Nachteil:</para>
+           <para>
+             Latex hat ohnehin eine sehr steile Lehrnkurve. Die Datei letter.tex
+             ist sehr komplex und verstärkt damit diesen Effekt noch einmal erheblich.
+             Wer Latex-Erfahrung hat, oder geübt ist Scriptsparachen nachzuvollziehen kann
+             natürlich auch innerhalb der Tabellendarstellung gut persönliche Anpassungen
+             vornehmen. Aber man kann sich hier bei Veränderungen sehr schnell häftig in
+             den Fuss schiessen.
+           </para>
+           <para>Wer nicht so tief in die Materie einsteigen will oder leicht zu
+              frustrieren ist, sollte sein Hintergrund PDF auf Basis der mitglieferten
+              Datei sample_head.pdf erstellen, und sich an der Form der dargestellten Tabellen
+              wie sie ausgeliefert werden, erfreuen.
+           </para>
+           <para>Kleiner Tipp:
+             Nicht zu viel auf einmal wollen, lieber kleine kontinuierliche
+             Schritte gehen.
+           </para>
+
+
+           <para>Bruttopreise für Endvorbraucher</para>
+          <para>Der auszuweisende Bruttopreis wird innerhalb der LaTeX
+             Umgebung berechnet.  es gibt zwar ein Feld um bei Aufträgen "alle Preise
+             Brutto" auszuwählen, aber:</para>
+          <itemizedlist>
+            <listitem>
+              hierfür müssen die Preise auch in Brutto in der Datenbank stehen
+              (ja - das lässt sich über die Preisgruppen und die Zuordung einer Default-Preisgruppe
+              handhaben)
+            </listitem>
+            <listitem>
+              man darf beim Anlegen des Vorgangs nicht vergessen Dieses Häkchen zu setzen.
+               (das ist in der Praxis wenn man sowohl Endverbraucher- wie Gewerbekunden beliefert
+              der eigentliche Knackpunkt)
+            </listitem>
+          </itemizedlist>
+
+          <para>
+            Es gibt mit f-tex eine weitere Alternative. Die Information ob Brutto oder
+            Nettorechnung wird mit den Zahlarten verknüpft. Zahlarten bei denen
+            Rechnungen, Angebote, etc, in Brutto ausgegeben werden sollen enden mit "_E"
+            (für Endverbraucher) Falls identische Zahlarten für Gewerbekunden und
+            Endverbraucher vorhanden sind legt man diese einfach doppelt an (einmal mit
+            der Namensendung "_E"). Gewinn:</para>
+          <itemizedlist>
+            <listitem>
+               die Entscheidung ob Netopreise ausgewiesen werden ist nicht mehr fix
+               mit einer Preisliste Verbunden.
+            </listitem>
+            <listitem>
+              die Default-Zahlart kann im Kundendatensatz hinterlegt werden und man
+              muss nicht mehr daran denken "alle Preise Netto" auszuwählen.
+            </listitem>
+            <listitem>
+              Die Entscheidung ob Netto/Oder Bruttopreise ausgewiesen werden kann direkt
+              beim Drucken reviediert werden, ohne dass sich der Auftragswert ändert.
+            </listitem>
+          </itemizedlist>
+
+          <para>Lieferadressen</para>
+          <itemizedlist>
+            <listitem>
+              in Lieferscheinen kommen shipto* -Variablen im Adressfeld zum Einsatz
+            </listitem>
+            <listitem>
+              wenn die shipto*variable leer ist wird die entsprechende
+              Adressvariable eingesetzt.  Wenn Also die Lieferadresse in Strasse,
+              Hausnummer und Ort abweicht, müssen auch nur diese Felder in der
+              Lieferadresse ausgefüllt werden. Für den Firmenname wird der Wert der
+              Hauptadresse angezeigt.
+            </listitem>
+          </itemizedlist>
+        </sect3>
+
+      </sect2>
+
+      <sect2 id="RB">
+        <title>RB</title>
+
+        <para>Vollständiger Dokumentensatz mit alternativen Design</para>
+
+      </sect2>
+
+      <sect2 id="Allgemeine Hinweise zu LaTeX">
+        <title>Allgemeine Hinweise zu LaTeX Vorlagen</title>
+        <para>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:</para>
+
+        <itemizedlist>
+          <listitem>
+            <para>! 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.</para>
+          </listitem>
+          <listitem>
+            <para>! Package inputenc Error: Unicode char \u8:æ¡\9c not set up for
+            use with LaTeX. Dieser Fehler tritt auf, wenn sie versuchen mit
+            einer Standardinstallation exotische utf8 Zeichen zu drucken.
+            TeXLive unterstützt von Haus nur romanische Schriften und muss mit
+            diversen Tricks dazu gebracht werden andere Zeichen zu akzeptieren.
+            Adere TeX Systeme wie XeTeX schaffen hier Abhilfe.</para>
+          </listitem>
+        </itemizedlist>
+
+        <para>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:
+        <literal>pdflatex</literal>), und stellen Sie sicher, dass pdflatex
+        (oder das von Ihnen verwendete System) vom Webserver ausgeführt werden
+        darf.</para>
+
+        <para>Wenn sich das Problem nicht auf Grund der ausgabe im Webbrowser verifizieren lässt:</para>
+        <itemizedlist>
+          <listitem>
+             <para> editiere [kivitendo-home]/config/kivitendo.conf und ändere "keep_tmp_files" auf 1</para>
+             <para><programlisting>keep_temp_files = 1;</programlisting></para>
+          </listitem>
+          <listitem>
+             <para>bei fastcgi oder mod_perl den Webserver neu Starten</para>
+          </listitem>
+          <listitem>
+            <para>Nochmal einen Druckversuch im Webfrontend auslösen</para>
+          </listitem>
+          <listitem>
+            <para>wechsele in das users Verzeichnis von kivitendo</para>
+            <para><programlisting>cd [kivitendo-home]/users</programlisting></para>
+          </listitem>
+          <listitem>
+            <para>LaTeX Suchpfad anpassen:</para>
+            <para><programlisting>export TEXINPUTS=".:[kivitendo-home]/templates/[aktuelles_template_verzeichniss]:"</programlisting></para>
+          </listitem>
+          <listitem>
+            <para>Finde herraus welche Datei kivitendo beim letzten Durchlauf erstellt hat</para>
+            <para><programlisting>ls -lahtr ./1*.tex</programlisting></para>
+            <para>Es sollte die letzte Datei ganz unten sein</para>
+          </listitem>
+          <listitem>
+            <para>für besseren Hinweis auf Fehler texdatei nochmals übersetzen</para>
+            <para><programlisting>pdflatex ./1*.tex</programlisting></para>
+            <para>in der *.tex datei nach dem Fehler suchen.</para>
+          </listitem>
+        </itemizedlist>
+      </sect2>
     </sect1>
 
     <sect1 id="OpenDocument-Vorlagen">
index 7922e2b..1478eb6 100644 (file)
@@ -1,4 +1,4 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Kapitel 1. Aktuelle Hinweise</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="prev" href="index.html" title="kivitendo: 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>im kivitendo-Forum: <a class="ulink" href="https://forum.kivitendo.org/" target="_top">https://forum.kivitendo.org/</a>
-            </p></li><li class="listitem"><p>im alten Lx-Office-Wiki unter Dokumentation (<a class="ulink" href="http://wiki.lx-office.org/index.php?title=Installation_Lx-Office_ERP" target="_top">http://wiki.lx-office.org/index.php?title=Installation_Lx-Office_ERP</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">kivitendo: 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>
\ No newline at end of file
+            </p></li></ul></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Zurück</a>&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">kivitendo: 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>
\ No newline at end of file
index 28b4e22..acd0f71 100644 (file)
@@ -6,7 +6,7 @@
         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>Mitte 2012 sind das folgende Systeme, von denen bekannt ist,
-        dass kivitendo auf ihnen läuft:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Ubuntu 10.04 LTS Lucid Lynx bis 12.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 16</p></li></ul></div></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 kivitendo werden zwingend ein Webserver (meist
+        dass kivitendo auf ihnen läuft:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Debian</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>6.0 Squeeze (hier muss allerdings das Modul FCGI in der Version &gt;= 0.72 compiled werden)</p></li><li class="listitem"><p>7.0 Wheezy</p></li></ul></div></li><li class="listitem"><p>Ubuntu 10.04 LTS Lucid Lynx bis 12.10 Oneiric Ocelot</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 16</p></li></ul></div></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 kivitendo werden zwingend ein Webserver (meist
         Apache) und ein Datenbankserver (PostgreSQL, mindestens v8.2)
         benötigt.</p><p>Zusätzlich benötigt kivitendo 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>
index 9a1e409..1d656ee 100644 (file)
@@ -2,7 +2,7 @@
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>2.4. Anpassung der PostgreSQL-Konfiguration</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s03.html" title="2.3. kivitendo-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>Bei aktuellen Serverinstallationen braucht man hier meist nicht
        eingreifen</p><p>Dieses kann überprüft werden: ist das Encoding der Datenbank
-       “template1” “UTF8”, so braucht man nichts weiteres diesbezueglich
+       “template1” “UTF8”, so braucht man nichts weiteres diesbezüglich
        unternehmen. Zum Testen:
 
         </p><pre class="programlisting">su postgres
@@ -41,7 +41,9 @@ psql template1</pre><p>
 \q</pre></div><div class="sect2" title="2.4.4. Datenbankbenutzer anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Datenbankbenutzer-anlegen"></a>2.4.4. Datenbankbenutzer anlegen</h3></div></div></div><p>Wenn Sie nicht den Datenbanksuperuser “postgres” zum Zugriff
         benutzen wollen, so sollten Sie bei PostgreSQL einen neuen Benutzer
         anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen
-        können:</p><pre class="programlisting">su - postgres
+        können:</p><p>Die Frage, ob der neue User Superuser sein soll, können Sie mit nein
+       beantworten, genauso ist die Berechtigung neue User (Roles) zu
+       generieren nicht nötig.</p><pre class="programlisting">su - postgres
 createuser -d -P kivitendo
 exit</pre><p>Wenn Sie später einen Datenbankzugriff konfigurieren, verändern
         Sie den evtl. voreingestellten Benutzer “postgres” auf “kivitendo” bzw.
index 523411b..de63f2b 100644 (file)
@@ -1,6 +1,6 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>2.5. Webserver-Konfiguration</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: 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="d0e589"></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
+   <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="kivitendo: 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="d0e592"></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
index 5adbf1a..4dd3522 100644 (file)
@@ -29,7 +29,7 @@
         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="d0e773"></a>2.6.2.1. SystemV-basierende Systeme (z.B. Debian, OpenSuSE, Fedora
+        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="d0e776"></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/kivitendo-server</code>
           nach <code class="filename">/etc/init.d/kivitendo-server</code>. Passen
@@ -40,7 +40,7 @@
 insserv kivitendo-task-server</pre></li><li class="listitem"><p>OpenSuSE und Fedora Core:</p><pre class="programlisting">chkconfig --add kivitendo-task-server</pre></li></ul></div><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet
           werden: <span class="command"><strong>/etc/init.d/kivitendo-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="d0e803"></a>2.6.2.2. Upstart-basierende Systeme (z.B. Ubuntu)</h4></div></div></div><p>Kopieren Sie die Datei
+               </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="d0e806"></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/kivitendo-task-server.conf</code>
           nach <code class="filename">/etc/init/kivitendo-task-server.conf</code>.
           Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
index d9bbfec..d050121 100644 (file)
    <title>2.10. Drucken mit kivitendo</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s09.html" title="2.9. E-Mail-Versand aus kivitendo heraus"><link rel="next" href="ch02s11.html" title="2.11. 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.10. Drucken mit kivitendo</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. Drucken mit kivitendo"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Drucken-mit-kivitendo"></a>2.10. Drucken mit kivitendo</h2></div></div></div><p>Das Drucksystem von kivitendo 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:æ¡\9c not set up for
-          use with LaTeX. Dieser Fehler tritt auf, wenn sie versuchen mit
-          einer Standardinstallation exotische utf8 Zeichen zu drucken.
-          TeXLive unterstützt von Haus nur romanische Schriften und muss mit
-          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="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. E-Mail-Versand aus kivitendo heraus&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. OpenDocument-Vorlagen</td></tr></table></div></body></html>
\ No newline at end of file
+      Debianoiden Betriebssystemen installiert man die Pakete mit:</p><p>
+            </p><pre class="programlisting">aptitude install \
+      texlive-base-bin \
+texlive-latex-recommended \
+texlive-fonts-recommended \
+texlive-latex-extra \
+texlive-lang-german \
+texlive-generic-extra
+      </pre><p>
+         </p><p>TODO: rpm Pakete.</p><p>kivitendo bringt 3 alternative Vorlagensätze mit:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">Standard</li><li class="listitem">f-tex</li><li class="listitem">RB</li></ul></div><div class="sect2" title="2.10.1. Vorlagenverzeichnis anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Vorlagenverzeichnis-anlegen"></a>2.10.1. Vorlagenverzeichnis anlegen</h3></div></div></div><p>Bei einem neuen Benutzer/Mandanten lässt sich einer dieser Vorlagensätze
+        als Basis für die zu druckenden Dokumente auswählen:</p><p>
+               </p><pre class="programlisting">unter:
+Administration -&gt; Benutzerverwaltung -&gt; [ein Benutzer]
+   Erzeuge Vorlagen, Name: [Name für das neue Vorlagenverzeichnis]
+   Vorlagen auswählen: [Default, f-tex oder RB]
+   -&gt; Speichern
+        </pre><p>
+            </p><p>der gleiche Vorlagensatz kann, wenn er mal angelegt ist, bei mehreren Benutzern verwendet werden.</p><p>Die Abhängigkeiten kann man prüfen mit:</p><p>
+               </p><pre class="programlisting">/scripts/installation_check.pl -l</pre><p>
+            </p></div><div class="sect2" title="2.10.2. Default"><div class="titlepage"><div><div><h3 class="title"><a name="Standard"></a>2.10.2. Default</h3></div></div></div><p>Der standard Vorlagensatz von Kivitendo. Wie unter
+        <a class="ulink" href="http://demo.kivitendo.org" target="_top">http://demo.kivitendo.org</a> zu sehen.</p></div><div class="sect2" title="2.10.3. f-tex"><div class="titlepage"><div><div><h3 class="title"><a name="f-tex"></a>2.10.3. f-tex</h3></div></div></div><p>Ein Vorlagensatz, der in Wenigen Minuten alle Dokumente zur stellt.</p><div class="sect3" title="2.10.3.1. f-tex Feature Übersicht"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-Feature-%C3%9Cbersicht"></a>2.10.3.1. f-tex Feature Übersicht</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">Keine Retundanz. Es wird ein und die selbe Latex-Vorlage für alle
+            briefartigen Dokumente verwendet. Also Angebot, Rechnung,
+            Performarechnung, Lieferschein, aber eben nicht für Paketaufkleber
+            etc.. </li><li class="listitem">Leichte Anpassung an das Firmen Layout durch verwendung eines Hintergrund-PDF
+            dieses kann leicht mit dem eigenen Lieblingsprogramm erstellt werden
+            (Openoffice, Inkscape, Gimp, Adobe*)
+            </li><li class="listitem">Hintergrundpdf um schaltbar auf "nur erste Seite" (default) oder "alle Seiten"
+            (option "bgPdfFirstPageOnly" in Datei letter.lco)
+            </li><li class="listitem">Hintergrundpdf für Ausdruck auf bereits bedrucktem Briefpapier Abschaltbar,
+            es wird dann nur bei per email versendeten Dokumenten eingebunden.
+            (Option "bgPdfEmailOnly" in Datei letter.lco)
+            </li><li class="listitem">Nutzung der Layout-Funktionen von Latex für Seitenumbruch,
+            wiederholung von Kopfzeilen, Zwischensummen etc. (danke an Kai-Martin für
+            die Vorarbeit)
+            </li><li class="listitem">Anzeige des Empfängerlandes im Adressfeld nur, wenn es vom Land des
+            eigenen Unternehmens abweicht (also die Rechnung das Land verlässt).
+            </li><li class="listitem">Multisprachfähig leicht um weitere Sprachen zu erweitern, alle
+            Übersetzungen in der Datei translatinos.tex.
+            </li><li class="listitem">Auflistung von Bruttopreisen für Endverbraucher.
+            </li></ul></div></div><div class="sect3" title="2.10.3.2. f-tex Die Installation"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-installation"></a>2.10.3.2. f-tex Die Installation</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">Vorlagenverzeichnis mit Option f-tex anlegen, siehe: 
+              <a class="xref" href="ch02s10.html#Vorlagenverzeichnis-anlegen" title="2.10.1. Vorlagenverzeichnis anlegen">Vorlagenverzeichnis anlegen</a>
+              Das Vorlagensystem funktioniert jetzt schon, hat allerdings noch einen
+              Beispiel Briefkopf
+            </li><li class="listitem">
+              Erstelle eine pdf-Hintergrund Datei und verlinke sie nach
+              <pre class="programlisting">./letter_head.pdf</pre></li><li class="listitem">
+              Editiere den Bereich "settings" in der datei letter.lco
+            </li></ul></div><p>oder etwas Detaillierter:</p><p>
+            Es wird eine Datei sample.lco erstellt und diese nach letter.lco verlinkt.
+            Eigentlich ist dies die Datei die für die Firmenspezifischen Anpassungen
+            gedacht ist.  Da die Einstiegshürde in LaTeX nicht ganz niedrig ist, wird in
+            dieser Datei auf ein Hintergrundpdf verwiesen. Ich empfehle über dieses pdf
+            die persönlichen Layoutanpassungen vorzunehmen und sample.lco unverändert zu
+            lassen. Die die Anpassung über eine *.lco Datei die letztlich auf letter.lco
+            verlinkt ist ist aber auch möglich.
+          </p><p>
+            Es wird eine Datei sample_head.pdf mit ausgeliefert, diese wird nach
+            letter_head.pdf verlinkt. Damit gibt es schon mal eine Funktionsfähige
+            Vorlage. Schau Dir nach Abschluss der Installation die Datei sample_haed.pdf
+            an und erstelle ein entsprechendes pdf passend zum Briefkopf Deiner Firma,
+            diese dann im Template Verzeichniss ablegen und statt sample_head.pdf nach
+            letter_head.pdf verlinken.
+          </p><p>
+            letzlich muss ./letter_head.pdf auf das passende Hintergrundpdf verweisen,
+            welches gewünschten Briefkopf enthält. Bei Updates oder nach erneutem
+          </p><p>
+            Es wird eine Datei mydata.tex.example ausgeliefert die nach mytdata.tex
+            verlinkt ist. Bei verwendetem Hintergrundpdf wird nur der Eintrag für das
+            Land verwendet die Datei muss  also nicht angefasst werden. Die Anderen Werte
+            sind für das Modul  lp (Label Print in erp - zur Zeit nicht im
+            öffentlichen Zweig).
+          </p><p>
+            Alle Anpassungen zum Briefkopf, Fusszeilen, Firmenlogos, etc.
+            sollten über die Hintergrund pdf datei oder die *.lco Datei erfolgen.
+          </p></div><div class="sect3" title="2.10.3.3. f-tex Funktionsübersicht"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-Funktions%C3%BCbersicht"></a>2.10.3.3. f-tex Funktionsübersicht</h4></div></div></div><p>
+            Das Konzept von kivitendo sieht vor, für jedes Dokument
+            (Auftragsbestätigung, Lieferschein, Rechnung, etc.) eine
+            Latex-Vorlage vorzuhalten, dies ist sehr Wartungsunfreundlich. Auch
+            das Einlesen einer einheitlichen Quelle für den Briefkopf bringt nur
+            bedingte Vorteile, da hier leicht die Pflege der Artikel-Tabellen aus
+            dem Ruder läuft. Bei dem vorliegenden Ansatz wird für alle
+            Briefartigen Dokumente mit Artikel-Tabellen eine einheitliche
+            Latexvorlage verwendet, welche über Codeweichen die Besonderheiten
+            der jeweiligen Dokumente Berücksichtigt
+          </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">Tabellen mit oder ohne Preis
+            </li><li class="listitem">Sprache der Tabellenüberschriften etc.
+            </li><li class="listitem">Anpassung der Bezugs-Zeile (z.B. Rechnungsnummer versus
+               Angebotsnummer)
+            </li><li class="listitem">Darstellung von Brutto oder Netto-Preisen in der Auflistung
+              (Endverbraucher versus Gewerblicher Kunde)
+            </li></ul></div><p>Nachteil:</p><p>
+             Latex hat ohnehin eine sehr steile Lehrnkurve. Die Datei letter.tex
+             ist sehr komplex und verstärkt damit diesen Effekt noch einmal erheblich.
+             Wer Latex-Erfahrung hat, oder geübt ist Scriptsparachen nachzuvollziehen kann
+             natürlich auch innerhalb der Tabellendarstellung gut persönliche Anpassungen
+             vornehmen. Aber man kann sich hier bei Veränderungen sehr schnell häftig in
+             den Fuss schiessen.
+           </p><p>Wer nicht so tief in die Materie einsteigen will oder leicht zu
+              frustrieren ist, sollte sein Hintergrund PDF auf Basis der mitglieferten
+              Datei sample_head.pdf erstellen, und sich an der Form der dargestellten Tabellen
+              wie sie ausgeliefert werden, erfreuen.
+           </p><p>Kleiner Tipp:
+             Nicht zu viel auf einmal wollen, lieber kleine kontinuierliche
+             Schritte gehen.
+           </p><p>Bruttopreise für Endvorbraucher</p><p>Der auszuweisende Bruttopreis wird innerhalb der LaTeX
+             Umgebung berechnet.  es gibt zwar ein Feld um bei Aufträgen "alle Preise
+             Brutto" auszuwählen, aber:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+              hierfür müssen die Preise auch in Brutto in der Datenbank stehen
+              (ja - das lässt sich über die Preisgruppen und die Zuordung einer Default-Preisgruppe
+              handhaben)
+            </li><li class="listitem">
+              man darf beim Anlegen des Vorgangs nicht vergessen Dieses Häkchen zu setzen.
+               (das ist in der Praxis wenn man sowohl Endverbraucher- wie Gewerbekunden beliefert
+              der eigentliche Knackpunkt)
+            </li></ul></div><p>
+            Es gibt mit f-tex eine weitere Alternative. Die Information ob Brutto oder
+            Nettorechnung wird mit den Zahlarten verknüpft. Zahlarten bei denen
+            Rechnungen, Angebote, etc, in Brutto ausgegeben werden sollen enden mit "_E"
+            (für Endverbraucher) Falls identische Zahlarten für Gewerbekunden und
+            Endverbraucher vorhanden sind legt man diese einfach doppelt an (einmal mit
+            der Namensendung "_E"). Gewinn:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+               die Entscheidung ob Netopreise ausgewiesen werden ist nicht mehr fix
+               mit einer Preisliste Verbunden.
+            </li><li class="listitem">
+              die Default-Zahlart kann im Kundendatensatz hinterlegt werden und man
+              muss nicht mehr daran denken "alle Preise Netto" auszuwählen.
+            </li><li class="listitem">
+              Die Entscheidung ob Netto/Oder Bruttopreise ausgewiesen werden kann direkt
+              beim Drucken reviediert werden, ohne dass sich der Auftragswert ändert.
+            </li></ul></div><p>Lieferadressen</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+              in Lieferscheinen kommen shipto* -Variablen im Adressfeld zum Einsatz
+            </li><li class="listitem">
+              wenn die shipto*variable leer ist wird die entsprechende
+              Adressvariable eingesetzt.  Wenn Also die Lieferadresse in Strasse,
+              Hausnummer und Ort abweicht, müssen auch nur diese Felder in der
+              Lieferadresse ausgefüllt werden. Für den Firmenname wird der Wert der
+              Hauptadresse angezeigt.
+            </li></ul></div></div></div><div class="sect2" title="2.10.4. RB"><div class="titlepage"><div><div><h3 class="title"><a name="RB"></a>2.10.4. RB</h3></div></div></div><p>Vollständiger Dokumentensatz mit alternativen Design</p></div><div class="sect2" title="2.10.5. Allgemeine Hinweise zu LaTeX Vorlagen"><div class="titlepage"><div><div><h3 class="title"><a name="Allgemeine Hinweise zu LaTeX"></a>2.10.5. Allgemeine Hinweise zu LaTeX Vorlagen</h3></div></div></div><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:æ¡\9c not set up for
+            use with LaTeX. Dieser Fehler tritt auf, wenn sie versuchen mit
+            einer Standardinstallation exotische utf8 Zeichen zu drucken.
+            TeXLive unterstützt von Haus nur romanische Schriften und muss mit
+            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><p>Wenn sich das Problem nicht auf Grund der ausgabe im Webbrowser verifizieren lässt:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> editiere [kivitendo-home]/config/kivitendo.conf und ändere "keep_tmp_files" auf 1</p><p>
+                     </p><pre class="programlisting">keep_temp_files = 1;</pre><p>
+                  </p></li><li class="listitem"><p>bei fastcgi oder mod_perl den Webserver neu Starten</p></li><li class="listitem"><p>Nochmal einen Druckversuch im Webfrontend auslösen</p></li><li class="listitem"><p>wechsele in das users Verzeichnis von kivitendo</p><p>
+                     </p><pre class="programlisting">cd [kivitendo-home]/users</pre><p>
+                  </p></li><li class="listitem"><p>LaTeX Suchpfad anpassen:</p><p>
+                     </p><pre class="programlisting">export TEXINPUTS=".:[kivitendo-home]/templates/[aktuelles_template_verzeichniss]:"</pre><p>
+                  </p></li><li class="listitem"><p>Finde herraus welche Datei kivitendo beim letzten Durchlauf erstellt hat</p><p>
+                     </p><pre class="programlisting">ls -lahtr ./1*.tex</pre><p>
+                  </p><p>Es sollte die letzte Datei ganz unten sein</p></li><li class="listitem"><p>für besseren Hinweis auf Fehler texdatei nochmals übersetzen</p><p>
+                     </p><pre class="programlisting">pdflatex ./1*.tex</pre><p>
+                  </p><p>in der *.tex datei nach dem Fehler suchen.</p></li></ul></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="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. E-Mail-Versand aus kivitendo heraus&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. OpenDocument-Vorlagen</td></tr></table></div></body></html>
\ No newline at end of file
index e15e1c0..91679b1 100644 (file)
                         <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="d0e4045"></a>3.2.10.1. Einführung</h4></div></div></div><p>Die Variablen in anderen Vorlagen sind ähnlich wie in der
+                     </span></dt><dd><p>Rechnungsnummer</p></dd></dl></div></div></div><div class="sect2" title="3.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="d0e4241"></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:
index 2856d45..fd72356 100644 (file)
@@ -1,6 +1,6 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>Kapitel 4. Entwicklerdokumentation</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch03s03.html" title="3.3. Excel-Vorlagen"><link rel="next" href="ch04s02.html" title="4.2. Entwicklung unter FastCGI"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Kapitel 4. Entwicklerdokumentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s03.html">Zurück</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch04s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 4. Entwicklerdokumentation"><div class="titlepage"><div><div><h2 class="title"><a name="d0e4645"></a>Kapitel 4. Entwicklerdokumentation</h2></div></div></div><div class="sect1" title="4.1. Globale Variablen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="devel.globals"></a>4.1. Globale Variablen</h2></div></div></div><div class="sect2" title="4.1.1. Wie sehen globale Variablen in Perl aus?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e4651"></a>4.1.1. Wie sehen globale Variablen in Perl aus?</h3></div></div></div><p>Globale Variablen liegen in einem speziellen namespace namens
+   <title>Kapitel 4. Entwicklerdokumentation</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch03s03.html" title="3.3. Excel-Vorlagen"><link rel="next" href="ch04s02.html" title="4.2. Entwicklung unter FastCGI"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Kapitel 4. Entwicklerdokumentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s03.html">Zurück</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch04s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 4. Entwicklerdokumentation"><div class="titlepage"><div><div><h2 class="title"><a name="d0e4841"></a>Kapitel 4. Entwicklerdokumentation</h2></div></div></div><div class="sect1" title="4.1. Globale Variablen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="devel.globals"></a>4.1. Globale Variablen</h2></div></div></div><div class="sect2" title="4.1.1. Wie sehen globale Variablen in Perl aus?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e4847"></a>4.1.1. Wie sehen globale Variablen in Perl aus?</h3></div></div></div><p>Globale Variablen liegen in einem speziellen namespace namens
         "main", der von überall erreichbar ist. Darüber hinaus sind bareword
         globs global und die meisten speziellen Variablen sind...
         speziell.</p><p>Daraus ergeben sich folgende Formen:</p><div class="variablelist"><dl><dt><span class="term">
@@ -25,7 +25,7 @@
               <code class="varname">$PACKAGE::form</code>.</p></dd><dt><span class="term">
                      <code class="literal">local $form</code>
                   </span></dt><dd><p>Alle Änderungen an <code class="varname">$form</code> werden am Ende
-              des scopes zurückgesetzt</p></dd></dl></div></div><div class="sect2" title="4.1.2. Warum sind globale Variablen ein Problem?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e4752"></a>4.1.2. Warum sind globale Variablen ein Problem?</h3></div></div></div><p>Das erste Problem ist <span class="productname">FCGI</span>™.</p><p>
+              des scopes zurückgesetzt</p></dd></dl></div></div><div class="sect2" title="4.1.2. Warum sind globale Variablen ein Problem?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e4948"></a>4.1.2. Warum sind globale Variablen ein Problem?</h3></div></div></div><p>Das erste Problem ist <span class="productname">FCGI</span>™.</p><p>
                <span class="productname">SQL-Ledger</span>™ hat fast alles im globalen
         namespace abgelegt, und erwartet, dass es da auch wiederzufinden ist.
         Unter <span class="productname">FCGI</span>™ müssen diese Sachen aber wieder
@@ -39,7 +39,7 @@
         dies hat, seit der Einführung, u.a. schon so manche langwierige
         Bug-Suche verkürzt. Da globale Variablen aber implizit mit Package
         angegeben werden, werden die nicht geprüft, und somit kann sich
-        schnell ein Tippfehler einschleichen.</p></div><div class="sect2" title="4.1.3. Kanonische globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e4785"></a>4.1.3. Kanonische globale Variablen</h3></div></div></div><p>Um dieses Problem im Griff zu halten gibt es einige wenige
+        schnell ein Tippfehler einschleichen.</p></div><div class="sect2" title="4.1.3. Kanonische globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e4981"></a>4.1.3. Kanonische globale Variablen</h3></div></div></div><p>Um dieses Problem im Griff zu halten gibt es einige wenige
         globale Variablen, die kanonisch sind, d.h. sie haben bestimmte
         vorgegebenen Eigenschaften, und alles andere sollte anderweitig
         umhergereicht werden.</p><p>Diese Variablen sind im Moment die folgenden neun:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
@@ -62,7 +62,7 @@
                      <code class="varname">$::request</code>
                   </p></li></ul></div><p>Damit diese nicht erneut als Müllhalde missbraucht werden, im
         Folgenden eine kurze Erläuterung der bestimmten vorgegebenen
-        Eigenschaften (Konventionen):</p><div class="sect3" title="4.1.3.1. $::form"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4849"></a>4.1.3.1. $::form</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Ist ein Objekt der Klasse
+        Eigenschaften (Konventionen):</p><div class="sect3" title="4.1.3.1. $::form"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5045"></a>4.1.3.1. $::form</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Ist ein Objekt der Klasse
               "<code class="classname">Form</code>"</p></li><li class="listitem"><p>Wird nach jedem Request gelöscht</p></li><li class="listitem"><p>Muss auch in Tests und Konsolenscripts vorhanden
               sein.</p></li><li class="listitem"><p>Enthält am Anfang eines Requests die Requestparameter vom
               User</p></li><li class="listitem"><p>Kann zwar intern über Requestgrenzen ein Datenbankhandle
   push @{ $form-&gt;{TEMPLATE_ARRAYS}{number} },          $form-&gt;{"partnumber_$i"};
   push @{ $form-&gt;{TEMPLATE_ARRAYS}{description} },     $form-&gt;{"description_$i"};
   # ...
-}</pre></div><div class="sect3" title="4.1.3.2. %::myconfig"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4933"></a>4.1.3.2. %::myconfig</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Das einzige Hash unter den globalen Variablen</p></li><li class="listitem"><p>Wird spätestens benötigt wenn auf die Datenbank
+}</pre></div><div class="sect3" title="4.1.3.2. %::myconfig"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5129"></a>4.1.3.2. %::myconfig</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Das einzige Hash unter den globalen Variablen</p></li><li class="listitem"><p>Wird spätestens benötigt wenn auf die Datenbank
               zugegriffen wird</p></li><li class="listitem"><p>Wird bei jedem Request neu erstellt.</p></li><li class="listitem"><p>Enthält die Userdaten des aktuellen Logins</p></li><li class="listitem"><p>Sollte nicht ohne Filterung irgendwo gedumpt werden oder
               extern serialisiert werden, weil da auch der Datenbankzugriff
               für diesen user drinsteht.</p></li><li class="listitem"><p>Enthält unter anderem Listenbegrenzung vclimit,
           überwiegend die Daten, die sich unter <span class="guimenu">Programm</span>
           -&gt; <span class="guimenuitem">Einstellungen</span> befinden, bzw. die
           Informationen über den Benutzer die über die
-          Administrator-Schnittstelle (admin.pl) eingegeben wurden.</p></div><div class="sect3" title="4.1.3.3. $::locale"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4972"></a>4.1.3.3. $::locale</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "Locale"</p></li><li class="listitem"><p>Wird pro Request erstellt</p></li><li class="listitem"><p>Muss auch für Tests und Scripte immer verfügbar
+          Administrator-Schnittstelle (admin.pl) eingegeben wurden.</p></div><div class="sect3" title="4.1.3.3. $::locale"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5168"></a>4.1.3.3. $::locale</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "Locale"</p></li><li class="listitem"><p>Wird pro Request erstellt</p></li><li class="listitem"><p>Muss auch für Tests und Scripte immer verfügbar
               sein.</p></li><li class="listitem"><p>Cached intern über Requestgrenzen hinweg benutzte
               Locales</p></li></ul></div><p>Lokalisierung für den aktuellen User. Alle Übersetzungen,
-          Zahlen- und Datumsformatierungen laufen über dieses Objekt.</p></div><div class="sect3" title="4.1.3.4. $::lxdebug"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4990"></a>4.1.3.4. $::lxdebug</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "LXDebug"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Muss immer verfügbar sein, in nahezu allen
+          Zahlen- und Datumsformatierungen laufen über dieses Objekt.</p></div><div class="sect3" title="4.1.3.4. $::lxdebug"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5186"></a>4.1.3.4. $::lxdebug</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "LXDebug"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Muss immer verfügbar sein, in nahezu allen
               Funktionen</p></li></ul></div><p>
                   <code class="varname">$::lxdebug</code> stellt Debuggingfunktionen
           bereit, wie "<code class="function">enter_sub</code>" und
           "<code class="function">message</code>" und "<code class="function">dump</code>" mit
           denen man flott Informationen ins Log (tmp/kivitendo-debug.log)
           packen kann.</p><p>Beispielsweise so:</p><pre class="programlisting">$main::lxdebug-&gt;message(0, 'Meine Konfig:' . Dumper (%::myconfig));
-$main::lxdebug-&gt;message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form-&gt;{vc});</pre></div><div class="sect3" title="4.1.3.5. $::auth"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5027"></a>4.1.3.5. $::auth</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "SL::Auth"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Hat eine permanente DB Verbindung zur Authdatenbank</p></li><li class="listitem"><p>Wird nach jedem Request resettet.</p></li></ul></div><p>
+$main::lxdebug-&gt;message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form-&gt;{vc});</pre></div><div class="sect3" title="4.1.3.5. $::auth"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5223"></a>4.1.3.5. $::auth</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "SL::Auth"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Hat eine permanente DB Verbindung zur Authdatenbank</p></li><li class="listitem"><p>Wird nach jedem Request resettet.</p></li></ul></div><p>
                   <code class="varname">$::auth</code> stellt Funktionen bereit um die
           Rechte des aktuellen Users abzufragen. Obwohl diese Informationen
           vom aktuellen User abhängen wird das Objekt aus
           Geschwindigkeitsgründen nur einmal angelegt und dann nach jedem
-          Request kurz resettet.</p></div><div class="sect3" title="4.1.3.6. $::lx_office_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5048"></a>4.1.3.6. $::lx_office_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
+          Request kurz resettet.</p></div><div class="sect3" title="4.1.3.6. $::lx_office_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5244"></a>4.1.3.6. $::lx_office_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
               "<code class="classname">SL::LxOfficeConf</code>"</p></li><li class="listitem"><p>Global gecached</p></li><li class="listitem"><p>Repräsentation der
               <code class="filename">config/kivitendo.conf[.default]</code>-Dateien</p></li></ul></div><p>Globale Konfiguration. Configdateien werden zum Start gelesen
           und danach nicht mehr angefasst. Es ist derzeit nicht geplant, dass
@@ -150,16 +150,16 @@ $main::lxdebug-&gt;message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form-&gt;{
 file = /tmp/kivitendo-debug.log</pre><p>ist der Key <code class="varname">file</code> im Programm als
           <code class="varname">$::lx_office_conf-&gt;{debug}{file}</code>
           erreichbar.</p><div class="warning" title="Warnung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warnung]" src="../../../../system/docbook-xsl/images/warning.png"></td><th align="left">Warnung</th></tr><tr><td align="left" valign="top"><p>Zugriff auf die Konfiguration erfolgt im Moment über
-            Hashkeys, sind also nicht gegen Tippfehler abgesichert.</p></td></tr></table></div></div><div class="sect3" title="4.1.3.7. $::instance_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5084"></a>4.1.3.7. $::instance_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
+            Hashkeys, sind also nicht gegen Tippfehler abgesichert.</p></td></tr></table></div></div><div class="sect3" title="4.1.3.7. $::instance_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5280"></a>4.1.3.7. $::instance_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
               "<code class="classname">SL::InstanceConfiguration</code>"</p></li><li class="listitem"><p>wird pro Request neu erstellt</p></li></ul></div><p>Funktioniert wie <code class="varname">$::lx_office_conf</code>,
           speichert aber Daten die von der Instanz abhängig sind. Eine Instanz
           ist hier eine Mandantendatenbank. Beispielsweise überprüft
           </p><pre class="programlisting">$::instance_conf-&gt;get_inventory_system eq 'perpetual'</pre><p>
-          ob die berüchtigte Bestandsmethode zur Anwendung kommt.</p></div><div class="sect3" title="4.1.3.8. $::dispatcher"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5105"></a>4.1.3.8. $::dispatcher</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
+          ob die berüchtigte Bestandsmethode zur Anwendung kommt.</p></div><div class="sect3" title="4.1.3.8. $::dispatcher"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5301"></a>4.1.3.8. $::dispatcher</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
               "<code class="varname">SL::Dispatcher</code>"</p></li><li class="listitem"><p>wird pro Serverprozess erstellt.</p></li><li class="listitem"><p>enthält Informationen über die technische Verbindung zum
               Server</p></li></ul></div><p>Der dritte Punkt ist auch der einzige Grund warum das Objekt
           global gespeichert wird. Wird vermutlich irgendwann in einem anderen
-          Objekt untergebracht.</p></div><div class="sect3" title="4.1.3.9. $::request"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5123"></a>4.1.3.9. $::request</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Hashref (evtl später Objekt)</p></li><li class="listitem"><p>Wird pro Request neu initialisiert.</p></li><li class="listitem"><p>Keine Unterstruktur garantiert.</p></li></ul></div><p>
+          Objekt untergebracht.</p></div><div class="sect3" title="4.1.3.9. $::request"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5319"></a>4.1.3.9. $::request</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Hashref (evtl später Objekt)</p></li><li class="listitem"><p>Wird pro Request neu initialisiert.</p></li><li class="listitem"><p>Keine Unterstruktur garantiert.</p></li></ul></div><p>
                   <code class="varname">$::request</code> ist ein generischer Platz um
           Daten "für den aktuellen Request" abzulegen. Sollte nicht für action
           at a distance benutzt werden, sondern um lokales memoizing zu
@@ -172,20 +172,20 @@ file = /tmp/kivitendo-debug.log</pre><p>ist der Key <code class="varname">file</
               <code class="varname">$::request</code>
                      </p></li><li class="listitem"><p>Muss ich von anderen Teilen des Programms lesend drauf
               zugreifen? Dann <code class="varname">$::request</code>, aber Zugriff über
-              Wrappermethode</p></li></ul></div></div></div><div class="sect2" title="4.1.4. Ehemalige globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e5165"></a>4.1.4. Ehemalige globale Variablen</h3></div></div></div><p>Die folgenden Variablen waren einmal im Programm, und wurden
-        entfernt.</p><div class="sect3" title="4.1.4.1. $::cgi"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5170"></a>4.1.4.1. $::cgi</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil cookie Methoden nicht als
+              Wrappermethode</p></li></ul></div></div></div><div class="sect2" title="4.1.4. Ehemalige globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e5361"></a>4.1.4. Ehemalige globale Variablen</h3></div></div></div><p>Die folgenden Variablen waren einmal im Programm, und wurden
+        entfernt.</p><div class="sect3" title="4.1.4.1. $::cgi"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5366"></a>4.1.4.1. $::cgi</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil cookie Methoden nicht als
               Klassenfunktionen funktionieren</p></li><li class="listitem"><p>Aufruf als Klasse erzeugt Dummyobjekt was im
               Klassennamespace gehalten wird und über Requestgrenzen
               leaked</p></li><li class="listitem"><p>liegt jetzt unter
               <code class="varname">$::request-&gt;{cgi}</code>
-                     </p></li></ul></div></div><div class="sect3" title="4.1.4.2. $::all_units"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5186"></a>4.1.4.2. $::all_units</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil einige Funktionen in Schleifen zum Teil
+                     </p></li></ul></div></div><div class="sect3" title="4.1.4.2. $::all_units"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5382"></a>4.1.4.2. $::all_units</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil einige Funktionen in Schleifen zum Teil
               ein paar hundert mal pro Request eine Liste der Einheiten
               brauchen, und de als Parameter durch einen Riesenstack von
               Funktionen geschleift werden müssten.</p></li><li class="listitem"><p>Liegt jetzt unter
               <code class="varname">$::request-&gt;{cache}{all_units}</code>
                      </p></li><li class="listitem"><p>Wird nur in
               <code class="function">AM-&gt;retrieve_all_units()</code> gesetzt oder
-              gelesen.</p></li></ul></div></div><div class="sect3" title="4.1.4.3. %::called_subs"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5205"></a>4.1.4.3. %::called_subs</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>wurde benutzt um callsub deep recursions
+              gelesen.</p></li></ul></div></div><div class="sect3" title="4.1.4.3. %::called_subs"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5401"></a>4.1.4.3. %::called_subs</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>wurde benutzt um callsub deep recursions
               abzufangen.</p></li><li class="listitem"><p>Wurde entfernt, weil callsub nur einen Bruchteil der
               möglichen Rekursioenen darstellt, und da nie welche
               auftreten.</p></li><li class="listitem"><p>komplette recursion protection wurde entfernt.</p></li></ul></div></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03s03.html">Zurück</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch04s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">3.3. Excel-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;4.2. Entwicklung unter FastCGI</td></tr></table></div></body></html>
\ No newline at end of file
index 26616ee..f9ac994 100644 (file)
@@ -1,9 +1,9 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>kivitendo: Installation, Konfiguration, Entwicklung</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="next" href="ch01.html" title="Kapitel 1. Aktuelle Hinweise"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">kivitendo: Installation, Konfiguration, Entwicklung</th></tr><tr><td width="20%" align="left">&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch01.html">Weiter</a></td></tr></table><hr></div><div lang="de" class="book" title="kivitendo: Installation, Konfiguration, Entwicklung"><div class="titlepage"><div><div><h1 class="title"><a name="kivitendo-documentation"></a>kivitendo: Installation, Konfiguration, Entwicklung</h1></div></div><hr></div><div class="toc"><p><b>Inhaltsverzeichnis</b></p><dl><dt><span class="chapter"><a href="ch01.html">1. Aktuelle Hinweise</a></span></dt><dt><span class="chapter"><a href="ch02.html">2. Installation und Grundkonfiguration</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch02.html#Ben%C3%B6tigte-Software-und-Pakete">2.1. Benötigte Software und Pakete</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02.html#Betriebssystem">2.1.1. Betriebssystem</a></span></dt><dt><span class="sect2"><a href="ch02.html#Pakete">2.1.2. Pakete</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s02.html">2.2. Manuelle Installation des Programmpaketes</a></span></dt><dt><span class="sect1"><a href="ch02s03.html">2.3. kivitendo-Konfigurationsdatei</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s03.html#config.config-file.introduction">2.3.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s03.html#config.config-file.sections-parameters">2.3.2. Abschnitte und Parameter</a></span></dt><dt><span class="sect2"><a href="ch02s03.html#config.config-file.prior-versions">2.3.3. Versionen vor 2.6.3</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s04.html">2.4. Anpassung der PostgreSQL-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s04.html#Zeichens%C3%A4tze-die-Verwendung-von-UTF-8">2.4.1. Zeichensätze/die Verwendung von UTF-8</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#%C3%84nderungen-an-Konfigurationsdateien">2.4.2. Änderungen an Konfigurationsdateien</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#Erweiterung-f%C3%BCr-servergespeicherte-Prozeduren">2.4.3. Erweiterung für servergespeicherte Prozeduren</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#Datenbankbenutzer-anlegen">2.4.4. Datenbankbenutzer anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s05.html">2.5. Webserver-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s05.html#d0e589">2.5.1. Grundkonfiguration mittels CGI</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#Apache-Konfiguration.FCGI">2.5.2. Konfiguration für FastCGI/FCGI</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s06.html">2.6. Der Task-Server</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s06.html#Konfiguration-des-Task-Servers">2.6.1. Verfügbare und notwendige Konfigurationsoptionen</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#Einbinden-in-den-Boot-Prozess">2.6.2. Automatisches Starten des Task-Servers beim Booten</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#Prozesskontrolle">2.6.3. Wie der Task-Server gestartet und beendet wird</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#Prozesskontrolle2">2.6.4. Task-Server mit mehreren Mandanten</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s07.html">2.7. Benutzerauthentifizierung und Administratorpasswort</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s07.html#Grundlagen-zur-Benutzerauthentifizierung">2.7.1. Grundlagen zur Benutzerauthentifizierung</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Administratorpasswort">2.7.2. Administratorpasswort</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Authentifizierungsdatenbank">2.7.3. Authentifizierungsdatenbank</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Passwort%C3%BCberpr%C3%BCfung">2.7.4. Passwortüberprüfung</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Name-des-Session-Cookies">2.7.5. Name des Session-Cookies</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Anlegen-der-Authentifizierungsdatenbank">2.7.6. Anlegen der Authentifizierungsdatenbank</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s08.html">2.8. Benutzer- und Gruppenverwaltung</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s08.html#Zusammenh%C3%A4nge">2.8.1. Zusammenhänge</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Datenbanken-anlegen">2.8.2. Datenbanken anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Gruppen-anlegen">2.8.3. Gruppen anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Benutzer-anlegen">2.8.4. Benutzer anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Gruppenmitgliedschaften-verwalten">2.8.5. Gruppenmitgliedschaften verwalten</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Migration-alter-Installationen">2.8.6. Migration alter Installationen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s09.html">2.9. E-Mail-Versand aus kivitendo heraus</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s09.html#config.sending-email.sendmail">2.9.1. Versand über lokalen E-Mail-Server</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#config.sending-email.smtp">2.9.2. Versand über einen SMTP-Server</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s10.html">2.10. Drucken mit kivitendo</a></span></dt><dt><span class="sect1"><a href="ch02s11.html">2.11. OpenDocument-Vorlagen</a></span></dt><dt><span class="sect1"><a href="ch02s12.html">2.12. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
+   <title>kivitendo: Installation, Konfiguration, Entwicklung</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="next" href="ch01.html" title="Kapitel 1. Aktuelle Hinweise"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">kivitendo: Installation, Konfiguration, Entwicklung</th></tr><tr><td width="20%" align="left">&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch01.html">Weiter</a></td></tr></table><hr></div><div lang="de" class="book" title="kivitendo: Installation, Konfiguration, Entwicklung"><div class="titlepage"><div><div><h1 class="title"><a name="kivitendo-documentation"></a>kivitendo: Installation, Konfiguration, Entwicklung</h1></div></div><hr></div><div class="toc"><p><b>Inhaltsverzeichnis</b></p><dl><dt><span class="chapter"><a href="ch01.html">1. Aktuelle Hinweise</a></span></dt><dt><span class="chapter"><a href="ch02.html">2. Installation und Grundkonfiguration</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch02.html#Ben%C3%B6tigte-Software-und-Pakete">2.1. Benötigte Software und Pakete</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02.html#Betriebssystem">2.1.1. Betriebssystem</a></span></dt><dt><span class="sect2"><a href="ch02.html#Pakete">2.1.2. Pakete</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s02.html">2.2. Manuelle Installation des Programmpaketes</a></span></dt><dt><span class="sect1"><a href="ch02s03.html">2.3. kivitendo-Konfigurationsdatei</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s03.html#config.config-file.introduction">2.3.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s03.html#config.config-file.sections-parameters">2.3.2. Abschnitte und Parameter</a></span></dt><dt><span class="sect2"><a href="ch02s03.html#config.config-file.prior-versions">2.3.3. Versionen vor 2.6.3</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s04.html">2.4. Anpassung der PostgreSQL-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s04.html#Zeichens%C3%A4tze-die-Verwendung-von-UTF-8">2.4.1. Zeichensätze/die Verwendung von UTF-8</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#%C3%84nderungen-an-Konfigurationsdateien">2.4.2. Änderungen an Konfigurationsdateien</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#Erweiterung-f%C3%BCr-servergespeicherte-Prozeduren">2.4.3. Erweiterung für servergespeicherte Prozeduren</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#Datenbankbenutzer-anlegen">2.4.4. Datenbankbenutzer anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s05.html">2.5. Webserver-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s05.html#d0e592">2.5.1. Grundkonfiguration mittels CGI</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#Apache-Konfiguration.FCGI">2.5.2. Konfiguration für FastCGI/FCGI</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s06.html">2.6. Der Task-Server</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s06.html#Konfiguration-des-Task-Servers">2.6.1. Verfügbare und notwendige Konfigurationsoptionen</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#Einbinden-in-den-Boot-Prozess">2.6.2. Automatisches Starten des Task-Servers beim Booten</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#Prozesskontrolle">2.6.3. Wie der Task-Server gestartet und beendet wird</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#Prozesskontrolle2">2.6.4. Task-Server mit mehreren Mandanten</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s07.html">2.7. Benutzerauthentifizierung und Administratorpasswort</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s07.html#Grundlagen-zur-Benutzerauthentifizierung">2.7.1. Grundlagen zur Benutzerauthentifizierung</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Administratorpasswort">2.7.2. Administratorpasswort</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Authentifizierungsdatenbank">2.7.3. Authentifizierungsdatenbank</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Passwort%C3%BCberpr%C3%BCfung">2.7.4. Passwortüberprüfung</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Name-des-Session-Cookies">2.7.5. Name des Session-Cookies</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Anlegen-der-Authentifizierungsdatenbank">2.7.6. Anlegen der Authentifizierungsdatenbank</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s08.html">2.8. Benutzer- und Gruppenverwaltung</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s08.html#Zusammenh%C3%A4nge">2.8.1. Zusammenhänge</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Datenbanken-anlegen">2.8.2. Datenbanken anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Gruppen-anlegen">2.8.3. Gruppen anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Benutzer-anlegen">2.8.4. Benutzer anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Gruppenmitgliedschaften-verwalten">2.8.5. Gruppenmitgliedschaften verwalten</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Migration-alter-Installationen">2.8.6. Migration alter Installationen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s09.html">2.9. E-Mail-Versand aus kivitendo heraus</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s09.html#config.sending-email.sendmail">2.9.1. Versand über lokalen E-Mail-Server</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#config.sending-email.smtp">2.9.2. Versand über einen SMTP-Server</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s10.html">2.10. Drucken mit kivitendo</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s10.html#Vorlagenverzeichnis-anlegen">2.10.1. Vorlagenverzeichnis anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s10.html#Standard">2.10.2. Default</a></span></dt><dt><span class="sect2"><a href="ch02s10.html#f-tex">2.10.3. f-tex</a></span></dt><dt><span class="sect2"><a href="ch02s10.html#RB">2.10.4. RB</a></span></dt><dt><span class="sect2"><a href="ch02s10.html#Allgemeine Hinweise zu LaTeX">2.10.5. Allgemeine Hinweise zu LaTeX Vorlagen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s11.html">2.11. OpenDocument-Vorlagen</a></span></dt><dt><span class="sect1"><a href="ch02s12.html">2.12. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
       EUR</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s12.html#config.eur.introduction">2.12.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#config.eur.parameters">2.12.2. Konfigurationsparameter</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#config.eur.setting-parameters">2.12.3. Festlegen der Parameter</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#config.eur.inventory-system-perpetual">2.12.4. Bemerkungen zu Bestandsmethode</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#config.eur.knonw-issues">2.12.5. Bekannte Probleme</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s13.html">2.13. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s13.html#config.skr04-update-3804.introduction">2.13.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s13.html#config.skr04-update-3804.create-chart">2.13.2. Konto 3804 manuell anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s14.html">2.14. Einstellungen pro Mandant</a></span></dt><dt><span class="sect1"><a href="ch02s15.html">2.15. kivitendo ERP verwenden</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch03.html">3. Features und Funktionen</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch03.html#features.periodic-invoices">3.1. Wiederkehrende Rechnungen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.introduction">3.1.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.configuration">3.1.2. Konfiguration</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.reports">3.1.3. Auflisten</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.task-server">3.1.4. Erzeugung der eigentlichen Rechnungen</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.create-for-current-month">3.1.5. Erste Rechnung für aktuellen Monat erstellen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s02.html">3.2. Dokumentenvorlagen und verfügbare Variablen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.einf%C3%BChrung">3.2.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.variablen-ausgeben">3.2.2. Variablen ausgeben</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.verwendung-in-druckbefehlen">3.2.3. Verwendung in Druckbefehlen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.tag-style">3.2.4. Anfang und Ende der Tags verändern</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.zuordnung-dateinamen">3.2.5. Zuordnung von den Dateinamen zu den Funktionen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.dateinamen-erweitert">3.2.6. Sprache, Drucker und E-Mail</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.allgemeine-variablen">3.2.7. Allgemeine Variablen, die in allen Vorlagen vorhanden
         sind</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.invoice">3.2.8. Variablen in Rechnungen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.dunning">3.2.9. Variablen in Mahnungen und Rechnungen über Mahngebühren</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.andere-vorlagen">3.2.10. Variablen in anderen Vorlagen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.bloecke">3.2.11. Blöcke, bedingte Anweisungen und Schleifen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.markup">3.2.12. Markup-Code zur Textformatierung innerhalb von
-        Formularen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s03.html">3.3. Excel-Vorlagen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s03.html#excel-templates.summary">3.3.1. Zusammenfassung</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.usage">3.3.2. Bedienung</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.syntax">3.3.3. Variablensyntax</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.limitations">3.3.4. Einschränkungen</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Entwicklerdokumentation</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch04.html#devel.globals">4.1. Globale Variablen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04.html#d0e4651">4.1.1. Wie sehen globale Variablen in Perl aus?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e4752">4.1.2. Warum sind globale Variablen ein Problem?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e4785">4.1.3. Kanonische globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e5165">4.1.4. Ehemalige globale Variablen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s02.html">4.2. Entwicklung unter FastCGI</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.general">4.2.1. Allgemeines</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.exiting">4.2.2. Programmende und Ausnahmen</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.globals">4.2.3. Globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.performance">4.2.4. Performance und Statistiken</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.known-issues">4.2.5. Bekannte Probleme</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s03.html">4.3. SQL-Upgradedateien</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.introduction">4.3.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.format">4.3.2. Format der Kontrollinformationen</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.dbupgrade-tool">4.3.3. Hilfsscript dbupgrade2_tool.pl</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s04.html">4.4. Translations and languages</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s04.html#translations-languages.introduction">4.4.1. Introduction</a></span></dt><dt><span class="sect2"><a href="ch04s04.html#translations-languages.file-structure">4.4.2. File structure</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s05.html">4.5. Die kivitendo-Test-Suite</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.intro">4.5.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.prerequisites">4.5.2. Voraussetzungen</a></span></dt><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.execution">4.5.3. 
+        Formularen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s03.html">3.3. Excel-Vorlagen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s03.html#excel-templates.summary">3.3.1. Zusammenfassung</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.usage">3.3.2. Bedienung</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.syntax">3.3.3. Variablensyntax</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.limitations">3.3.4. Einschränkungen</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Entwicklerdokumentation</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch04.html#devel.globals">4.1. Globale Variablen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04.html#d0e4847">4.1.1. Wie sehen globale Variablen in Perl aus?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e4948">4.1.2. Warum sind globale Variablen ein Problem?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e4981">4.1.3. Kanonische globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e5361">4.1.4. Ehemalige globale Variablen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s02.html">4.2. Entwicklung unter FastCGI</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.general">4.2.1. Allgemeines</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.exiting">4.2.2. Programmende und Ausnahmen</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.globals">4.2.3. Globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.performance">4.2.4. Performance und Statistiken</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.known-issues">4.2.5. Bekannte Probleme</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s03.html">4.3. SQL-Upgradedateien</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.introduction">4.3.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.format">4.3.2. Format der Kontrollinformationen</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.dbupgrade-tool">4.3.3. Hilfsscript dbupgrade2_tool.pl</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s04.html">4.4. Translations and languages</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s04.html#translations-languages.introduction">4.4.1. Introduction</a></span></dt><dt><span class="sect2"><a href="ch04s04.html#translations-languages.file-structure">4.4.2. File structure</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s05.html">4.5. Die kivitendo-Test-Suite</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.intro">4.5.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.prerequisites">4.5.2. Voraussetzungen</a></span></dt><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.execution">4.5.3. 
           Existierende Tests ausführen
         </a></span></dt><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.meaning_of_scripts">4.5.4. 
           Bedeutung der verschiedenen Test-Scripte
index 3a7969b..a623173 100644 (file)
Binary files a/doc/kivitendo-Dokumentation.pdf and b/doc/kivitendo-Dokumentation.pdf differ
diff --git a/templates/print/f-tex/README b/templates/print/f-tex/README
deleted file mode 100644 (file)
index 713f369..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-README lx-office Fancy-LaTeX  (f-tex)
-
-# Revision 1.1-u  (03.02.2012)
-# Revision 1.0-u  (16.11.2011)
-# Revision 0.9  (13.11.2011)
-# Revision 0.8  (12.09.2011)
-# Revision 0.7 (12.07.2011)
-# Revision 0.6 (16.06.2011)
-# Revision 0.5  (15.04.2011)
-# Revision 0.4  (14.02.2011)
-# Revision 0.3  (03.01.2011)
-# Revision 0.2  (24.12.2010)
-# Revision 0.1  (03.11.2009)
-
-
-
-# Feature Uebersicht
-
-  - einfach Nutzung durch mitgeliefertes Setup-Script
-  - Keine Retundanz. Es wird ein und die selbe Latex-Vorlage fuer alle
-    briefartigen Dokumente verwendet. Also Angebot, Rechnung,
-    Performarechnung, Lieferschein, aber eben nicht fuer Paketaufkleber
-    etc..
-  - Leichte Anpassung an das Firmen Layout durch verwendung eines Hintergrund-PDF
-    dieses kann leicht mit dem eigenen Lieblingsprogramm erstellt werden
-    (Openoffice, Inkscape, Gimp, Adobe*)
-  - Hintergrundpdf um schaltbar auf "nur erste Seite" (default) oder "alle Seiten"
-    (option "bgPdfFirstPageOnly" in Datei letter.lco)
-  - Hintergrundpdf fuer Ausdruck auf bereits bedrucktem Briefpapier Abschaltbar,
-    es wird dann nur bei per email versendeten Dokumenten eingebunden.
-    (Option "bgPdfEmailOnly" in Datei letter.lco)
-  - Nutzung der Layout-Funktionen von Latex fuer Seitenumbruch,
-    wiederholung von Kopfzeilen, Zwischensummen etc. (danke an Kai-Martin fuer
-    die Vorarbeit)
-  - Anzeige des Empfaengerlandes im Adressfeld nur, wenn es vom Land des
-    eigenen Unternehmens abweicht (also die Rechnung das Land verlaesst).
-  - Multisprachfaehig leicht um weitere Sprachen zu erweitern, alle
-    Übersetzungen in der Datei translatinos.tex.
-  - Auflistung von Bruttopreisen fuer Endverbraucher.
-
-
-
-
-# die Installation
-
-  Wenn es noch keine LaTeX installation gibt, installiere die folgenden Pakete
-  (Debian)
-    aptitude install \
-      texlive-base-bin \
-      texlive-latex-recommended \
-      texlive-fonts-recommended \
-      texlive-latex-extra \
-      texlive-lang-german \
-      texlive-generic-extra
-
-  Die Abhaengigkeiten kann man mit
-   /scripts/installation_check.pl -l pruefen (z.Z. noch nicht eingecheckt)
-
-  Ein Vorlagenverzeichniss kannst Du direkt unter admin.pl Benutzeradministration erstellen:
-    Benutze Vorlagen: f-tex
-    Erzeuge Vorlagen, Name: <DEIN_WUNSCHNAME>
-  Das Verzeichniss templates muss dafuer fuer den Webserver schreibbar sein.
-
-  Erstelle eine pdf-Hintergrund Datei und verlinke sie nach ./letter_head.pdf
-
-  Editiere den Bereich "settings" in der datei letter.lco ""
-
-  # oder etwas Detaillierter:
-  Es wird eine Datei sample.lco erstellt und diese nach letter.lco verlinkt.
-  Eigentlich ist dies die Datei die fuer die Firmenspezifischen Anpassungen
-  gedacht ist.  Da die Einstiegshuerde in LaTeX nicht ganz niedrig ist, wird in
-  dieser Datei auf ein Hintergrundpdf verwiesen. Ich empfehle ueber dieses pdf
-  die persoenlichen Layoutanpassungen vorzunehmen und sample.lco unveraendert zu
-  lassen. Die die Anpassung ueber eine *.lco Datei die letztlich auf letter.lco
-  verlinkt ist ist aber auch moeglich.
-
-  Es wird eine Datei sample_head.pdf mit ausgeliefert, diese wird nach
-  letter_head.pdf verlinkt. Damit gibt es schon mal eine Funktionsfaehige
-  Vorlage. Schau Dir nach Abschluss der Installation die Datei sample_haed.pdf
-  an und erstelle ein entsprechendes pdf passend zum Briefkopf Deiner Firma,
-  diese dann im Template Verzeichniss ablegen und statt sample_head.pdf nach
-  letter_head.pdf verlinken.
-
-  letzlich muss ./letter_head.pdf auf das passende Hintergrundpdf verweisen,
-  welches gewuenschten Briefkopf enthaelt. Bei Updates oder nach erneutem
-
-  Es wird eine Datei mydata.tex.example ausgeliefert die nach mytdata.tex
-  verlinkt ist. Bei verwendetem Hintergrundpdf wird nur der Eintrag fuer das
-  Land verwendet die Datei muss  also nicht angefasst werden. Die Anderen Werte
-  sind fuer das Modul  lp (Label Print in erp -- zur Zeit nicht im
-  oeffentlichen Zweig).
-
-  Alle Anpassungen zum Briefkopf, Fusszeilen, Firmenlogos, etc.
-  sollten ueber die Hintergrund pdf datei oder die *.lco Datei erfolgen.
-
-
-# einheitliche Latex-Vorlagen -- Background
-
-  Das Konzept von lx-office sieht vor, fuer jedes Dokument
-  (Auftragsbestaetigung, Lieferschein, Rechnung, etc.) eine
-  Latex-Vorlage vorzuhalten, dies ist sehr Wartungsunfreundlich. Auch
-  das Einlesen einer einheitlichen Quelle fuer den Briefkopf bringt nur
-  bedingte Vorteile, da hier leicht die Pflege der Artikel-Tabellen aus
-  dem Ruder laeuft. Bei dem vorliegenden Ansatz wird fuer alle
-  Briefartigen Dokumente mit Artikel-Tabellen eine einheitliche
-  Latexvorlage verwendet, welche ueber Codeweichen die Besonderheiten
-  der jeweiligen Dokumente Beruecksichtigt
-    - Tabellen mit oder ohne Preis
-    - Sprache der Tabellenueberschriften etc.
-    - Anpassung der Bezugs-Zeile (z.B. Rechnungsnummer versus
-      Angebotsnummer)
-    - Darstellung von Brutto oder Netto-Preisen in der Auflistung
-      (Endverbraucher versus Gewerblicher Kunde)
-  Seit Version 2.7 ist das ohne Kunstgriff moeglich, da im bei nicht vorhanden
-  Dokumenten auf default.tex zurueckgegriffen wird.
-
-
-  Nachteil:
-  Ja, alles hat seinen Preis ...
-  Latex hat ohnehin eine sehr steile Lehrnkurve. Die Datei letter.tex
-  ist sehr komplex und verstaerkt damit diesen Effekt noch einmal erheblich.
-  Wer Latex-Erfahrung hat, oder geuebt ist Scriptsparachen nachzuvollziehen kann
-  natuerlich auch innerhalb der Tabellendarstellung gut persoenliche Anpassungen
-  vornehmen. Aber man kann sich hier bei Veraenderungen sehr schnell haeftig in
-  den Fuss schiessen.
-  Wer nicht so tief in die Materie einsteigen will oder leicht zu
-  frustrieren ist, sollte sein Hintergrund PDF auf Basis der mitglieferten
-  Datei sample_head.pdf erstellen, und sich an der Form der dargestellten Tabellen
-  wie sie ausgeliefert werden, erfreuen.
-  Kleiner Tipp:
-
-    Nicht zu viel auf einmal wollen, lieber kleine kontinuierliche
-    Schritte gehen.
-
-  Alternativ kann man sich natuerlich fuer die Latex-Vorlagen
-  professionelle Hilfe hohlen.
-
-
-Bruttopreise fuer Endvorbraucher
-  Der auszuweisende Bruttopreis wird innerhalb der LaTeX Umgebung berechnet.
-
-  - Background:
-    es gibt zwar ein Feld um bei Auftraegen "alle Preise Brutto" auszuwaehlen,
-    aber:
-      - hierfuer muessen die Preise auch in Brutto in der Datenbank stehen
-        (ja -- das laesst sich ueber die Preisgruppen und die Zuordung einer Default-Preisgruppe
-        handhaben)
-      - man darf beim Anlegen des Vorgangs nicht vergessen Dieses Haekchen zu setzen.
-        (das ist in der Praxis wenn man sowohl Endverbraucher- wie Gewerbekunden beliefert
-       der eigentliche Knackpunkt)
-
-  Es gibt mit f-tex eine weitere Alternative. Die Information ob Brutto oder
-  Nettorechnung wird mit den Zahlarten verknuepft. Zahlarten bei denen
-  Rechnungen, Angebote, etc, in Brutto ausgegeben werden sollen enden mit "_E"
-  (fuer Endverbraucher) Falls identische Zahlarten fuer Gewerbekunden und
-  Endverbraucher vorhanden sind legt man diese einfach doppelt an (einmal mit
-  der Namensendung "_E")
-  - Gewinn:
-    - die Entscheidung ob Netopreise ausgewiesen werden ist nicht mehr fix
-      mit einer Preisliste Verbunden.
-    - die Default-Zahlart kann im Kundendatensatz hinterlegt werden und man
-      muss nicht mehr daran denken "alle Preise Netto" auszuwaehlen.
-    - Die Entscheidung ob Netto/Oder Bruttopreise ausgewiesen werden kann direkt
-      beim Drucken reviediert werden, ohne dass sich der Auftragswert aendert.
-
-Lieferadressen
-
-  - in Lieferscheinen kommen shipto* -Variablen im Adressfeld zum Einsatz
-  - wenn die shipto*variable leer ist wird die entsprechende
-    Adressvariable eingesetzt.  Wenn Also die Lieferadresse in Strasse,
-    Hausnummer und Ort abweicht, muessen auch nur diese Felder in der
-    Lieferadresse ausgefuellt werden. Fuer den Firmenname wird der Wert der
-    Hauptadresse angezeigt.
-
-Troubleshooting -- Fehler suchen:
-  Wenn sich das Problem nicht auf Grund der ausgabe im Webbrowser verifizieren laesst:
-
-    editiere [flxo-home]/config/lx_office.conf und aendere "keep_tmp_files" auf 1
-          keep_temp_files = 1;
-
-    bei fastcgi oder mod_perl den Webserver neu Starten
-
-    Nochmal einen Druckversuch im Webfrontend ausloesen
-
-    wechsele in das users Verzeichnis von lxo
-      cd [lxo-home]/users
-
-    LaTeX Suchpfad anpassen:
-      export TEXINPUTS=".:[lxo-home]/templates/[aktuelles_template_verzeichniss]:"
-
-    Finde herraus welche datei lxo beim letzten Durchlauf erstellt hat
-      ls -lahtr ./1*.tex
-    Es sollte die letzte Datei ganz unten sein
-
-    fuer besseren Hinweis auf Fehler texdatei nochmals uebersetzen
-      pdflatex ./1*.tex
-
-    in der *.tex datei nach dem Fehler suchen.
-
-
-