Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 8477e06f

Von Werner Hahn vor mehr als 7 Jahren hinzugefügt

  • ID 8477e06f3586df128d2234fb82ebfd7884ff1945
  • Vorgänger 0dfb7b73
  • Nachfolger 12194786

Shopmodul: Entwickler/Anwenderdokumentation

Unterschiede anzeigen:

doc/html/ch02s13.html
1 1
<html><head>
2 2
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
3 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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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
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 7
      OpenDocument-Vorlagen zu aktivieren muss in der Datei
8 8
      <code class="filename">config/kivitendo.conf</code> die Variable
9 9
      <code class="literal">opendocument</code> im Abschnitt
10 10
      <code class="literal">print_templates</code> auf ‘<code class="literal">1</code>’ stehen.
11 11
      Dieses ist die Standardeinstellung.</p><p>Während die Erzeugung von reinen OpenDocument-Dateien keinerlei
12 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
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
17 18
      <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>
19
      <code class="literal">applications</code> zwei weitere Variablen angepasst
20
      werden:</p><p>
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>
23 24
            <code class="literal">xvfb</code> muss den Pfad zum “X virtual frame buffer”
24 25
      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
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
34 35
        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
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
40 41
        festgelegt; sie steht standardmäßig auf dem eben erwähnten Wert
41 42
        <code class="literal">/usr/bin/python</code>.</p><p>Zusätzlich ist es möglich, Pfade anzugeben, in denen Python
42 43
        neben seinen normalen Suchpfaden ebenfalls nach Modulen gesucht wird,
......
48 49
        voneinander getrennt werden. Der Inhalt wird an den Python-Interpreter
49 50
        über die Umgebungsvariable <code class="literal">PYTHONPATH</code>
50 51
        ü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
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
54 55
      “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
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
63 64
      <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
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="d0e2233"></a>2.13.1. OpenDocument (odt) Druckvorlagen mit Makros</h3></div></div></div><p>OpenDocument Vorlagen können Makros enthalten, welche komplexere
67 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 68
        Diese Makros haben die Aufgabe, die in den Einzahlungsscheinen
69 69
        benötigte Referenznummer und Kodierzeile zu erzeugen. Hier eine kurze
......
73 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 74
          Standardvorlage ohne Einzahlungsschein weitere Vorlagen (z.B. mit
75 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
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="d0e2275"></a>2.13.1.3. Benutzereinstellungen</h4></div></div></div><p>Wer den Ausdruck mit Einzahlungsschein als Standardeinstellung
84 83
          im Rechnungs- bzw. Auftragsformular angezeigt haben möchte, kann
85 84
          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
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="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 87
          aus dem von kivitendo erzeugten odt-Dokument die korrekte
90 88
          Referenznummer inklusive Prüfziffer sowie die Kodierzeile in
91 89
          OCRB-Schrift erzeugen und am richtigen Ort ins Dokument
......
122 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="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 121
          die Meldung kommt, dass Makros aus Sicherheitsgründen nicht
124 122
          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
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
127 124
              Einstellung muss auf jedem Computer durchgeführt werden, mit dem
128 125
              von kivitendo erzeugte odt-Rechnungen oder Aufträge geöffnet
129 126
              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.
131
              </p><p>
127
              der entsprechenden Nachfrage "Makros ausführen"
128
              auswählen.</p><p>
132 129
                        <span class="bold"><strong>Wichtig</strong></span>: die Makros sind
133 130
              so eingestellt, dass sie beim Öffnen der Vorlagen selbst nicht
134 131
              ausgeführt werden. Das heisst für das Ansehen und Bearbeiten der

Auch abrufbar als: Unified diff