From: wulf@coulmann.de Date: Mon, 12 Nov 2012 11:36:27 +0000 (+0100) Subject: diverse Doku Aktuallisierungen X-Git-Tag: release-3.0.0beta1~4^2~5 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=d3a086e3786cb08150b3201f69fde5b7d55b3b03;p=kivitendo-erp.git diverse Doku Aktuallisierungen ./templates/print/f-tex/README -> Onlinedoku --- diff --git a/doc/dokumentation.xml b/doc/dokumentation.xml index 4208d8471..a2a3c8ae2 100644 --- a/doc/dokumentation.xml +++ b/doc/dokumentation.xml @@ -14,11 +14,6 @@ im kivitendo-Forum: https://forum.kivitendo.org/ - - - im alten Lx-Office-Wiki unter Dokumentation (http://wiki.lx-office.org/index.php?title=Installation_Lx-Office_ERP) - @@ -42,12 +37,21 @@ dass kivitendo auf ihnen läuft: + - Ubuntu 10.04 LTS Lucid Lynx bis 12.10 Oneiric Ocelot + Debian + + + 6.0 Squeeze (hier muss allerdings das Modul FCGI in der Version >= 0.72 compiled werden) + + + 7.0 Wheezy + + - Debian 5.0 Lenny und 6.0 Squeeze + Ubuntu 10.04 LTS Lucid Lynx bis 12.10 Oneiric Ocelot @@ -363,7 +367,7 @@ dbcharset = UTF-8 eingreifen 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: su postgres @@ -438,6 +442,9 @@ psql template1 anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen können: + 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. su - postgres createuser -d -P kivitendo exit @@ -1308,46 +1315,314 @@ insserv kivitendo-task-server 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 texlive Installation. Unter - Debianoiden Betriebssystemen sind das die Pakete: - - texlive-latex-base texlive-latex-extra - texlive-fonts-recommended + Debianoiden Betriebssystemen installiert man die Pakete mit: - Diese hinteren beiden enthalten Bibliotheken und Schriftarten die - von den Standardvorlagen verwendet werden. + aptitude install \ + texlive-base-bin \ +texlive-latex-recommended \ +texlive-fonts-recommended \ +texlive-latex-extra \ +texlive-lang-german \ +texlive-generic-extra + TODO: rpm Pakete. - 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: + kivitendo bringt 3 alternative Vorlagensätze mit: + + Standard + f-tex + RB + - - - ! 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. - + + Vorlagenverzeichnis anlegen + Bei einem neuen Benutzer/Mandanten lässt sich einer dieser Vorlagensätze + als Basis für die zu druckenden Dokumente auswählen: - - ! 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. - - - - 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: - pdflatex), und stellen Sie sicher, dass pdflatex - (oder das von Ihnen verwendete System) vom Webserver ausgeführt werden - darf. + unter: +Administration -> Benutzerverwaltung -> [ein Benutzer] + Erzeuge Vorlagen, Name: [Name für das neue Vorlagenverzeichnis] + Vorlagen auswählen: [Default, f-tex oder RB] + -> Speichern + + der gleiche Vorlagensatz kann, wenn er mal angelegt ist, bei mehreren Benutzern verwendet werden. + + Die Abhängigkeiten kann man prüfen mit: + /scripts/installation_check.pl -l + + + + Default + + Der standard Vorlagensatz von Kivitendo. Wie unter + http://demo.kivitendo.org zu sehen. + + + + + f-tex + + Ein Vorlagensatz, der in Wenigen Minuten alle Dokumente zur stellt. + + + f-tex Feature Übersicht + + 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.. + 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 für 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 für Seitenumbruch, + wiederholung von Kopfzeilen, Zwischensummen etc. (danke an Kai-Martin für + die Vorarbeit) + + Anzeige des Empfängerlandes im Adressfeld nur, wenn es vom Land des + eigenen Unternehmens abweicht (also die Rechnung das Land verlässt). + + Multisprachfähig leicht um weitere Sprachen zu erweitern, alle + Übersetzungen in der Datei translatinos.tex. + + Auflistung von Bruttopreisen für Endverbraucher. + + + + + + f-tex Die Installation + + Vorlagenverzeichnis mit Option f-tex anlegen, siehe: + + Das Vorlagensystem funktioniert jetzt schon, hat allerdings noch einen + Beispiel Briefkopf + + + 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 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. + + + 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. + + + letzlich muss ./letter_head.pdf auf das passende Hintergrundpdf verweisen, + welches gewünschten Briefkopf enthält. 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 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). + + + Alle Anpassungen zum Briefkopf, Fusszeilen, Firmenlogos, etc. + sollten über die Hintergrund pdf datei oder die *.lco Datei erfolgen. + + + + f-tex Funktionsübersicht + + 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 + + + Tabellen mit oder ohne Preis + + Sprache der Tabellenüberschriften etc. + + Anpassung der Bezugs-Zeile (z.B. Rechnungsnummer versus + Angebotsnummer) + + Darstellung von Brutto oder Netto-Preisen in der Auflistung + (Endverbraucher versus Gewerblicher Kunde) + + + + Nachteil: + + 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. + + 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. + + + + Bruttopreise für Endvorbraucher + Der auszuweisende Bruttopreis wird innerhalb der LaTeX + Umgebung berechnet. es gibt zwar ein Feld um bei Aufträgen "alle Preise + Brutto" auszuwählen, aber: + + + 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) + + + 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) + + + + + 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: + + + 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" auszuwählen. + + + Die Entscheidung ob Netto/Oder Bruttopreise ausgewiesen werden kann direkt + beim Drucken reviediert werden, ohne dass sich der Auftragswert ändert. + + + + 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, müssen auch nur diese Felder in der + Lieferadresse ausgefüllt werden. Für den Firmenname wird der Wert der + Hauptadresse angezeigt. + + + + + + + + RB + + Vollständiger Dokumentensatz mit alternativen Design + + + + + Allgemeine Hinweise zu LaTeX Vorlagen + 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: + + + + ! 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. + + + ! 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. + + + + 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: + pdflatex), und stellen Sie sicher, dass pdflatex + (oder das von Ihnen verwendete System) vom Webserver ausgeführt werden + darf. + + Wenn sich das Problem nicht auf Grund der ausgabe im Webbrowser verifizieren lässt: + + + editiere [kivitendo-home]/config/kivitendo.conf und ändere "keep_tmp_files" auf 1 + keep_temp_files = 1; + + + bei fastcgi oder mod_perl den Webserver neu Starten + + + Nochmal einen Druckversuch im Webfrontend auslösen + + + wechsele in das users Verzeichnis von kivitendo + cd [kivitendo-home]/users + + + LaTeX Suchpfad anpassen: + export TEXINPUTS=".:[kivitendo-home]/templates/[aktuelles_template_verzeichniss]:" + + + Finde herraus welche Datei kivitendo beim letzten Durchlauf erstellt hat + ls -lahtr ./1*.tex + Es sollte die letzte Datei ganz unten sein + + + für besseren Hinweis auf Fehler texdatei nochmals übersetzen + pdflatex ./1*.tex + in der *.tex datei nach dem Fehler suchen. + + + diff --git a/doc/html/ch01.html b/doc/html/ch01.html index 7922e2b1c..1478eb60b 100644 --- a/doc/html/ch01.html +++ b/doc/html/ch01.html @@ -1,4 +1,4 @@ Kapitel 1. Aktuelle Hinweise

Kapitel 1. Aktuelle Hinweise

Aktuelle Installations- und Konfigurationshinweise gibt es:

\ No newline at end of file +

\ No newline at end of file diff --git a/doc/html/ch02.html b/doc/html/ch02.html index 28b4e2233..acd0f71e2 100644 --- a/doc/html/ch02.html +++ b/doc/html/ch02.html @@ -6,7 +6,7 @@ bei der Auswahl der Pakete aber darauf Rücksicht genommen, dass es ohne große Probleme auf den derzeit aktuellen verbreiteten Distributionen läuft.

Mitte 2012 sind das folgende Systeme, von denen bekannt ist, - dass kivitendo auf ihnen läuft:

  • Ubuntu 10.04 LTS Lucid Lynx bis 12.10 Oneiric Ocelot

  • Debian 5.0 Lenny und 6.0 Squeeze

  • openSUSE 11.2 und 11.3

  • SuSE Linux Enterprice Server 11

  • Fedora 13 bis 16

2.1.2. Pakete

Zum Betrieb von kivitendo werden zwingend ein Webserver (meist + dass kivitendo auf ihnen läuft:

  • Debian

    • 6.0 Squeeze (hier muss allerdings das Modul FCGI in der Version >= 0.72 compiled werden)

    • 7.0 Wheezy

  • Ubuntu 10.04 LTS Lucid Lynx bis 12.10 Oneiric Ocelot

  • openSUSE 11.2 und 11.3

  • SuSE Linux Enterprice Server 11

  • Fedora 13 bis 16

2.1.2. Pakete

Zum Betrieb von kivitendo werden zwingend ein Webserver (meist Apache) und ein Datenbankserver (PostgreSQL, mindestens v8.2) benötigt.

Zusätzlich benötigt kivitendo die folgenden Perl-Pakete, die nicht Bestandteil einer Standard-Perl-Installation sind:

  • diff --git a/doc/html/ch02s04.html b/doc/html/ch02s04.html index 9a1e409b3..1d656ee99 100644 --- a/doc/html/ch02s04.html +++ b/doc/html/ch02s04.html @@ -2,7 +2,7 @@ 2.4. Anpassung der PostgreSQL-Konfiguration

    2.4. Anpassung der PostgreSQL-Konfiguration

    PostgreSQL muss auf verschiedene Weisen angepasst werden.

    2.4.1. Zeichensätze/die Verwendung von UTF-8

    Bei aktuellen Serverinstallationen braucht man hier meist nicht eingreifen

    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:

    su postgres
    @@ -41,7 +41,9 @@ psql template1

    \q

    2.4.4. Datenbankbenutzer anlegen

    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:

    su - postgres
    +        können:

    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.

    su - postgres
     createuser -d -P kivitendo
     exit

    Wenn Sie später einen Datenbankzugriff konfigurieren, verändern Sie den evtl. voreingestellten Benutzer “postgres” auf “kivitendo” bzw. diff --git a/doc/html/ch02s05.html b/doc/html/ch02s05.html index 523411b3b..de63f2b59 100644 --- a/doc/html/ch02s05.html +++ b/doc/html/ch02s05.html @@ -1,6 +1,6 @@ - 2.5. Webserver-Konfiguration

    2.5. Webserver-Konfiguration

    2.5.1. Grundkonfiguration mittels CGI

    [Anmerkung]Anmerkung

    Für einen deutlichen Performanceschub sorgt die Ausführung + 2.5. Webserver-Konfiguration

    2.5. Webserver-Konfiguration

    2.5.1. Grundkonfiguration mittels CGI

    [Anmerkung]Anmerkung

    Für einen deutlichen Performanceschub sorgt die Ausführung mittels FastCGI/FCGI. Die Einrichtung wird ausführlich im Abschnitt Konfiguration für FastCGI/FCGI beschrieben.

    Der Zugriff auf das Programmverzeichnis muss in der Apache Webserverkonfigurationsdatei httpd.conf eingestellt diff --git a/doc/html/ch02s06.html b/doc/html/ch02s06.html index 5adbf1a26..4dd3522b1 100644 --- a/doc/html/ch02s06.html +++ b/doc/html/ch02s06.html @@ -29,7 +29,7 @@ Links aus einem der Runlevel-Verzeichnisse heraus in den Boot-Prozess einzubinden. Da das bei neueren Linux-Distributionen aber nicht zwangsläufig funktioniert, werden auch Start-Scripte mitgeliefert, die - anstelle eines symbolischen Links verwendet werden können.

    2.6.2.1. SystemV-basierende Systeme (z.B. Debian, OpenSuSE, Fedora + anstelle eines symbolischen Links verwendet werden können.

    2.6.2.1. SystemV-basierende Systeme (z.B. Debian, OpenSuSE, Fedora Core)

    Kopieren Sie die Datei scripts/boot/system-v/kivitendo-server nach /etc/init.d/kivitendo-server. Passen @@ -40,7 +40,7 @@ insserv kivitendo-task-server

  • OpenSuSE und Fedora Core:

    chkconfig --add kivitendo-task-server
  • Danach kann der Task-Server mit dem folgenden Befehl gestartet werden: /etc/init.d/kivitendo-task-server start -

    2.6.2.2. Upstart-basierende Systeme (z.B. Ubuntu)

    Kopieren Sie die Datei +

    2.6.2.2. Upstart-basierende Systeme (z.B. Ubuntu)

    Kopieren Sie die Datei scripts/boot/upstart/kivitendo-task-server.conf nach /etc/init/kivitendo-task-server.conf. Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile diff --git a/doc/html/ch02s10.html b/doc/html/ch02s10.html index d9bbfec8d..d050121df 100644 --- a/doc/html/ch02s10.html +++ b/doc/html/ch02s10.html @@ -3,25 +3,168 @@ 2.10. Drucken mit kivitendo

    2.10. Drucken mit kivitendo

    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 texlive Installation. Unter - Debianoiden Betriebssystemen sind das die Pakete:

    - texlive-latex-base texlive-latex-extra - texlive-fonts-recommended -

    Diese hinteren beiden enthalten Bibliotheken und Schriftarten die - von den Standardvorlagen verwendet werden.

    TODO: rpm Pakete.

    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:

    • ! 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.

    • ! 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.

    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: - pdflatex), und stellen Sie sicher, dass pdflatex - (oder das von Ihnen verwendete System) vom Webserver ausgeführt werden - darf.

    \ No newline at end of file + Debianoiden Betriebssystemen installiert man die Pakete mit:

    +

    aptitude install \
    +      texlive-base-bin \
    +texlive-latex-recommended \
    +texlive-fonts-recommended \
    +texlive-latex-extra \
    +texlive-lang-german \
    +texlive-generic-extra
    +      

    +

    TODO: rpm Pakete.

    kivitendo bringt 3 alternative Vorlagensätze mit:

    • Standard
    • f-tex
    • RB

    2.10.1. Vorlagenverzeichnis anlegen

    Bei einem neuen Benutzer/Mandanten lässt sich einer dieser Vorlagensätze + als Basis für die zu druckenden Dokumente auswählen:

    +

    unter:
    +Administration -> Benutzerverwaltung -> [ein Benutzer]
    +   Erzeuge Vorlagen, Name: [Name für das neue Vorlagenverzeichnis]
    +   Vorlagen auswählen: [Default, f-tex oder RB]
    +   -> Speichern
    +        

    +

    der gleiche Vorlagensatz kann, wenn er mal angelegt ist, bei mehreren Benutzern verwendet werden.

    Die Abhängigkeiten kann man prüfen mit:

    +

    /scripts/installation_check.pl -l

    +

    2.10.2. Default

    Der standard Vorlagensatz von Kivitendo. Wie unter + http://demo.kivitendo.org zu sehen.

    2.10.3. f-tex

    Ein Vorlagensatz, der in Wenigen Minuten alle Dokumente zur stellt.

    2.10.3.1. f-tex Feature Übersicht

    • 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..
    • 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 für 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 für Seitenumbruch, + wiederholung von Kopfzeilen, Zwischensummen etc. (danke an Kai-Martin für + die Vorarbeit) +
    • Anzeige des Empfängerlandes im Adressfeld nur, wenn es vom Land des + eigenen Unternehmens abweicht (also die Rechnung das Land verlässt). +
    • Multisprachfähig leicht um weitere Sprachen zu erweitern, alle + Übersetzungen in der Datei translatinos.tex. +
    • Auflistung von Bruttopreisen für Endverbraucher. +

    2.10.3.2. f-tex Die Installation

    • Vorlagenverzeichnis mit Option f-tex anlegen, siehe: + Vorlagenverzeichnis anlegen + Das Vorlagensystem funktioniert jetzt schon, hat allerdings noch einen + Beispiel Briefkopf +
    • + 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 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. +

    + 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. +

    + letzlich muss ./letter_head.pdf auf das passende Hintergrundpdf verweisen, + welches gewünschten Briefkopf enthält. 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 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). +

    + Alle Anpassungen zum Briefkopf, Fusszeilen, Firmenlogos, etc. + sollten über die Hintergrund pdf datei oder die *.lco Datei erfolgen. +

    2.10.3.3. f-tex Funktionsübersicht

    + 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 +

    • Tabellen mit oder ohne Preis +
    • Sprache der Tabellenüberschriften etc. +
    • Anpassung der Bezugs-Zeile (z.B. Rechnungsnummer versus + Angebotsnummer) +
    • Darstellung von Brutto oder Netto-Preisen in der Auflistung + (Endverbraucher versus Gewerblicher Kunde) +

    Nachteil:

    + 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. +

    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. +

    Bruttopreise für Endvorbraucher

    Der auszuweisende Bruttopreis wird innerhalb der LaTeX + Umgebung berechnet. es gibt zwar ein Feld um bei Aufträgen "alle Preise + Brutto" auszuwählen, aber:

    • + 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) +
    • + 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) +

    + 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:

    • + 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" auszuwählen. +
    • + Die Entscheidung ob Netto/Oder Bruttopreise ausgewiesen werden kann direkt + beim Drucken reviediert werden, ohne dass sich der Auftragswert ändert. +

    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, müssen auch nur diese Felder in der + Lieferadresse ausgefüllt werden. Für den Firmenname wird der Wert der + Hauptadresse angezeigt. +

    2.10.4. RB

    Vollständiger Dokumentensatz mit alternativen Design

    2.10.5. Allgemeine Hinweise zu LaTeX Vorlagen

    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:

    • ! 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.

    • ! 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.

    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: + pdflatex), und stellen Sie sicher, dass pdflatex + (oder das von Ihnen verwendete System) vom Webserver ausgeführt werden + darf.

    Wenn sich das Problem nicht auf Grund der ausgabe im Webbrowser verifizieren lässt:

    • editiere [kivitendo-home]/config/kivitendo.conf und ändere "keep_tmp_files" auf 1

      +

      keep_temp_files = 1;

      +

    • bei fastcgi oder mod_perl den Webserver neu Starten

    • Nochmal einen Druckversuch im Webfrontend auslösen

    • wechsele in das users Verzeichnis von kivitendo

      +

      cd [kivitendo-home]/users

      +

    • LaTeX Suchpfad anpassen:

      +

      export TEXINPUTS=".:[kivitendo-home]/templates/[aktuelles_template_verzeichniss]:"

      +

    • Finde herraus welche Datei kivitendo beim letzten Durchlauf erstellt hat

      +

      ls -lahtr ./1*.tex

      +

      Es sollte die letzte Datei ganz unten sein

    • für besseren Hinweis auf Fehler texdatei nochmals übersetzen

      +

      pdflatex ./1*.tex

      +

      in der *.tex datei nach dem Fehler suchen.

    \ No newline at end of file diff --git a/doc/html/ch03s02.html b/doc/html/ch03s02.html index e15e1c048..91679b177 100644 --- a/doc/html/ch03s02.html +++ b/doc/html/ch03s02.html @@ -556,7 +556,7 @@ invdate

    Rechnungsdatum

    invnumber -

    Rechnungsnummer

    3.2.10. Variablen in anderen Vorlagen

    3.2.10.1. Einführung

    Die Variablen in anderen Vorlagen sind ähnlich wie in der +

    Rechnungsnummer

    3.2.10. Variablen in anderen Vorlagen

    3.2.10.1. Einführung

    Die Variablen in anderen Vorlagen sind ähnlich wie in der Rechnung. Allerdings heißen die Variablen, die mit inv beginnen, jetzt anders. Bei den Angeboten fangen sie mit quo für "quotation" an: diff --git a/doc/html/ch04.html b/doc/html/ch04.html index 2856d450d..fd72356c9 100644 --- a/doc/html/ch04.html +++ b/doc/html/ch04.html @@ -1,6 +1,6 @@ - Kapitel 4. Entwicklerdokumentation

    Kapitel 4. Entwicklerdokumentation

    4.1. Globale Variablen

    4.1.1. Wie sehen globale Variablen in Perl aus?

    Globale Variablen liegen in einem speziellen namespace namens + Kapitel 4. Entwicklerdokumentation

    Kapitel 4. Entwicklerdokumentation

    4.1. Globale Variablen

    4.1.1. Wie sehen globale Variablen in Perl aus?

    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.

    Daraus ergeben sich folgende Formen:

    @@ -25,7 +25,7 @@ $PACKAGE::form.

    local $form

    Alle Änderungen an $form werden am Ende - des scopes zurückgesetzt

    4.1.2. Warum sind globale Variablen ein Problem?

    Das erste Problem ist FCGI™.

    + des scopes zurückgesetzt

    4.1.2. Warum sind globale Variablen ein Problem?

    Das erste Problem ist FCGI™.

    SQL-Ledger™ hat fast alles im globalen namespace abgelegt, und erwartet, dass es da auch wiederzufinden ist. Unter FCGI™ müssen diese Sachen aber wieder @@ -39,7 +39,7 @@ dies hat, seit der Einführung, u.a. schon so manche langwierige Bug-Suche verkürzt. Da globale Variablen aber implizit mit Package angegeben werden, werden die nicht geprüft, und somit kann sich - schnell ein Tippfehler einschleichen.

    4.1.3. Kanonische globale Variablen

    Um dieses Problem im Griff zu halten gibt es einige wenige + schnell ein Tippfehler einschleichen.

    4.1.3. Kanonische globale Variablen

    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.

    Diese Variablen sind im Moment die folgenden neun:

    • @@ -62,7 +62,7 @@ $::request

    Damit diese nicht erneut als Müllhalde missbraucht werden, im Folgenden eine kurze Erläuterung der bestimmten vorgegebenen - Eigenschaften (Konventionen):

    4.1.3.1. $::form

    • Ist ein Objekt der Klasse + Eigenschaften (Konventionen):

      4.1.3.1. $::form

      • Ist ein Objekt der Klasse "Form"

      • Wird nach jedem Request gelöscht

      • Muss auch in Tests und Konsolenscripts vorhanden sein.

      • Enthält am Anfang eines Requests die Requestparameter vom User

      • Kann zwar intern über Requestgrenzen ein Datenbankhandle @@ -110,7 +110,7 @@ push @{ $form->{TEMPLATE_ARRAYS}{number} }, $form->{"partnumber_$i"}; push @{ $form->{TEMPLATE_ARRAYS}{description} }, $form->{"description_$i"}; # ... -}

      4.1.3.2. %::myconfig

      • Das einzige Hash unter den globalen Variablen

      • Wird spätestens benötigt wenn auf die Datenbank +}

      4.1.3.2. %::myconfig

      • Das einzige Hash unter den globalen Variablen

      • Wird spätestens benötigt wenn auf die Datenbank zugegriffen wird

      • Wird bei jedem Request neu erstellt.

      • Enthält die Userdaten des aktuellen Logins

      • Sollte nicht ohne Filterung irgendwo gedumpt werden oder extern serialisiert werden, weil da auch der Datenbankzugriff für diesen user drinsteht.

      • Enthält unter anderem Listenbegrenzung vclimit, @@ -122,10 +122,10 @@ überwiegend die Daten, die sich unter Programm -> Einstellungen befinden, bzw. die Informationen über den Benutzer die über die - Administrator-Schnittstelle (admin.pl) eingegeben wurden.

      4.1.3.3. $::locale

      • Objekt der Klasse "Locale"

      • Wird pro Request erstellt

      • Muss auch für Tests und Scripte immer verfügbar + Administrator-Schnittstelle (admin.pl) eingegeben wurden.

      4.1.3.3. $::locale

      • Objekt der Klasse "Locale"

      • Wird pro Request erstellt

      • Muss auch für Tests und Scripte immer verfügbar sein.

      • Cached intern über Requestgrenzen hinweg benutzte Locales

      Lokalisierung für den aktuellen User. Alle Übersetzungen, - Zahlen- und Datumsformatierungen laufen über dieses Objekt.

      4.1.3.4. $::lxdebug

      • Objekt der Klasse "LXDebug"

      • Wird global gecached

      • Muss immer verfügbar sein, in nahezu allen + Zahlen- und Datumsformatierungen laufen über dieses Objekt.

      4.1.3.4. $::lxdebug

      • Objekt der Klasse "LXDebug"

      • Wird global gecached

      • Muss immer verfügbar sein, in nahezu allen Funktionen

      $::lxdebug stellt Debuggingfunktionen bereit, wie "enter_sub" und @@ -135,12 +135,12 @@ "message" und "dump" mit denen man flott Informationen ins Log (tmp/kivitendo-debug.log) packen kann.

      Beispielsweise so:

      $main::lxdebug->message(0, 'Meine Konfig:' . Dumper (%::myconfig));
      -$main::lxdebug->message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form->{vc});

      4.1.3.5. $::auth

      • Objekt der Klasse "SL::Auth"

      • Wird global gecached

      • Hat eine permanente DB Verbindung zur Authdatenbank

      • Wird nach jedem Request resettet.

      +$main::lxdebug->message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form->{vc});

      4.1.3.5. $::auth

      • Objekt der Klasse "SL::Auth"

      • Wird global gecached

      • Hat eine permanente DB Verbindung zur Authdatenbank

      • Wird nach jedem Request resettet.

      $::auth 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.

      4.1.3.6. $::lx_office_conf

      • Objekt der Klasse + Request kurz resettet.

      4.1.3.6. $::lx_office_conf

      • Objekt der Klasse "SL::LxOfficeConf"

      • Global gecached

      • Repräsentation der config/kivitendo.conf[.default]-Dateien

      Globale Konfiguration. Configdateien werden zum Start gelesen und danach nicht mehr angefasst. Es ist derzeit nicht geplant, dass @@ -150,16 +150,16 @@ $main::lxdebug->message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form->{ file = /tmp/kivitendo-debug.log

      ist der Key file im Programm als $::lx_office_conf->{debug}{file} erreichbar.

      [Warnung]Warnung

      Zugriff auf die Konfiguration erfolgt im Moment über - Hashkeys, sind also nicht gegen Tippfehler abgesichert.

      4.1.3.7. $::instance_conf

      • Objekt der Klasse + Hashkeys, sind also nicht gegen Tippfehler abgesichert.

    4.1.3.7. $::instance_conf

    • Objekt der Klasse "SL::InstanceConfiguration"

    • wird pro Request neu erstellt

    Funktioniert wie $::lx_office_conf, speichert aber Daten die von der Instanz abhängig sind. Eine Instanz ist hier eine Mandantendatenbank. Beispielsweise überprüft

    $::instance_conf->get_inventory_system eq 'perpetual'

    - ob die berüchtigte Bestandsmethode zur Anwendung kommt.

    4.1.3.8. $::dispatcher

    • Objekt der Klasse + ob die berüchtigte Bestandsmethode zur Anwendung kommt.

    4.1.3.8. $::dispatcher

    • Objekt der Klasse "SL::Dispatcher"

    • wird pro Serverprozess erstellt.

    • enthält Informationen über die technische Verbindung zum Server

    Der dritte Punkt ist auch der einzige Grund warum das Objekt global gespeichert wird. Wird vermutlich irgendwann in einem anderen - Objekt untergebracht.

    4.1.3.9. $::request

    • Hashref (evtl später Objekt)

    • Wird pro Request neu initialisiert.

    • Keine Unterstruktur garantiert.

    + Objekt untergebracht.

    4.1.3.9. $::request

    • Hashref (evtl später Objekt)

    • Wird pro Request neu initialisiert.

    • Keine Unterstruktur garantiert.

    $::request ist ein generischer Platz um Daten "für den aktuellen Request" abzulegen. Sollte nicht für action at a distance benutzt werden, sondern um lokales memoizing zu @@ -172,20 +172,20 @@ file = /tmp/kivitendo-debug.log

    ist der Key file$::request

  • Muss ich von anderen Teilen des Programms lesend drauf zugreifen? Dann $::request, aber Zugriff über - Wrappermethode

4.1.4. Ehemalige globale Variablen

Die folgenden Variablen waren einmal im Programm, und wurden - entfernt.

4.1.4.1. $::cgi

  • war nötig, weil cookie Methoden nicht als + Wrappermethode

4.1.4. Ehemalige globale Variablen

Die folgenden Variablen waren einmal im Programm, und wurden + entfernt.

4.1.4.1. $::cgi

  • war nötig, weil cookie Methoden nicht als Klassenfunktionen funktionieren

  • Aufruf als Klasse erzeugt Dummyobjekt was im Klassennamespace gehalten wird und über Requestgrenzen leaked

  • liegt jetzt unter $::request->{cgi} -

4.1.4.2. $::all_units

  • war nötig, weil einige Funktionen in Schleifen zum Teil +

4.1.4.2. $::all_units

  • 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.

  • Liegt jetzt unter $::request->{cache}{all_units}

  • Wird nur in AM->retrieve_all_units() gesetzt oder - gelesen.

4.1.4.3. %::called_subs

  • wurde benutzt um callsub deep recursions + gelesen.

4.1.4.3. %::called_subs

  • wurde benutzt um callsub deep recursions abzufangen.

  • Wurde entfernt, weil callsub nur einen Bruchteil der möglichen Rekursioenen darstellt, und da nie welche auftreten.

  • komplette recursion protection wurde entfernt.

\ No newline at end of file diff --git a/doc/html/index.html b/doc/html/index.html index 26616eee1..f9ac994c3 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -1,9 +1,9 @@ - kivitendo: Installation, Konfiguration, Entwicklung

kivitendo: Installation, Konfiguration, Entwicklung


Inhaltsverzeichnis

1. Aktuelle Hinweise
2. Installation und Grundkonfiguration
2.1. Benötigte Software und Pakete
2.1.1. Betriebssystem
2.1.2. Pakete
2.2. Manuelle Installation des Programmpaketes
2.3. kivitendo-Konfigurationsdatei
2.3.1. Einführung
2.3.2. Abschnitte und Parameter
2.3.3. Versionen vor 2.6.3
2.4. Anpassung der PostgreSQL-Konfiguration
2.4.1. Zeichensätze/die Verwendung von UTF-8
2.4.2. Änderungen an Konfigurationsdateien
2.4.3. Erweiterung für servergespeicherte Prozeduren
2.4.4. Datenbankbenutzer anlegen
2.5. Webserver-Konfiguration
2.5.1. Grundkonfiguration mittels CGI
2.5.2. Konfiguration für FastCGI/FCGI
2.6. Der Task-Server
2.6.1. Verfügbare und notwendige Konfigurationsoptionen
2.6.2. Automatisches Starten des Task-Servers beim Booten
2.6.3. Wie der Task-Server gestartet und beendet wird
2.6.4. Task-Server mit mehreren Mandanten
2.7. Benutzerauthentifizierung und Administratorpasswort
2.7.1. Grundlagen zur Benutzerauthentifizierung
2.7.2. Administratorpasswort
2.7.3. Authentifizierungsdatenbank
2.7.4. Passwortüberprüfung
2.7.5. Name des Session-Cookies
2.7.6. Anlegen der Authentifizierungsdatenbank
2.8. Benutzer- und Gruppenverwaltung
2.8.1. Zusammenhänge
2.8.2. Datenbanken anlegen
2.8.3. Gruppen anlegen
2.8.4. Benutzer anlegen
2.8.5. Gruppenmitgliedschaften verwalten
2.8.6. Migration alter Installationen
2.9. E-Mail-Versand aus kivitendo heraus
2.9.1. Versand über lokalen E-Mail-Server
2.9.2. Versand über einen SMTP-Server
2.10. Drucken mit kivitendo
2.11. OpenDocument-Vorlagen
2.12. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: + kivitendo: Installation, Konfiguration, Entwicklung

kivitendo: Installation, Konfiguration, Entwicklung


Inhaltsverzeichnis

1. Aktuelle Hinweise
2. Installation und Grundkonfiguration
2.1. Benötigte Software und Pakete
2.1.1. Betriebssystem
2.1.2. Pakete
2.2. Manuelle Installation des Programmpaketes
2.3. kivitendo-Konfigurationsdatei
2.3.1. Einführung
2.3.2. Abschnitte und Parameter
2.3.3. Versionen vor 2.6.3
2.4. Anpassung der PostgreSQL-Konfiguration
2.4.1. Zeichensätze/die Verwendung von UTF-8
2.4.2. Änderungen an Konfigurationsdateien
2.4.3. Erweiterung für servergespeicherte Prozeduren
2.4.4. Datenbankbenutzer anlegen
2.5. Webserver-Konfiguration
2.5.1. Grundkonfiguration mittels CGI
2.5.2. Konfiguration für FastCGI/FCGI
2.6. Der Task-Server
2.6.1. Verfügbare und notwendige Konfigurationsoptionen
2.6.2. Automatisches Starten des Task-Servers beim Booten
2.6.3. Wie der Task-Server gestartet und beendet wird
2.6.4. Task-Server mit mehreren Mandanten
2.7. Benutzerauthentifizierung und Administratorpasswort
2.7.1. Grundlagen zur Benutzerauthentifizierung
2.7.2. Administratorpasswort
2.7.3. Authentifizierungsdatenbank
2.7.4. Passwortüberprüfung
2.7.5. Name des Session-Cookies
2.7.6. Anlegen der Authentifizierungsdatenbank
2.8. Benutzer- und Gruppenverwaltung
2.8.1. Zusammenhänge
2.8.2. Datenbanken anlegen
2.8.3. Gruppen anlegen
2.8.4. Benutzer anlegen
2.8.5. Gruppenmitgliedschaften verwalten
2.8.6. Migration alter Installationen
2.9. E-Mail-Versand aus kivitendo heraus
2.9.1. Versand über lokalen E-Mail-Server
2.9.2. Versand über einen SMTP-Server
2.10. Drucken mit kivitendo
2.10.1. Vorlagenverzeichnis anlegen
2.10.2. Default
2.10.3. f-tex
2.10.4. RB
2.10.5. Allgemeine Hinweise zu LaTeX Vorlagen
2.11. OpenDocument-Vorlagen
2.12. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR
2.12.1. Einführung
2.12.2. Konfigurationsparameter
2.12.3. Festlegen der Parameter
2.12.4. Bemerkungen zu Bestandsmethode
2.12.5. Bekannte Probleme
2.13. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb
2.13.1. Einführung
2.13.2. Konto 3804 manuell anlegen
2.14. Einstellungen pro Mandant
2.15. kivitendo ERP verwenden
3. Features und Funktionen
3.1. Wiederkehrende Rechnungen
3.1.1. Einführung
3.1.2. Konfiguration
3.1.3. Auflisten
3.1.4. Erzeugung der eigentlichen Rechnungen
3.1.5. Erste Rechnung für aktuellen Monat erstellen
3.2. Dokumentenvorlagen und verfügbare Variablen
3.2.1. Einführung
3.2.2. Variablen ausgeben
3.2.3. Verwendung in Druckbefehlen
3.2.4. Anfang und Ende der Tags verändern
3.2.5. Zuordnung von den Dateinamen zu den Funktionen
3.2.6. Sprache, Drucker und E-Mail
3.2.7. Allgemeine Variablen, die in allen Vorlagen vorhanden sind
3.2.8. Variablen in Rechnungen
3.2.9. Variablen in Mahnungen und Rechnungen über Mahngebühren
3.2.10. Variablen in anderen Vorlagen
3.2.11. Blöcke, bedingte Anweisungen und Schleifen
3.2.12. Markup-Code zur Textformatierung innerhalb von - Formularen
3.3. Excel-Vorlagen
3.3.1. Zusammenfassung
3.3.2. Bedienung
3.3.3. Variablensyntax
3.3.4. Einschränkungen
4. Entwicklerdokumentation
4.1. Globale Variablen
4.1.1. Wie sehen globale Variablen in Perl aus?
4.1.2. Warum sind globale Variablen ein Problem?
4.1.3. Kanonische globale Variablen
4.1.4. Ehemalige globale Variablen
4.2. Entwicklung unter FastCGI
4.2.1. Allgemeines
4.2.2. Programmende und Ausnahmen
4.2.3. Globale Variablen
4.2.4. Performance und Statistiken
4.2.5. Bekannte Probleme
4.3. SQL-Upgradedateien
4.3.1. Einführung
4.3.2. Format der Kontrollinformationen
4.3.3. Hilfsscript dbupgrade2_tool.pl
4.4. Translations and languages
4.4.1. Introduction
4.4.2. File structure
4.5. Die kivitendo-Test-Suite
4.5.1. Einführung
4.5.2. Voraussetzungen
4.5.3. + Formularen
3.3. Excel-Vorlagen
3.3.1. Zusammenfassung
3.3.2. Bedienung
3.3.3. Variablensyntax
3.3.4. Einschränkungen
4. Entwicklerdokumentation
4.1. Globale Variablen
4.1.1. Wie sehen globale Variablen in Perl aus?
4.1.2. Warum sind globale Variablen ein Problem?
4.1.3. Kanonische globale Variablen
4.1.4. Ehemalige globale Variablen
4.2. Entwicklung unter FastCGI
4.2.1. Allgemeines
4.2.2. Programmende und Ausnahmen
4.2.3. Globale Variablen
4.2.4. Performance und Statistiken
4.2.5. Bekannte Probleme
4.3. SQL-Upgradedateien
4.3.1. Einführung
4.3.2. Format der Kontrollinformationen
4.3.3. Hilfsscript dbupgrade2_tool.pl
4.4. Translations and languages
4.4.1. Introduction
4.4.2. File structure
4.5. Die kivitendo-Test-Suite
4.5.1. Einführung
4.5.2. Voraussetzungen
4.5.3. Existierende Tests ausführen
4.5.4. Bedeutung der verschiedenen Test-Scripte diff --git a/doc/kivitendo-Dokumentation.pdf b/doc/kivitendo-Dokumentation.pdf index 3a7969bdd..a62317368 100644 Binary files a/doc/kivitendo-Dokumentation.pdf and b/doc/kivitendo-Dokumentation.pdf differ diff --git a/templates/print/f-tex/README b/templates/print/f-tex/README deleted file mode 100644 index 713f36993..000000000 --- a/templates/print/f-tex/README +++ /dev/null @@ -1,201 +0,0 @@ -README lx-office Fancy-LaTeX (f-tex) - -# Revision 1.1-u (03.02.2012) -# Revision 1.0-u (16.11.2011) -# Revision 0.9 (13.11.2011) -# Revision 0.8 (12.09.2011) -# Revision 0.7 (12.07.2011) -# Revision 0.6 (16.06.2011) -# Revision 0.5 (15.04.2011) -# Revision 0.4 (14.02.2011) -# Revision 0.3 (03.01.2011) -# Revision 0.2 (24.12.2010) -# Revision 0.1 (03.11.2009) - - - -# Feature Uebersicht - - - einfach Nutzung durch mitgeliefertes Setup-Script - - Keine Retundanz. Es wird ein und die selbe Latex-Vorlage fuer alle - briefartigen Dokumente verwendet. Also Angebot, Rechnung, - Performarechnung, Lieferschein, aber eben nicht fuer Paketaufkleber - etc.. - - Leichte Anpassung an das Firmen Layout durch verwendung eines Hintergrund-PDF - dieses kann leicht mit dem eigenen Lieblingsprogramm erstellt werden - (Openoffice, Inkscape, Gimp, Adobe*) - - Hintergrundpdf um schaltbar auf "nur erste Seite" (default) oder "alle Seiten" - (option "bgPdfFirstPageOnly" in Datei letter.lco) - - Hintergrundpdf fuer Ausdruck auf bereits bedrucktem Briefpapier Abschaltbar, - es wird dann nur bei per email versendeten Dokumenten eingebunden. - (Option "bgPdfEmailOnly" in Datei letter.lco) - - Nutzung der Layout-Funktionen von Latex fuer Seitenumbruch, - wiederholung von Kopfzeilen, Zwischensummen etc. (danke an Kai-Martin fuer - die Vorarbeit) - - Anzeige des Empfaengerlandes im Adressfeld nur, wenn es vom Land des - eigenen Unternehmens abweicht (also die Rechnung das Land verlaesst). - - Multisprachfaehig leicht um weitere Sprachen zu erweitern, alle - Übersetzungen in der Datei translatinos.tex. - - Auflistung von Bruttopreisen fuer Endverbraucher. - - - - -# die Installation - - Wenn es noch keine LaTeX installation gibt, installiere die folgenden Pakete - (Debian) - aptitude install \ - texlive-base-bin \ - texlive-latex-recommended \ - texlive-fonts-recommended \ - texlive-latex-extra \ - texlive-lang-german \ - texlive-generic-extra - - Die Abhaengigkeiten kann man mit - /scripts/installation_check.pl -l pruefen (z.Z. noch nicht eingecheckt) - - Ein Vorlagenverzeichniss kannst Du direkt unter admin.pl Benutzeradministration erstellen: - Benutze Vorlagen: f-tex - Erzeuge Vorlagen, Name: - 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. - - -