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:
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:
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
Der standard Vorlagensatz von Kivitendo. Wie unter http://demo.kivitendo.org zu sehen.
Ein Vorlagensatz, der in Wenigen Minuten alle Dokumente zur stellt.
./letter_head.pdf
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.
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
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:
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:
Lieferadressen
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.