X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=doc%2Fhtml%2Fch02s12.html;h=f936c20e54659153b34b62e9206b5ee367addcce;hb=2bc33284e526869f0de7aa0ddd5cdb141432f4e3;hp=ab27592cf9b07e5003f90b9bc0272aee1f731ed4;hpb=c8a19933e3a4b3b0174078b70f7ea9faac56d94e;p=kivitendo-erp.git diff --git a/doc/html/ch02s12.html b/doc/html/ch02s12.html index ab27592cf..f936c20e5 100644 --- a/doc/html/ch02s12.html +++ b/doc/html/ch02s12.html @@ -1,58 +1,192 @@
-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.
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:
RB
f-tex
rev-odt
Der ehemalige Druckvorlagensatz "Standard" wurde mit der Version + 3.3 entfernt, da er nicht mehr gepflegt wurde.
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: "
+ -> -> + " die Option "Neue + Druckvorlagen aus Vorlagensatz erstellen" auswählen.
+ Vorlagen auswählen
: Wählen Sie hier den
+ Vorlagensatz aus, der kopiert werden soll
+ (RB
, f-tex
oder
+ odt-rev
.)
+ 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]
+
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"
Ein Vorlagensatz, der in wenigen Minuten alle Dokumente zur + Verfügung stellt.
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.
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.
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.
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.
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.
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.
Zur Zeit gibt es in kivitendo noch keine Möglichkeit, + odt-Vorlagen bei Mahnungen, Briefen und Pflichtenheften einzusetzen. + Entsprechende Vorlagen sind deshalb nicht vorhanden.
Fehlermeldungen, Anregungen und Wünsche bitte senden an: + empfang@revamp-it.ch
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.