X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=doc%2Fhtml%2Fch02s12.html;h=2a74ae39f4a815dc9192ada5aac00edf9b86c85d;hb=5a2fd111d9a16f380fe93100ed434c6392da2b7e;hp=ab27592cf9b07e5003f90b9bc0272aee1f731ed4;hpb=4486e3bc8eb00c37cf8029e663eb94b4b9c5346a;p=kivitendo-erp.git diff --git a/doc/html/ch02s12.html b/doc/html/ch02s12.html index ab27592cf..2a74ae39f 100644 --- a/doc/html/ch02s12.html +++ b/doc/html/ch02s12.html @@ -1,58 +1,201 @@ - 2.12. OpenDocument-Vorlagen

2.12. OpenDocument-Vorlagen

kivitendo unterstützt die Verwendung von Vorlagen im - OpenDocument-Format, wie es OpenOffice.org ab Version 2 erzeugt. - kivitendo kann dabei sowohl neue OpenDocument-Dokumente als auch aus - diesen direkt PDF-Dateien erzeugen. Um die Unterstützung von - OpenDocument-Vorlagen zu aktivieren muss in der Datei - config/kivitendo.conf die Variable - opendocument im Abschnitt - print_templates auf ‘1’ stehen. - Dieses ist die Standardeinstellung.

Weiterhin muss in der Datei - config/kivitendo.conf die Variable - dbcharset im Abschnitt system auf - die Zeichenkodierung gesetzt werden, die auch bei der Speicherung der - Daten in der Datenbank verwendet wird. Diese ist in den meisten Fällen - "UTF-8".

Während die Erzeugung von reinen OpenDocument-Dateien keinerlei - weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF - OpenOffice.org benötigt. Soll dieses Feature genutzt werden, so muss - neben OpenOffice.org ab Version 2 auch der “X virtual frame buffer” - (xvfb) installiert werden. Bei Debian ist er im Paket “xvfb” enthalten. - Andere Distributionen enthalten ihn in anderen Paketen.

Nach der Installation müssen in der Datei - config/kivitendo.conf zwei weitere Variablen - angepasst werden: openofficeorg_writer muss den - vollständigen Pfad zur OpenOffice.org Writer-Anwendung enthalten. - xvfb muss den Pfad zum “X virtual frame buffer” - enthalten. Beide stehen im Abschnitt - applications.

Zusätzlich gibt es zwei verschiedene Arten, wie kivitendo mit - OpenOffice kommuniziert. Die erste Variante, die benutzt wird, wenn die - Variable $openofficeorg_daemon gesetzt ist, startet - ein OpenOffice, das auch nach der Umwandlung des Dokumentes gestartet - bleibt. Bei weiteren Umwandlungen wird dann diese laufende Instanz - benutzt. Der Vorteil ist, dass die Zeit zur Umwandlung deutlich - reduziert wird, weil nicht für jedes Dokument ein OpenOffice gestartet - werden muss. Der Nachteil ist, dass diese Methode Python und die - Python-UNO-Bindings benötigt, die Bestandteil von OpenOffice 2 - sind.

Ist $openofficeorg_daemon nicht gesetzt, so - wird für jedes Dokument OpenOffice neu gestartet und die Konvertierung - mit Hilfe eines Makros durchgeführt. Dieses Makro muss in der - Dokumentenvorlage enthalten sein und - “Standard.Conversion.ConvertSelfToPDF()” heißen. Die Beispielvorlage - ‘templates/mastertemplates/German/invoice.odt’ - enthält ein solches Makro, das in jeder anderen Dokumentenvorlage - ebenfalls enthalten sein muss.

Als letztes muss herausgefunden werden, welchen Namen - OpenOffice.org Writer dem Verzeichnis mit den Benutzereinstellungen - gibt. Unter Debian ist dies momentan - ~/.openoffice.org2. Sollte der Name bei Ihrer - OpenOffice.org-Installation anders sein, so muss das Verzeichnis - users/.openoffice.org2 entsprechend umbenannt werden. - Ist der Name z.B. einfach nur .openoffice, so wäre - folgender Befehl auszuführen:

- mv users/.openoffice.org2 - users/.openoffice -

Dieses Verzeichnis, wie auch das komplette - users-Verzeichnis, muss vom Webserver beschreibbar - sein. Dieses wurde bereits erledigt (siehe Manuelle Installation des Programmpaketes), kann aber - erneut überprüft werden, wenn die Konvertierung nach PDF - fehlschlägt.

\ No newline at end of file + 2.12. Drucken mit kivitendo

2.12. 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 installiert man die Pakete mit:

+

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

+

Für Fedora benötigen Sie die folgenden Pakete:

+

dnf install texlive-collection-latex texlive-collection-latexextra \
+  texlive-collection-latexrecommended texlive-collection-langgerman \
+  texlive-collection-langenglish

+

Für openSUSE benötigen Sie die folgenden Pakete:

+

zypper install texlive-collection-latex texlive-collection-latexextra \
+  texlive-collection-latexrecommended texlive-collection-langgerman \
+  texlive-collection-langenglish

+

kivitendo bringt drei alternative Vorlagensätze mit:

Der ehemalige Druckvorlagensatz "Standard" wurde mit der Version + 3.3 entfernt, da er nicht mehr gepflegt wurde.

2.12.1. Vorlagenverzeichnis anlegen

Es lässt sich ein initialer Vorlagensatz erstellen. Die + LaTeX-System-Abhängigkeiten hierfür kann man prüfen mit:

./scripts/installation_check.pl -lv

Der Angemeldete Benutzer muss in einer Gruppe sein, die über das + Recht "Konfiguration -> Mandantenverwaltung" verfügt. Siehe auch + Abschnitt 2.9.4, „Gruppen anlegen“.

Im Userbereich lässt sich unter: "System + -> Mandantenverwaltung -> + Verschiedenes" die Option "Neue + Druckvorlagen aus Vorlagensatz erstellen" auswählen.

  1. + Vorlagen auswählen: Wählen Sie hier den + Vorlagensatz aus, der kopiert werden soll + (RB, f-tex oder + odt-rev.)

  2. + Neuer Name: Der Verzeichnisname für den + neuen Vorlagensatz. Dieser kann im Rahmen der üblichen Bedingungen + für Verzeichnisnamen frei gewählt werden.

Nach dem Speichern wird das Vorlagenverzeichnis angelegt und ist + für den aktuellen Mandanten ausgewählt. Der gleiche Vorlagensatz kann, + wenn er mal angelegt ist, bei mehreren Mandanten verwendet werden. + Eventuell müssen Anpassungen (Logo, Erscheinungsbild, etc) noch + vorgenommen werden. Den Ordner findet man im Dateisystem unter + ./templates/[Neuer Name] +

2.12.2. Der Druckvorlagensatz RB

Hierbei handelt es sich um einen vollständigen LaTeX + Dokumentensatz mit alternativem Design. Die odt oder html-Varianten + sind nicht gepflegt.

Die konzeptionelle Idee der Vorlagen wird hier + auf Folie 5 bis 10 vorgestellt. Informationen zur Anpassung an die + eigenen Firmendaten finden sich in der Datei Readme.tex im + Vorlagenverzeichnis.

Eine kurze Übersicht der Features:

  • Mehrsprachenfähig, mit Deutscher und Englischer + Übersetzung

  • Zentrale Konfigurationsdateien, die für alle Belege benutzt + werden, z.B. für Kopf- und Fußzeilen, und Infos wie + Bankdaten

  • mehrere vordefinierte Varianten für + Logos/Hintergrundbilder

  • Berücksichtigung für Steuerzonen "EU mit USt-ID Nummer" oder + "Außerhalb EU"

2.12.3. f-tex

Ein Vorlagensatz, der in wenigen Minuten alle Dokumente zur + Verfügung stellt.

2.12.3.1. Feature-Übersicht

  • Keine Redundanz. Es wird ein- und dieselbe LaTeX-Vorlage + für alle briefartigen Dokumente verwendet. Also Angebot, + Rechnung, Proformarechnung, Lieferschein, aber eben nicht für + Paketaufkleber etc.

  • Leichte Anpassung an das Firmen-Layout durch Verwendung + eines Hintergrund-PDFs. Dieses kann leicht mit dem eigenen + Lieblingsprogramm erstellt werden (Openoffice, Inkscape, Gimp, + Adobe*)

  • Hintergrund-PDF umschaltbar auf "nur erste Seite" + (Standard) oder "alle Seiten" (Option + "bgPdfFirstPageOnly" in Datei + letter.lco)

  • Hintergrund-PDF für Ausdruck auf bereits bedrucktem + Briefpapier abschaltbar. Es wird dann nur bei per E-Mail + 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 Knaak 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.12.3.2. 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 Hintergrund-PDF verwiesen. Ich empfehle + über dieses PDF die persönlichen Layoutanpassungen vorzunehmen und + sample.lco unverändert zu lassen. 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_head.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 Hintergrund-PDF verweisen, welches gewünschten Briefkopf + enthält.

Es wird eine Datei mydata.tex.example + ausgeliefert, die nach mytdata.tex verlinkt + ist. Bei verwendetem Hintergrund-PDF 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.12.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 + LaTeX-Vorlage 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 + heftig 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.

2.12.3.4. Bruttopreise für Endverbraucher

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 als auch 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 Nettopreise 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 revidiert werden, ohne dass + sich der Auftragswert ändert.

2.12.3.5. 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 Straße, + 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.12.4. Der Druckvorlagensatz rev-odt

Hierbei handelt es sich um einen Dokumentensatz der mit + odt-Vorlagen erstellt wurde. Es gibt in dem Verzeichnis eine + Readme-Datei, die eventuell aktueller als die Dokumentation hier ist. + Die odt-Vorlagen in diesem Verzeichnis "rev-odt" wurden von revamp-it, + Zürich erstellt und werden laufend aktualisiert. Ein paar der + Formulierungen in den Druckvorlagen entsprechen dem Schweizer + Sprachgebrauch, z.B. "Offerte" oder "allfällig".

Hinweis zum Einsatz des Feldes "Land" bei den Stammdaten für + KundInnen und LieferantInnen, sowie bei Lieferadressen: Die in diesem + Vorlagensatz vorhandenen Vorlagen erwarten für "Land" das + entsprechende Kürzel, das in Adressen vor die Postleitzahl gesetzt + wird. Das Feld kann auch komplett leer bleiben. Wer dies anders + handhaben möchte, muss die Vorlagen entsprechend anpassen.

odt-Vorlagen können mit LibreOffice oder OpenOffice editiert und + den eigenen Bedürfnissen angepasst werden. Wichtig beim Editieren von + if-Blöcken ist, dass immer der gesamte Block überschrieben werden muss + und nicht nur Teile davon, da dies sonst oft zu einer odt-Datei führt, + die vom Parser nicht korrekt gelesen werden kann.

Mahnungen können unter folgenden Einschränkungen mit den + odt-Vorlagen im Vorlagensatz rev-odt erzeugt werden:

  • als Druckoption steht nur 'PDF(OpenDocument/OASIS)' zur + Verfügung, das heisst, die Mahnungen werden als PDF-Datei + ausgegeben.

  • für jede Rechnung muss eine eigene Mahnung erzeugt werden + (auch wenn bei einzelnen KundInnen mehrere überfällige Rechnungen + vorhanden sind).

Mehrere Mahnungen für eine Kundin / einen Kunden werden zu einer + PDF-Datei zusammengefasst

Die Vorlagen zahlungserinnerung.odt sowie mahnung.odt sind für + das Erstellen einer Zahlungserinnerung bzw. Mahnung selbst vorgesehen, + die Vorlage mahnung_invoice.odt für das Erstellen einer Rechnung über + die verrechneten Mahngebühren und Verzugszinsen.

Zur Zeit gibt es in kivitendo noch keine Möglichkeit, + odt-Vorlagen bei Briefen und Pflichtenheften einzusetzen. + Entsprechende Vorlagen sind deshalb nicht vorhanden.

Fehlermeldungen, Anregungen und Wünsche bitte senden an: + empfang@revamp-it.ch

2.12.5. Allgemeine Hinweise zu LaTeX Vorlagen

In den allermeisten Installationen sollte das Drucken jetzt + schon funktionieren. Sollte ein Fehler auftreten, wirft TeX sehr lange + Fehlerbeschreibungen, der eigentliche Fehler ist immer die erste + Zeile, 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:... 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 gar kein 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_temp_files" auf 1

    +

    keep_temp_files = 1;

    +

  • bei fastcgi oder mod_perl den Webserver neu Starten

  • Nochmal einen Druckversuch im Webfrontend auslösen

  • wechsel in das users Verzeichnis von kivitendo

    +

    cd [kivitendo-home]/users

    +

  • LaTeX Suchpfad anpassen:

    +

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

    +

  • Finde heraus, 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