X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/9124f9ab6959ca164bb1a4275015f59eb196f171..5a2fd111d9a16f380fe93100ed434c6392da2b7e:/doc/html/ch02s13.html diff --git a/doc/html/ch02s13.html b/doc/html/ch02s13.html index 2e4d9c625..a4c217b9c 100644 --- a/doc/html/ch02s13.html +++ b/doc/html/ch02s13.html @@ -1,42 +1,43 @@ 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-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 - 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 + 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

+ 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 + 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 + /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, @@ -48,22 +49,21 @@ 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 + 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/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 + ‘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.

2.13.1. OpenDocument (odt) Druckvorlagen mit Makros

OpenDocument Vorlagen können Makros enthalten, welche komplexere + 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 @@ -73,19 +73,17 @@ 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 + 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 + 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 @@ -122,13 +120,12 @@ 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 + 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. -

      + 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