X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=doc%2Fhtml%2Fch02s13.html;h=18ed12081c122879547ce78c2e7b04f9c4b4e302;hb=713de5ed35a8a1faea940354254c4e781631c495;hp=282c26f99fa513fc530f5405489e9922c5e44afa;hpb=72de9676c87a4e842af49c4e474f4f1541029faa;p=kivitendo-erp.git diff --git a/doc/html/ch02s13.html b/doc/html/ch02s13.html index 282c26f99..18ed12081 100644 --- a/doc/html/ch02s13.html +++ b/doc/html/ch02s13.html @@ -1,64 +1,133 @@ - 2.13. OpenDocument-Vorlagen

2.13. 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 + 2.13. OpenDocument-Vorlagen

2.13. OpenDocument-Vorlagen

kivitendo unterstützt die Verwendung von Vorlagen im + OpenDocument-Format, wie es LibreOffice oder OpenOffice (ab Version 2) + erzeugen. 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.

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.

[Anmerkung]Anmerkung

- Für die Verbindung zu OpenOffice wird normalerweise der Python-Interpreter /usr/bin/python benutzt. Sollte - dies nicht der richtige sein, so kann man mit zwei Konfigurationsvariablen entscheiden, welcher Python-Interpreter genutzt - wird. Mit der Option python_uno aus dem Abschnitt applications wird der Interpreter selber - festgelegt; sie steht standardmäßig auf dem eben erwähnten Wert /usr/bin/python. -

- Zusätzlich ist es möglich, Pfade anzugeben, in denen Python neben seinen normalen Suchpfaden ebenfalls nach Modulen gesucht wird, - z.B. falls sich diese in einem gesonderten OpenOffice-Verzeichnis befinden. Diese zweite Variable heißt - python_uno_path und befindet sich im Abschnitt environment. Sie ist standardmäßig - leer. Werden hier mehrere Pfade angegeben, so müssen diese durch Doppelpunkte voneinander getrennt werden. Der Inhalt wird an den - Python-Interpreter über die Umgebungsvariable PYTHONPATH übergeben. -

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 + LibreOffice oder OpenOffice benötigt. Soll dieses Feature genutzt + werden, so muss neben LibreOffice oder OpenOffice 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 im Abschnitt + applications zwei weitere Variablen angepasst + werden:

+ openofficeorg_writer muss den vollständigen + Pfad zu LibreOffice oder OpenOffice enthalten. Dabei dürfen keine + Anführungszeichen eingesetzt werden.

Beispiel für Debian oder Ubuntu:

openofficeorg_writer = /usr/bin/libreoffice

+ xvfb muss den Pfad zum “X virtual frame buffer” + enthalten.

Zusätzlich gibt es zwei verschiedene Arten, wie kivitendo mit + LibreOffice bzw. OpenOffice kommuniziert. Die erste Variante, die + benutzt wird, wenn die Variable $openofficeorg_daemon + gesetzt ist, startet ein LibreOffice oder 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 LibreOffice bzw. OpenOffice gestartet werden muss. Der Nachteil ist, + dass diese Methode Python und die Python-UNO-Bindings benötigt, die + Bestandteil von LibreOffice bzw. OpenOffice sind.

[Anmerkung]Anmerkung

Für die Verbindung zu LibreOffice bzw. OpenOffice wird + normalerweise der Python-Interpreter + /usr/bin/python benutzt. Sollte dies nicht der + richtige sein, so kann man mit zwei Konfigurationsvariablen + entscheiden, welcher Python-Interpreter genutzt wird. Mit der Option + python_uno aus dem Abschnitt + applications wird der Interpreter selber + festgelegt; sie steht standardmäßig auf dem eben erwähnten Wert + /usr/bin/python.

Zusätzlich ist es möglich, Pfade anzugeben, in denen Python + neben seinen normalen Suchpfaden ebenfalls nach Modulen gesucht wird, + z.B. falls sich diese in einem gesonderten LibreOffice- bzw. + OpenOffice-Verzeichnis befinden. Diese zweite Variable heißt + python_uno_path und befindet sich im Abschnitt + environment. Sie ist standardmäßig leer. Werden + hier mehrere Pfade angegeben, so müssen diese durch Doppelpunkte + voneinander getrennt werden. Der Inhalt wird an den Python-Interpreter + über die Umgebungsvariable PYTHONPATH + übergeben.

Ist $openofficeorg_daemon nicht gesetzt, so + wird für jedes Dokument LibreOffice bzw. 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 + ‘templates/print/rev-odt/invoice.odt’ enthält ein + solches Makro, das in jeder anderen Dokumentenvorlage ebenfalls + enthalten sein muss.

Als letztes muss herausgefunden werden, welchen Namen OpenOffice + bzw. LibreOffice dem Verzeichnis mit den Benutzereinstellungen gibt. + Unter Debian ist dies momentan ~/.config/libreoffice. + kivitendo verwendet das Verzeichnis + users/.openoffice.org2. Eventuell muss dieses + Verzeichnis umbenannt werden.

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 + sein. Dieses wurde bereits erledigt (siehe Manuelle Installation des Programmpaketes), kann aber erneut + überprüft werden, wenn die Konvertierung nach PDF fehlschlägt.

2.13.1. OpenDocument (odt) Druckvorlagen mit Makros

OpenDocument Vorlagen können Makros enthalten, welche komplexere + Aufgaben erfüllen.

Der Vorlagensatz "rev-odt" enthält solche Vorlagen mit Schweizer Bank-Einzahlungsscheinen (BESR). + Diese Makros haben die Aufgabe, die in den Einzahlungsscheinen + benötigte Referenznummer und Kodierzeile zu erzeugen. Hier eine kurze + Beschreibung, wie die Makros aufgebaut sind, und was bei ihrer Nutzung + zu beachten ist (in fett sind nötige einmalige + Anpassungen aufgeführt):

2.13.1.1. Bezeichnung der Vorlagen

Rechnung: invoice_besr.odt, Auftrag: + sales_order_besr.odt

2.13.1.2. Vorbereitungen im Adminbereich

Damit beim Erstellen von Rechnungen und Aufträgen neben der + Standardvorlage ohne Einzahlungsschein weitere Vorlagen (z.B. mit + Einzahlungsschein) auswählbar sind, muss für jedes Vorlagen-Suffix + ein Drucker eingerichtet werden:

  • Druckeradministration → Drucker hinzufügen

  • Mandant wählen

  • Druckerbeschreibung → aussagekräftiger Text: wird in der + Auftrags- bzw. Rechnungsmaske als Auswahl angezeigt (z.B. mit + Einzahlungsschein Bank xy)

  • Druckbefehl → beliebiger Text (hat für das Erzeugen von + Aufträgen oder Rechnungen als odt-Datei keine Bedeutung, darf + aber nicht leer sein)

  • Vorlagenkürzel → besr bzw. selbst gewähltes Vorlagensuffix + (muss genau der Zeichenfolge entsprechen, die zwischen + "invoice_" bzw. "sales_order_" und ".odt" steht.)

  • speichern

2.13.1.3. Benutzereinstellungen

Wer den Ausdruck mit Einzahlungsschein als Standardeinstellung + im Rechnungs- bzw. Auftragsformular angezeigt haben möchte, kann + dies persönlich für sich bei den Benutzereinstellungen + konfigurieren:

  • Programm → Benutzereinstellungen → Druckoptionen

  • Standardvorlagenformat → OpenDocument/OASIS

  • Standardausgabekanal → Bildschirm

  • Standarddrucker → gewünschte Druckerbeschreibung auswählen + (z.B. mit Einzahlungsschein Bank xy)

  • Anzahl Kopien → leer

  • speichern

2.13.1.4. Aufbau und nötige Anpassungen der Vorlagen

In der Vorlage sind als Modul "BESR" 4 Makros gespeichert, die + aus dem von kivitendo erzeugten odt-Dokument die korrekte + Referenznummer inklusive Prüfziffer sowie die Kodierzeile in + OCRB-Schrift erzeugen und am richtigen Ort ins Dokument + schreiben.

  • Für den Einzahlungsschein ist die letzte Seite des + Dokuments reserviert

  • Direkt über dem Einzahlungsschein enthält die Vorlage eine + Zeile mit folgenden Angaben (Bank-Konto-Identifikationsnummer und + Postkonto-Nummer der Bank müssen gemäss Angaben der jeweiligen + Bank angepasst werden):

    • DDDREF: 4 Werte zum Bilden der Referenznummer + (jeweils durch einen Leerschlag getrennt):

      • erster Wert: Bank-Konto-Identifikation + (nur Ziffern, maximal 6), muss + angepasst werden.

      • zweiter Wert: <%customernumber%> + (Kundennummer: nur Ziffern, maximal 6)

      • dritter Wert: <%ordnumber%> + (Auftragsnummer bei Auftragsvorlage + sales_oder_besr.odt, sonst 0) maximal 7 Ziffern, + führende Buchstaben werden vom Makro entfernt

      • vierter Wert: <%invnumber%> + (Rechnungsnummer bei Rechnungsvorlage + invoice_besr.odt, sonst 0) maximal 7 Ziffern, + führende Buchstaben werden vom Makro entfernt

      +

    • DDDKONTO: Postkonto-Nummer der + Bank, muss angepasst werden.

    • DDDBETRAG: <%total%> Einzahlungsbetrag oder 0, + falls Einzahlungsschein ohne Betrag

    • DDDEND: muss am Ende der Zeile vorhanden sein

    +

  • + Im Einzahlungsschein selbst müssen + der Name und die Adresse der Bank, die Postkonto-Nummer der + Bank, sowie der eigene Firmenname und die Firmenadresse + angepasst werden. Dabei ist darauf zu achten, dass + sich die Positionen der Postkonto-Nummern der Bank, sowie der + Zeichenfolgen dddfr, DDDREF1, DDDREF2, 609, DDDKODIERZEILE nicht + verschieben.

2.13.1.5. Auswahl der Druckvorlage in kivitendo beim Erzeugen einer + odt-Rechnung (analog bei Auftrag)

Im Fussbereich der Rechnungsmaske muss neben Rechnung, + OpenDocument/OASIS und Bildschirm die im Adminbereich erstellte + Druckerbeschreibung ausgewählt werden, falls diese nicht bereits bei + den Benutzereinstellungen als persönlicher Standard gewählt + wurde.

2.13.1.6. Makroeinstellungen in LibreOffice anpassen

Falls beim Öffnen einer von kivitendo erzeugten odt-Rechnung + die Meldung kommt, dass Makros aus Sicherheitsgründen nicht + ausgeführt werden, so müssen folgende Einstellungen in LibreOffice + angepasst werden:

  • Extras → Optionen → Sicherheit → Makrosicherheit

  • Sicherheitslevel auf "Mittel" einstellen (Diese + Einstellung muss auf jedem Computer durchgeführt werden, mit dem + von kivitendo erzeugte odt-Rechnungen oder Aufträge geöffnet + werden.)

  • Beim Öffnen einer odt-Rechnung oder eines odt-Auftrags bei + der entsprechenden Nachfrage "Makros ausführen" + auswählen.

    + Wichtig: die Makros sind + so eingestellt, dass sie beim Öffnen der Vorlagen selbst nicht + ausgeführt werden. Das heisst für das Ansehen und Bearbeiten der + Vorlagen sind keine speziellen Einstellungen in LibreOffice + nötig.

\ No newline at end of file