2       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 
   3    <title>2.13. OpenDocument-Vorlagen</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.5.1: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s12.html" title="2.12. Drucken mit kivitendo"><link rel="next" href="ch02s14.html" title="2.14. Nomenklatur"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.13. OpenDocument-Vorlagen</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s12.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s14.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.13. OpenDocument-Vorlagen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="OpenDocument-Vorlagen"></a>2.13. OpenDocument-Vorlagen</h2></div></div></div><p>kivitendo unterstützt die Verwendung von Vorlagen im
 
   4       OpenDocument-Format, wie es LibreOffice oder OpenOffice (ab Version 2)
 
   5       erzeugen. kivitendo kann dabei sowohl neue OpenDocument-Dokumente als
 
   6       auch aus diesen direkt PDF-Dateien erzeugen. Um die Unterstützung von
 
   7       OpenDocument-Vorlagen zu aktivieren muss in der Datei
 
   8       <code class="filename">config/kivitendo.conf</code> die Variable
 
   9       <code class="literal">opendocument</code> im Abschnitt
 
  10       <code class="literal">print_templates</code> auf ‘<code class="literal">1</code>’ stehen.
 
  11       Dieses ist die Standardeinstellung.</p><p>Während die Erzeugung von reinen OpenDocument-Dateien keinerlei
 
  12       weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF
 
  13       LibreOffice oder OpenOffice benötigt. Soll dieses Feature genutzt
 
  14       werden, so muss neben LibreOffice oder OpenOffice auch der “X virtual
 
  15       frame buffer” (xvfb) installiert werden. Bei Debian ist er im Paket
 
  16       “xvfb” enthalten. Andere Distributionen enthalten ihn in anderen
 
  17       Paketen.</p><p>Nach der Installation müssen in der Datei
 
  18       <code class="filename">config/kivitendo.conf</code> im Abschnitt
 
  19       <code class="literal">applications</code> zwei weitere Variablen angepasst
 
  21             <code class="literal">openofficeorg_writer</code> muss den vollständigen
 
  22       Pfad zu LibreOffice oder OpenOffice enthalten. Dabei dürfen keine
 
  23       Anführungszeichen eingesetzt werden.</p><p>Beispiel für Debian oder Ubuntu:</p><pre class="programlisting">openofficeorg_writer = /usr/bin/libreoffice</pre><p>
 
  24             <code class="literal">xvfb</code> muss den Pfad zum “X virtual frame buffer”
 
  25       enthalten.</p><p>Zusätzlich gibt es zwei verschiedene Arten, wie kivitendo mit
 
  26       LibreOffice bzw. OpenOffice kommuniziert. Die erste Variante, die
 
  27       benutzt wird, wenn die Variable <code class="literal">$openofficeorg_daemon</code>
 
  28       gesetzt ist, startet ein LibreOffice oder OpenOffice, das auch nach der
 
  29       Umwandlung des Dokumentes gestartet bleibt. Bei weiteren Umwandlungen
 
  30       wird dann diese laufende Instanz benutzt. Der Vorteil ist, dass die Zeit
 
  31       zur Umwandlung deutlich reduziert wird, weil nicht für jedes Dokument
 
  32       ein LibreOffice bzw. OpenOffice gestartet werden muss. Der Nachteil ist,
 
  33       dass diese Methode Python und die Python-UNO-Bindings benötigt, die
 
  34       Bestandteil von LibreOffice bzw. OpenOffice sind.</p><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>Für die Verbindung zu LibreOffice bzw. OpenOffice wird
 
  35         normalerweise der Python-Interpreter
 
  36         <code class="filename">/usr/bin/python</code> benutzt. Sollte dies nicht der
 
  37         richtige sein, so kann man mit zwei Konfigurationsvariablen
 
  38         entscheiden, welcher Python-Interpreter genutzt wird. Mit der Option
 
  39         <code class="literal">python_uno</code> aus dem Abschnitt
 
  40         <code class="literal">applications</code> wird der Interpreter selber
 
  41         festgelegt; sie steht standardmäßig auf dem eben erwähnten Wert
 
  42         <code class="literal">/usr/bin/python</code>.</p><p>Zusätzlich ist es möglich, Pfade anzugeben, in denen Python
 
  43         neben seinen normalen Suchpfaden ebenfalls nach Modulen gesucht wird,
 
  44         z.B. falls sich diese in einem gesonderten LibreOffice- bzw.
 
  45         OpenOffice-Verzeichnis befinden. Diese zweite Variable heißt
 
  46         <code class="literal">python_uno_path</code> und befindet sich im Abschnitt
 
  47         <code class="literal">environment</code>. Sie ist standardmäßig leer. Werden
 
  48         hier mehrere Pfade angegeben, so müssen diese durch Doppelpunkte
 
  49         voneinander getrennt werden. Der Inhalt wird an den Python-Interpreter
 
  50         über die Umgebungsvariable <code class="literal">PYTHONPATH</code>
 
  51         übergeben.</p></td></tr></table></div><p>Ist <code class="literal">$openofficeorg_daemon</code> nicht gesetzt, so
 
  52       wird für jedes Dokument LibreOffice bzw. OpenOffice neu gestartet und
 
  53       die Konvertierung mit Hilfe eines Makros durchgeführt. Dieses Makro muss
 
  54       in der Dokumentenvorlage enthalten sein und
 
  55       “Standard.Conversion.ConvertSelfToPDF()” heißen. Die Beispielvorlage
 
  56       ‘<code class="literal">templates/print/rev-odt/invoice.odt</code>’ enthält ein
 
  57       solches Makro, das in jeder anderen Dokumentenvorlage ebenfalls
 
  58       enthalten sein muss.</p><p>Als letztes muss herausgefunden werden, welchen Namen OpenOffice
 
  59       bzw. LibreOffice dem Verzeichnis mit den Benutzereinstellungen gibt.
 
  60       Unter Debian ist dies momentan <code class="literal">~/.config/libreoffice</code>.
 
  61       kivitendo verwendet das Verzeichnis
 
  62       <code class="literal">users/.openoffice.org2</code>. Eventuell muss dieses
 
  63       Verzeichnis umbenannt werden.</p><p>Dieses Verzeichnis, wie auch das komplette
 
  64       <code class="literal">users</code>-Verzeichnis, muss vom Webserver beschreibbar
 
  65       sein. Dieses wurde bereits erledigt (siehe <a class="xref" href="ch02s03.html" title="2.3. Manuelle Installation des Programmpaketes">Manuelle Installation des Programmpaketes</a>), kann aber erneut
 
  66       überprüft werden, wenn die Konvertierung nach PDF fehlschlägt.</p><div class="sect2" title="2.13.1. OpenDocument (odt) Druckvorlagen mit Makros"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2312"></a>2.13.1. OpenDocument (odt) Druckvorlagen mit Makros</h3></div></div></div><p>OpenDocument Vorlagen können Makros enthalten, welche komplexere
 
  67         Aufgaben erfüllen.</p><p>Der Vorlagensatz "rev-odt" enthält solche Vorlagen mit <span class="bold"><strong>Schweizer Bank-Einzahlungsscheinen (BESR)</strong></span>.
 
  68         Diese Makros haben die Aufgabe, die in den Einzahlungsscheinen
 
  69         benötigte Referenznummer und Kodierzeile zu erzeugen. Hier eine kurze
 
  70         Beschreibung, wie die Makros aufgebaut sind, und was bei ihrer Nutzung
 
  71         zu beachten ist (<span class="bold"><strong>in fett sind nötige einmalige
 
  72         Anpassungen aufgeführt</strong></span>):</p><div class="sect3" title="2.13.1.1. Bezeichnung der Vorlagen"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2325"></a>2.13.1.1. Bezeichnung der Vorlagen</h4></div></div></div><p>Rechnung: invoice_besr.odt, Auftrag:
 
  73           sales_order_besr.odt</p></div><div class="sect3" title="2.13.1.2. Vorbereitungen im Adminbereich"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2330"></a>2.13.1.2. Vorbereitungen im Adminbereich</h4></div></div></div><p>Damit beim Erstellen von Rechnungen und Aufträgen neben der
 
  74           Standardvorlage ohne Einzahlungsschein weitere Vorlagen (z.B. mit
 
  75           Einzahlungsschein) auswählbar sind, muss für jedes Vorlagen-Suffix
 
  76           ein Drucker eingerichtet werden:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Druckeradministration → Drucker hinzufügen</p></li><li class="listitem"><p>Mandant wählen</p></li><li class="listitem"><p>Druckerbeschreibung → aussagekräftiger Text: wird in der
 
  77               Auftrags- bzw. Rechnungsmaske als Auswahl angezeigt (z.B. mit
 
  78               Einzahlungsschein Bank xy)</p></li><li class="listitem"><p>Druckbefehl → beliebiger Text (hat für das Erzeugen von
 
  79               Aufträgen oder Rechnungen als odt-Datei keine Bedeutung, darf
 
  80               aber nicht leer sein)</p></li><li class="listitem"><p>Vorlagenkürzel → besr bzw. selbst gewähltes Vorlagensuffix
 
  81               (muss genau der Zeichenfolge entsprechen, die zwischen
 
  82               "invoice_" bzw. "sales_order_" und ".odt" steht.)</p></li><li class="listitem"><p>speichern</p></li></ul></div></div><div class="sect3" title="2.13.1.3. Benutzereinstellungen"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2354"></a>2.13.1.3. Benutzereinstellungen</h4></div></div></div><p>Wer den Ausdruck mit Einzahlungsschein als Standardeinstellung
 
  83           im Rechnungs- bzw. Auftragsformular angezeigt haben möchte, kann
 
  84           dies persönlich für sich bei den Benutzereinstellungen
 
  85           konfigurieren:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Programm → Benutzereinstellungen → Druckoptionen</p></li><li class="listitem"><p>Standardvorlagenformat → OpenDocument/OASIS</p></li><li class="listitem"><p>Standardausgabekanal → Bildschirm</p></li><li class="listitem"><p>Standarddrucker → gewünschte Druckerbeschreibung auswählen
 
  86               (z.B. mit Einzahlungsschein Bank xy)</p></li><li class="listitem"><p>Anzahl Kopien → leer</p></li><li class="listitem"><p>speichern</p></li></ul></div></div><div class="sect3" title="2.13.1.4. Aufbau und nötige Anpassungen der Vorlagen"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2378"></a>2.13.1.4. Aufbau und nötige Anpassungen der Vorlagen</h4></div></div></div><p>In der Vorlage sind als Modul "BESR" 4 Makros gespeichert, die
 
  87           aus dem von kivitendo erzeugten odt-Dokument die korrekte
 
  88           Referenznummer inklusive Prüfziffer sowie die Kodierzeile in
 
  89           OCRB-Schrift erzeugen und am richtigen Ort ins Dokument
 
  90           schreiben.</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Für den Einzahlungsschein ist die letzte Seite des
 
  91               Dokuments reserviert</p></li><li class="listitem"><p>Direkt über dem Einzahlungsschein enthält die Vorlage eine
 
  92               Zeile mit folgenden Angaben (<span class="bold"><strong>Bank-Konto-Identifikationsnummer und
 
  93               Postkonto-Nummer der Bank müssen gemäss Angaben der jeweiligen
 
  94               Bank angepasst werden</strong></span>):</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>DDDREF: 4 Werte zum Bilden der Referenznummer
 
  95                     (jeweils durch einen Leerschlag getrennt): </p><div class="itemizedlist"><ul class="itemizedlist" type="square"><li class="listitem"><p>erster Wert: <span class="bold"><strong>Bank-Konto-Identifikation</strong></span>
 
  96                           (nur Ziffern, maximal 6), <span class="bold"><strong>muss
 
  97                           angepasst werden</strong></span>.</p></li><li class="listitem"><p>zweiter Wert: <%customernumber%>
 
  98                           (Kundennummer: nur Ziffern, maximal 6)</p></li><li class="listitem"><p>dritter Wert: <%ordnumber%>
 
  99                           (Auftragsnummer bei Auftragsvorlage
 
 100                           sales_oder_besr.odt, sonst 0) maximal 7 Ziffern,
 
 101                           führende Buchstaben werden vom Makro entfernt</p></li><li class="listitem"><p>vierter Wert: <%invnumber%>
 
 102                           (Rechnungsnummer bei Rechnungsvorlage
 
 103                           invoice_besr.odt, sonst 0) maximal 7 Ziffern,
 
 104                           führende Buchstaben werden vom Makro entfernt</p></li></ul></div><p>
 
 105                               </p></li><li class="listitem"><p>DDDKONTO: <span class="bold"><strong>Postkonto-Nummer der
 
 106                     Bank, muss angepasst werden</strong></span>.</p></li><li class="listitem"><p>DDDBETRAG: <%total%> Einzahlungsbetrag oder 0,
 
 107                     falls Einzahlungsschein ohne Betrag</p></li><li class="listitem"><p>DDDEND: muss am Ende der Zeile vorhanden sein</p></li></ul></div><p>
 
 108                      </p></li><li class="listitem"><p>
 
 109                         <span class="bold"><strong>Im Einzahlungsschein selbst müssen
 
 110               der Name und die Adresse der Bank, die Postkonto-Nummer der
 
 111               Bank, sowie der eigene Firmenname und die Firmenadresse
 
 112               angepasst werden.</strong></span> Dabei ist darauf zu achten, dass
 
 113               sich die Positionen der Postkonto-Nummern der Bank, sowie der
 
 114               Zeichenfolgen dddfr, DDDREF1, DDDREF2, 609, DDDKODIERZEILE nicht
 
 115               verschieben.</p></li></ul></div><div class="screenshot"><div class="mediaobject"><img src="images/Einzahlungsschein_Makro.png"></div></div></div><div class="sect3" title="2.13.1.5. Auswahl der Druckvorlage in kivitendo beim Erzeugen einer odt-Rechnung (analog bei Auftrag)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2442"></a>2.13.1.5. Auswahl der Druckvorlage in kivitendo beim Erzeugen einer
 
 116           odt-Rechnung (analog bei Auftrag)</h4></div></div></div><p>Im Fussbereich der Rechnungsmaske muss neben Rechnung,
 
 117           OpenDocument/OASIS und Bildschirm die im Adminbereich erstellte
 
 118           Druckerbeschreibung ausgewählt werden, falls diese nicht bereits bei
 
 119           den Benutzereinstellungen als persönlicher Standard gewählt
 
 120           wurde.</p></div><div class="sect3" title="2.13.1.6. Makroeinstellungen in LibreOffice anpassen"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2447"></a>2.13.1.6. Makroeinstellungen in LibreOffice anpassen</h4></div></div></div><p>Falls beim Öffnen einer von kivitendo erzeugten odt-Rechnung
 
 121           die Meldung kommt, dass Makros aus Sicherheitsgründen nicht
 
 122           ausgeführt werden, so müssen folgende Einstellungen in LibreOffice
 
 123           angepasst werden:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Extras → Optionen → Sicherheit → Makrosicherheit</p></li><li class="listitem"><p>Sicherheitslevel auf "Mittel" einstellen (Diese
 
 124               Einstellung muss auf jedem Computer durchgeführt werden, mit dem
 
 125               von kivitendo erzeugte odt-Rechnungen oder Aufträge geöffnet
 
 126               werden.)</p></li><li class="listitem"><p>Beim Öffnen einer odt-Rechnung oder eines odt-Auftrags bei
 
 127               der entsprechenden Nachfrage "Makros ausführen"
 
 129                         <span class="bold"><strong>Wichtig</strong></span>: die Makros sind
 
 130               so eingestellt, dass sie beim Öffnen der Vorlagen selbst nicht
 
 131               ausgeführt werden. Das heisst für das Ansehen und Bearbeiten der
 
 132               Vorlagen sind keine speziellen Einstellungen in LibreOffice
 
 133               nötig.</p></li></ul></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s12.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s14.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.12. Drucken mit kivitendo </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.14. Nomenklatur</td></tr></table></div></body></html>