Revision d3a086e3
Von wulf@coulmann.de vor mehr als 12 Jahren hinzugefügt
doc/dokumentation.xml | ||
---|---|---|
<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>
|
||
... | ... | |
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
|
||
... | ... | |
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>
|
||
... | ... | |
<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:æ¡ 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:æ¡ 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">
|
doc/html/ch01.html | ||
---|---|---|
<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> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 1. Aktuelle Hinweise"><div class="titlepage"><div><div><h2 class="title"><a name="Aktuelle-Hinweise"></a>Kapitel 1. Aktuelle Hinweise</h2></div></div></div><p>Aktuelle Installations- und Konfigurationshinweise gibt es:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>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> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">kivitendo: Installation, Konfiguration, Entwicklung </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> Kapitel 2. Installation und Grundkonfiguration</td></tr></table></div></body></html>
|
||
</p></li></ul></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Zurück</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">kivitendo: Installation, Konfiguration, Entwicklung </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> Kapitel 2. Installation und Grundkonfiguration</td></tr></table></div></body></html>
|
doc/html/ch02.html | ||
---|---|---|
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 >= 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>
|
doc/html/ch02s04.html | ||
---|---|---|
<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> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s05.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.4. Anpassung der PostgreSQL-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Anpassung-der-PostgreSQL-Konfiguration"></a>2.4. Anpassung der PostgreSQL-Konfiguration</h2></div></div></div><p>PostgreSQL muss auf verschiedene Weisen angepasst werden.</p><div class="sect2" title="2.4.1. Zeichensätze/die Verwendung von UTF-8"><div class="titlepage"><div><div><h3 class="title"><a name="Zeichens%C3%A4tze-die-Verwendung-von-UTF-8"></a>2.4.1. Zeichensätze/die Verwendung von UTF-8</h3></div></div></div><p>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
|
||
... | ... | |
\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.
|
doc/html/ch02s05.html | ||
---|---|---|
<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> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s06.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.5. Webserver-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Apache-Konfiguration"></a>2.5. Webserver-Konfiguration</h2></div></div></div><div class="sect2" title="2.5.1. Grundkonfiguration mittels CGI"><div class="titlepage"><div><div><h3 class="title"><a name="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> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s06.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.5. Webserver-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Apache-Konfiguration"></a>2.5. Webserver-Konfiguration</h2></div></div></div><div class="sect2" title="2.5.1. Grundkonfiguration mittels CGI"><div class="titlepage"><div><div><h3 class="title"><a name="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
|
doc/html/ch02s06.html | ||
---|---|---|
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
|
||
... | ... | |
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
|
doc/html/ch02s10.html | ||
---|---|---|
<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> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s11.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.10. 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:æ¡ 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> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s11.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.9. E-Mail-Versand aus kivitendo heraus </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.11. OpenDocument-Vorlagen</td></tr></table></div></body></html>
|
||
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 -> Benutzerverwaltung -> [ein Benutzer]
|
||
Erzeuge Vorlagen, Name: [Name für das neue Vorlagenverzeichnis]
|
||
Vorlagen auswählen: [Default, f-tex oder RB]
|
||
-> 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:æ¡ 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> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s11.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.9. E-Mail-Versand aus kivitendo heraus </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.11. OpenDocument-Vorlagen</td></tr></table></div></body></html>
|
doc/html/ch03s02.html | ||
---|---|---|
<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:
|
doc/html/ch04.html | ||
---|---|---|
<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> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch04s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 4. Entwicklerdokumentation"><div class="titlepage"><div><div><h2 class="title"><a name="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> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch04s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 4. Entwicklerdokumentation"><div class="titlepage"><div><div><h2 class="title"><a name="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">
|
||
... | ... | |
<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
|
||
... | ... | |
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>
|
||
... | ... | |
<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->{TEMPLATE_ARRAYS}{number} }, $form->{"partnumber_$i"};
|
||
push @{ $form->{TEMPLATE_ARRAYS}{description} }, $form->{"description_$i"};
|
||
# ...
|
||
}</pre></div><div class="sect3" title="4.1.3.2. %::myconfig"><div class="titlepage"><div><div><h4 class="title"><a name="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>
|
||
-> <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->message(0, 'Meine Konfig:' . Dumper (%::myconfig));
|
||
$main::lxdebug->message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form->{vc});</pre></div><div class="sect3" title="4.1.3.5. $::auth"><div class="titlepage"><div><div><h4 class="title"><a name="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->message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form->{vc});</pre></div><div class="sect3" title="4.1.3.5. $::auth"><div class="titlepage"><div><div><h4 class="title"><a name="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
|
||
... | ... | |
file = /tmp/kivitendo-debug.log</pre><p>ist der Key <code class="varname">file</code> im Programm als
|
||
<code class="varname">$::lx_office_conf->{debug}{file}</code>
|
||
erreichbar.</p><div class="warning" title="Warnung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warnung]" src="../../../../system/docbook-xsl/images/warning.png"></td><th align="left">Warnung</th></tr><tr><td align="left" valign="top"><p>Zugriff auf die Konfiguration erfolgt im Moment über
|
||
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->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
|
||
... | ... | |
<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->{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->{cache}{all_units}</code>
|
||
</p></li><li class="listitem"><p>Wird nur in
|
||
<code class="function">AM->retrieve_all_units()</code> gesetzt oder
|
||
gelesen.</p></li></ul></div></div><div class="sect3" title="4.1.4.3. %::called_subs"><div class="titlepage"><div><div><h4 class="title"><a name="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> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch04s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">3.3. Excel-Vorlagen </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 4.2. Entwicklung unter FastCGI</td></tr></table></div></body></html>
|
doc/html/index.html | ||
---|---|---|
<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"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01.html">Weiter</a></td></tr></table><hr></div><div lang="de" class="book" title="kivitendo: 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"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01.html">Weiter</a></td></tr></table><hr></div><div lang="de" class="book" title="kivitendo: 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
|
templates/print/f-tex/README | ||
---|---|---|
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.
|
||
|
||
|
||
|
Auch abrufbar als: Unified diff
diverse Doku Aktuallisierungen
./templates/print/f-tex/README -> Onlinedoku