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.0: 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) erzeugen.
5 kivitendo kann dabei sowohl neue OpenDocument-Dokumente als auch aus
6 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 werden, so muss
14 neben LibreOffice oder OpenOffice auch der “X virtual frame buffer”
15 (xvfb) installiert werden. Bei Debian ist er im Paket “xvfb” enthalten.
16 Andere Distributionen enthalten ihn in anderen Paketen.</p><p>Nach der Installation müssen in der Datei
17 <code class="filename">config/kivitendo.conf</code> im Abschnitt
18 <code class="literal">applications</code> zwei weitere Variablen
19 angepasst werden:</p><p>
20 <code class="literal">openofficeorg_writer</code> muss den
21 vollständigen Pfad zu LibreOffice oder OpenOffice enthalten.
22 Dabei dürfen keine Anführungszeichen eingesetzt werden.</p><p>Beispiel für Debian oder Ubuntu:</p><pre class="programlisting">openofficeorg_writer = /usr/bin/libreoffice</pre><p>
23 <code class="literal">xvfb</code> muss den Pfad zum “X virtual frame buffer”
24 enthalten.</p><p>Zusätzlich gibt es zwei verschiedene Arten, wie kivitendo mit
25 LibreOffice bzw. OpenOffice kommuniziert. Die erste Variante, die benutzt
26 wird, wenn die Variable <code class="literal">$openofficeorg_daemon</code> gesetzt
27 ist, startet ein LibreOffice oder OpenOffice, das auch nach der Umwandlung
28 des Dokumentes gestartet bleibt. Bei weiteren Umwandlungen wird dann diese
29 laufende Instanz benutzt. Der Vorteil ist, dass die Zeit zur Umwandlung
30 deutlich reduziert wird, weil nicht für jedes Dokument ein LibreOffice bzw.
31 OpenOffice gestartet werden muss. Der Nachteil ist, dass diese Methode
32 Python und die Python-UNO-Bindings benötigt, die Bestandteil von LibreOffice
33 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
34 normalerweise der Python-Interpreter
35 <code class="filename">/usr/bin/python</code> benutzt.
36 Sollte dies nicht der richtige sein, so kann man mit zwei
37 Konfigurationsvariablen entscheiden, welcher Python-Interpreter
38 genutzt wird. Mit der Option <code class="literal">python_uno</code> aus dem
39 Abschnitt <code class="literal">applications</code> wird der Interpreter selber
40 festgelegt; sie steht standardmäßig auf dem eben erwähnten Wert
41 <code class="literal">/usr/bin/python</code>.</p><p>Zusätzlich ist es möglich, Pfade anzugeben, in denen Python
42 neben seinen normalen Suchpfaden ebenfalls nach Modulen gesucht wird,
43 z.B. falls sich diese in einem gesonderten LibreOffice- bzw.
44 OpenOffice-Verzeichnis befinden. Diese zweite Variable heißt
45 <code class="literal">python_uno_path</code> und befindet sich im Abschnitt
46 <code class="literal">environment</code>. Sie ist standardmäßig leer. Werden
47 hier mehrere Pfade angegeben, so müssen diese durch Doppelpunkte
48 voneinander getrennt werden. Der Inhalt wird an den Python-Interpreter
49 über die Umgebungsvariable <code class="literal">PYTHONPATH</code>
50 übergeben.</p></td></tr></table></div><p>Ist <code class="literal">$openofficeorg_daemon</code> nicht gesetzt, so
51 wird für jedes Dokument LibreOffice bzw. OpenOffice neu gestartet
52 und die Konvertierung mit Hilfe eines Makros durchgeführt. Dieses
53 Makro muss in der Dokumentenvorlage enthalten sein und
54 “Standard.Conversion.ConvertSelfToPDF()” heißen. Die Beispielvorlage
55 ‘<code class="literal">templates/print/rev-odt/invoice.odt</code>’
56 enthält ein solches Makro, das in jeder anderen Dokumentenvorlage
57 ebenfalls enthalten sein muss.</p><p>Als letztes muss herausgefunden werden, welchen Namen
58 OpenOffice bzw. LibreOffice dem Verzeichnis mit den Benutzereinstellungen
59 gibt. Unter Debian ist dies momentan
60 <code class="literal">~/.config/libreoffice</code>. kivitendo verwendet das
61 Verzeichnis <code class="literal">users/.openoffice.org2</code>.
62 Eventuell muss dieses Verzeichnis umbenannt werden.</p><p>Dieses Verzeichnis, wie auch das komplette
63 <code class="literal">users</code>-Verzeichnis, muss vom Webserver beschreibbar
64 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
65 erneut überprüft werden, wenn die Konvertierung nach PDF
66 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="d0e2233"></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="d0e2246"></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="d0e2251"></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
77 der Auftrags- bzw. Rechnungsmaske als Auswahl angezeigt (z.B.
78 mit Einzahlungsschein Bank xy)</p></li><li class="listitem"><p>Druckbefehl → beliebiger Text (hat für das Erzeugen
79 von Aufträgen oder Rechnungen als odt-Datei keine Bedeutung,
80 darf aber nicht leer sein)</p></li><li class="listitem"><p>Vorlagenkürzel → besr bzw. selbst gewähltes
81 Vorlagensuffix (muss genau der Zeichenfolge entsprechen, die
82 zwischen "invoice_" bzw. "sales_order_" und ".odt"
83 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="d0e2275"></a>2.13.1.3. Benutzereinstellungen</h4></div></div></div><p>Wer den Ausdruck mit Einzahlungsschein als Standardeinstellung
84 im Rechnungs- bzw. Auftragsformular angezeigt haben möchte, kann
85 dies persönlich für sich bei den Benutzereinstellungen
86 konfigurieren:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Programm → Benutzereinstellungen →
87 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
88 auswählen (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="d0e2299"></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
89 aus dem von kivitendo erzeugten odt-Dokument die korrekte
90 Referenznummer inklusive Prüfziffer sowie die Kodierzeile in
91 OCRB-Schrift erzeugen und am richtigen Ort ins Dokument
92 schreiben.</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Für den Einzahlungsschein ist die letzte Seite des
93 Dokuments reserviert</p></li><li class="listitem"><p>Direkt über dem Einzahlungsschein enthält die Vorlage eine
94 Zeile mit folgenden Angaben (<span class="bold"><strong>Bank-Konto-Identifikationsnummer und
95 Postkonto-Nummer der Bank müssen gemäss Angaben der jeweiligen
96 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
97 (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>
98 (nur Ziffern, maximal 6), <span class="bold"><strong>muss
99 angepasst werden</strong></span>.</p></li><li class="listitem"><p>zweiter Wert: <%customernumber%>
100 (Kundennummer: nur Ziffern, maximal 6)</p></li><li class="listitem"><p>dritter Wert: <%ordnumber%>
101 (Auftragsnummer bei Auftragsvorlage
102 sales_oder_besr.odt, sonst 0) maximal 7 Ziffern,
103 führende Buchstaben werden vom Makro entfernt</p></li><li class="listitem"><p>vierter Wert: <%invnumber%>
104 (Rechnungsnummer bei Rechnungsvorlage
105 invoice_besr.odt, sonst 0) maximal 7 Ziffern,
106 führende Buchstaben werden vom Makro entfernt</p></li></ul></div><p>
107 </p></li><li class="listitem"><p>DDDKONTO: <span class="bold"><strong>Postkonto-Nummer der
108 Bank, muss angepasst werden</strong></span>.</p></li><li class="listitem"><p>DDDBETRAG: <%total%> Einzahlungsbetrag oder 0,
109 falls Einzahlungsschein ohne Betrag</p></li><li class="listitem"><p>DDDEND: muss am Ende der Zeile vorhanden sein</p></li></ul></div><p>
110 </p></li><li class="listitem"><p>
111 <span class="bold"><strong>Im Einzahlungsschein selbst müssen
112 der Name und die Adresse der Bank, die Postkonto-Nummer der
113 Bank, sowie der eigene Firmenname und die Firmenadresse
114 angepasst werden.</strong></span> Dabei ist darauf zu achten, dass
115 sich die Positionen der Postkonto-Nummern der Bank, sowie der
116 Zeichenfolgen dddfr, DDDREF1, DDDREF2, 609, DDDKODIERZEILE nicht
117 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="d0e2363"></a>2.13.1.5. Auswahl der Druckvorlage in kivitendo beim Erzeugen einer
118 odt-Rechnung (analog bei Auftrag)</h4></div></div></div><p>Im Fussbereich der Rechnungsmaske muss neben Rechnung,
119 OpenDocument/OASIS und Bildschirm die im Adminbereich erstellte
120 Druckerbeschreibung ausgewählt werden, falls diese nicht bereits bei
121 den Benutzereinstellungen als persönlicher Standard gewählt
122 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="d0e2368"></a>2.13.1.6. Makroeinstellungen in LibreOffice anpassen</h4></div></div></div><p>Falls beim Öffnen einer von kivitendo erzeugten odt-Rechnung
123 die Meldung kommt, dass Makros aus Sicherheitsgründen nicht
124 ausgeführt werden, so müssen folgende Einstellungen in LibreOffice
125 angepasst werden:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Extras → Optionen → Sicherheit →
126 Makrosicherheit</p></li><li class="listitem"><p>Sicherheitslevel auf "Mittel" einstellen (Diese
127 Einstellung muss auf jedem Computer durchgeführt werden, mit dem
128 von kivitendo erzeugte odt-Rechnungen oder Aufträge geöffnet
129 werden.)</p></li><li class="listitem"><p>Beim Öffnen einer odt-Rechnung oder eines odt-Auftrags bei
130 der entsprechenden Nachfrage "Makros ausführen" auswählen.
132 <span class="bold"><strong>Wichtig</strong></span>: die Makros sind
133 so eingestellt, dass sie beim Öffnen der Vorlagen selbst nicht
134 ausgeführt werden. Das heisst für das Ansehen und Bearbeiten der
135 Vorlagen sind keine speziellen Einstellungen in LibreOffice
136 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>