Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 4fa4290e

Von Cem Aydin vor mehr als 2 Jahren hinzugefügt

  • ID 4fa4290ec2817ef3f337a9057b9974190449e59d
  • Vorgänger 835f0ec8
  • Nachfolger 9d9c8f14

Dokumentation: Abschnitt zu OpenDocument-Vorlagen aktualisiert

Unterschiede anzeigen:

doc/dokumentation.xml
2472 2472
      <para>kivitendo unterstützt die Verwendung von Vorlagen im
2473 2473
      OpenDocument-Format, wie es LibreOffice oder OpenOffice (ab Version 2)
2474 2474
      erzeugen. kivitendo kann dabei sowohl neue OpenDocument-Dokumente als
2475
      auch aus diesen direkt PDF-Dateien erzeugen. Um die Unterstützung von
2476
      OpenDocument-Vorlagen zu aktivieren muss in der Datei
2477
      <filename>config/kivitendo.conf</filename> die Variable
2478
      <literal>opendocument</literal> im Abschnitt
2479
      <literal>print_templates</literal> auf ‘<literal>1</literal>’ stehen.
2480
      Dieses ist die Standardeinstellung.</para>
2481

  
2482
      <para>Während die Erzeugung von reinen OpenDocument-Dateien keinerlei
2483
      weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF
2484
      LibreOffice oder OpenOffice benötigt. Soll dieses Feature genutzt
2485
      werden, so muss neben LibreOffice oder OpenOffice auch der “X virtual
2486
      frame buffer” (xvfb) installiert werden. Bei Debian ist er im Paket
2487
      “xvfb” enthalten. Andere Distributionen enthalten ihn in anderen
2488
      Paketen.</para>
2489

  
2490
      <para>Nach der Installation müssen in der Datei
2491
      <filename>config/kivitendo.conf</filename> im Abschnitt
2492
      <literal>applications</literal> zwei weitere Variablen angepasst
2493
      werden:</para>
2494

  
2495
      <para><literal>openofficeorg_writer</literal> muss den vollständigen
2496
      Pfad zu LibreOffice oder OpenOffice enthalten. Dabei dürfen keine
2497
      Anführungszeichen eingesetzt werden.</para>
2498

  
2499
      <para>Beispiel für Debian oder Ubuntu:</para>
2500

  
2501
      <programlisting>openofficeorg_writer = /usr/bin/libreoffice</programlisting>
2502

  
2503
      <para><literal>xvfb</literal> muss den Pfad zum “X virtual frame buffer”
2504
      enthalten.</para>
2505

  
2506
      <para>Zusätzlich gibt es zwei verschiedene Arten, wie kivitendo mit
2507
      LibreOffice bzw. OpenOffice kommuniziert. Die erste Variante, die
2508
      benutzt wird, wenn die Variable <literal>$openofficeorg_daemon</literal>
2509
      gesetzt ist, startet ein LibreOffice oder OpenOffice, das auch nach der
2510
      Umwandlung des Dokumentes gestartet bleibt. Bei weiteren Umwandlungen
2511
      wird dann diese laufende Instanz benutzt. Der Vorteil ist, dass die Zeit
2512
      zur Umwandlung deutlich reduziert wird, weil nicht für jedes Dokument
2513
      ein LibreOffice bzw. OpenOffice gestartet werden muss. Der Nachteil ist,
2514
      dass diese Methode Python und die Python-UNO-Bindings benötigt, die
2515
      Bestandteil von LibreOffice bzw. OpenOffice sind.</para>
2475
      auch aus diesen direkt PDF-Dateien erzeugen. Nachfolgend ist die
2476
      Verwendung mit LibreOffice beschrieben. Für die Verwendung mit
2477
      OpenOffice müssen die Einstellungen allenfalls angepasst werden.</para>
2516 2478

  
2517
      <note>
2518
        <para>Für die Verbindung zu LibreOffice bzw. OpenOffice wird
2519
        normalerweise der Python-Interpreter
2520
        <filename>/usr/bin/python</filename> benutzt. Sollte dies nicht der
2521
        richtige sein, so kann man mit zwei Konfigurationsvariablen
2522
        entscheiden, welcher Python-Interpreter genutzt wird. Mit der Option
2523
        <literal>python_uno</literal> aus dem Abschnitt
2524
        <literal>applications</literal> wird der Interpreter selber
2525
        festgelegt; sie steht standardmäßig auf dem eben erwähnten Wert
2526
        <literal>/usr/bin/python</literal>.</para>
2527

  
2528
        <para>Zusätzlich ist es möglich, Pfade anzugeben, in denen Python
2529
        neben seinen normalen Suchpfaden ebenfalls nach Modulen gesucht wird,
2530
        z.B. falls sich diese in einem gesonderten LibreOffice- bzw.
2531
        OpenOffice-Verzeichnis befinden. Diese zweite Variable heißt
2532
        <literal>python_uno_path</literal> und befindet sich im Abschnitt
2533
        <literal>environment</literal>. Sie ist standardmäßig leer. Werden
2534
        hier mehrere Pfade angegeben, so müssen diese durch Doppelpunkte
2535
        voneinander getrennt werden. Der Inhalt wird an den Python-Interpreter
2536
        über die Umgebungsvariable <literal>PYTHONPATH</literal>
2537
        übergeben.</para>
2538
      </note>
2479
      <sect2>
2480
        <title>Grundeinstellung</title>
2539 2481

  
2540
      <para>Ist <literal>$openofficeorg_daemon</literal> nicht gesetzt, so
2541
      wird für jedes Dokument LibreOffice bzw. OpenOffice neu gestartet und
2542
      die Konvertierung mit Hilfe eines Makros durchgeführt. Dieses Makro muss
2543
      in der Dokumentenvorlage enthalten sein und
2544
      “Standard.Conversion.ConvertSelfToPDF()” heißen. Die Beispielvorlage
2545
      ‘<literal>templates/print/rev-odt/invoice.odt</literal>’ enthält ein
2546
      solches Makro, das in jeder anderen Dokumentenvorlage ebenfalls
2547
      enthalten sein muss.</para>
2548

  
2549
      <para>Als letztes muss herausgefunden werden, welchen Namen OpenOffice
2550
      bzw. LibreOffice dem Verzeichnis mit den Benutzereinstellungen gibt.
2551
      Unter Debian ist dies momentan <literal>~/.config/libreoffice</literal>.
2552
      kivitendo verwendet das Verzeichnis
2553
      <literal>users/.openoffice.org2</literal>. Eventuell muss dieses
2554
      Verzeichnis umbenannt werden.</para>
2555

  
2556
      <para>Dieses Verzeichnis, wie auch das komplette
2557
      <literal>users</literal>-Verzeichnis, muss vom Webserver beschreibbar
2558
      sein. Dieses wurde bereits erledigt (siehe <xref
2559
      linkend="Manuelle-Installation-des-Programmpaketes"/>), kann aber erneut
2560
      überprüft werden, wenn die Konvertierung nach PDF fehlschlägt.</para>
2482
        <para>Um die Unterstützung von OpenDocument-Vorlagen zu aktivieren,
2483
        muss in der Datei <filename>config/kivitendo.conf</filename> die
2484
        Variable <literal>opendocument</literal>, im Abschnitt
2485
        <literal>print_templates</literal>, auf <literal>1</literal> stehen.
2486
        Dies ist die Standardeinstellung.</para>
2487
      </sect2>
2561 2488

  
2562 2489
      <sect2>
2563
        <title>OpenDocument (odt) Druckvorlagen mit Makros</title>
2490
        <title>Direkte Erzeugung von PDF-Dateien</title>
2491

  
2492
        <para>Während die Erzeugung von reinen OpenDocument-Dateien keinerlei
2493
        weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF
2494
        LibreOffice oder OpenOffice benötigt.</para>
2564 2495

  
2565
        <para>OpenDocument Vorlagen können Makros enthalten, welche komplexere
2566
        Aufgaben erfüllen.</para>
2496
        <para>Unter Debian kann dieses installiert werden mit:</para>
2567 2497

  
2568
        <para>Der Vorlagensatz "rev-odt" enthält solche Vorlagen mit <emphasis
2569
        role="bold">Schweizer Bank-Einzahlungsscheinen (BESR)</emphasis>.
2570
        Diese Makros haben die Aufgabe, die in den Einzahlungsscheinen
2571
        benötigte Referenznummer und Kodierzeile zu erzeugen. Hier eine kurze
2572
        Beschreibung, wie die Makros aufgebaut sind, und was bei ihrer Nutzung
2573
        zu beachten ist (<emphasis role="bold">in fett sind nötige einmalige
2574
        Anpassungen aufgeführt</emphasis>):</para>
2498
        <programlisting>apt install libreoffice</programlisting>
2499

  
2500
        <para>Der Pfad zu LibreOffice kann in der Datei
2501
        <filename>config/kivitendo.conf</filename>, im Abschnitt
2502
        <literal>applications</literal>, angepasst werden. Unter Debian sollte
2503
        dies nicht notwendig sein.</para>
2575 2504

  
2576 2505
        <sect3>
2577
          <title>Bezeichnung der Vorlagen</title>
2506
          <title>Variante 1)</title>
2578 2507

  
2579
          <para>Rechnung: invoice_besr.odt, Auftrag:
2580
          sales_order_besr.odt</para>
2508
          <para>In der Standardeinstellung wird LibreOffice für jedes Dokument
2509
          neu gestartet. Es ist keine weitere Konfiguration
2510
          erforderlich.</para>
2581 2511
        </sect3>
2582 2512

  
2513
        <sect3>
2514
          <title>Variante 2)</title>
2515

  
2516
          <para>Die zweite Variante startet ein LibreOffice, das auch nach der
2517
          Umwandlung des Dokumentes gestartet bleibt. Bei weiteren
2518
          Umwandlungen wird dann diese laufende Instanz benutzt. Der Vorteil
2519
          ist, dass die Zeit zur Umwandlung möglicherweise reduziert wird,
2520
          weil nicht für jedes Dokument eine neue Instanz gestartet werden
2521
          muss.</para>
2522

  
2523
          <para>Dazu muss in der Konfigurationsdatei
2524
          <filename>config/kivitendo.conf</filename>, im Abschnitt
2525
          <literal>print_templates</literal>, <literal>openofficeorg_daemon =
2526
          1</literal> gesetzt werden.</para>
2527

  
2528
          <para>Diese Methode verwendet Python und die Python uno bindings.
2529
          Unter Debian werden diese mit LibreOffice mitgeliefert.</para>
2530

  
2531
          <para>Die Optionen <literal>python_uno</literal> und
2532
          <literal>python_uno_path</literal> in der Konfigurationsdatei
2533
          <filename>config/kivitendo.conf</filename> dienen zur Anpassung der
2534
          Python uno Pfade. Unter Debian sollte keine Anpassung notwendig
2535
          sein.</para>
2536
        </sect3>
2537
      </sect2>
2538

  
2539
      <sect2>
2540
        <title>Vorbereitungen</title>
2541

  
2583 2542
        <sect3 id="opendocument-druckvorlagen-mit-makros.vorbereitungen">
2584
          <title>Vorbereitungen im Adminbereich</title>
2543
          <title>Adminbereich</title>
2585 2544

  
2586 2545
          <para>Damit beim Erstellen von Rechnungen und Aufträgen neben der
2587 2546
          Standardvorlage ohne Einzahlungsschein weitere Vorlagen (z.B. mit
......
2657 2616
          </itemizedlist>
2658 2617
        </sect3>
2659 2618

  
2660
        <sect3>
2661
          <title>Aufbau und nötige Anpassungen der Vorlagen</title>
2662

  
2663
          <para>In der Vorlage sind als Modul "BESR" 4 Makros gespeichert, die
2664
          aus dem von kivitendo erzeugten odt-Dokument die korrekte
2665
          Referenznummer inklusive Prüfziffer sowie die Kodierzeile in
2666
          OCRB-Schrift erzeugen und am richtigen Ort ins Dokument
2667
          schreiben.</para>
2668

  
2669
          <itemizedlist>
2670
            <listitem>
2671
              <para>Für den Einzahlungsschein ist die letzte Seite des
2672
              Dokuments reserviert</para>
2673
            </listitem>
2674

  
2675
            <listitem>
2676
              <para>Direkt über dem Einzahlungsschein enthält die Vorlage eine
2677
              Zeile mit folgenden Angaben (<emphasis
2678
              role="bold">Bank-Konto-Identifikationsnummer und
2679
              Postkonto-Nummer der Bank müssen gemäss Angaben der jeweiligen
2680
              Bank angepasst werden</emphasis>):<itemizedlist>
2681
                  <listitem>
2682
                    <para>DDDREF: 4 Werte zum Bilden der Referenznummer
2683
                    (jeweils durch einen Leerschlag getrennt): <itemizedlist>
2684
                        <listitem>
2685
                          <para>erster Wert: <emphasis
2686
                          role="bold">Bank-Konto-Identifikation</emphasis>
2687
                          (nur Ziffern, maximal 6), <emphasis role="bold">muss
2688
                          angepasst werden</emphasis>.</para>
2689
                        </listitem>
2690

  
2691
                        <listitem>
2692
                          <para>zweiter Wert: &lt;%customernumber%&gt;
2693
                          (Kundennummer: nur Ziffern, maximal 6)</para>
2694
                        </listitem>
2695

  
2696
                        <listitem>
2697
                          <para>dritter Wert: &lt;%ordnumber%&gt;
2698
                          (Auftragsnummer bei Auftragsvorlage
2699
                          sales_oder_besr.odt, sonst 0) maximal 7 Ziffern,
2700
                          führende Buchstaben werden vom Makro entfernt</para>
2701
                        </listitem>
2702

  
2703
                        <listitem>
2704
                          <para>vierter Wert: &lt;%invnumber%&gt;
2705
                          (Rechnungsnummer bei Rechnungsvorlage
2706
                          invoice_besr.odt, sonst 0) maximal 7 Ziffern,
2707
                          führende Buchstaben werden vom Makro entfernt</para>
2708
                        </listitem>
2709
                      </itemizedlist></para>
2710
                  </listitem>
2711

  
2712
                  <listitem>
2713
                    <para>DDDKONTO: <emphasis role="bold">Postkonto-Nummer der
2714
                    Bank, muss angepasst werden</emphasis>.</para>
2715
                  </listitem>
2716

  
2717
                  <listitem>
2718
                    <para>DDDBETRAG: &lt;%total%&gt; Einzahlungsbetrag oder 0,
2719
                    falls Einzahlungsschein ohne Betrag</para>
2720
                  </listitem>
2721

  
2722
                  <listitem>
2723
                    <para>DDDEND: muss am Ende der Zeile vorhanden sein</para>
2724
                  </listitem>
2725
                </itemizedlist></para>
2726
            </listitem>
2727

  
2728
            <listitem>
2729
              <para><emphasis role="bold">Im Einzahlungsschein selbst müssen
2730
              der Name und die Adresse der Bank, die Postkonto-Nummer der
2731
              Bank, sowie der eigene Firmenname und die Firmenadresse
2732
              angepasst werden.</emphasis> Dabei ist darauf zu achten, dass
2733
              sich die Positionen der Postkonto-Nummern der Bank, sowie der
2734
              Zeichenfolgen dddfr, DDDREF1, DDDREF2, 609, DDDKODIERZEILE nicht
2735
              verschieben.</para>
2736
            </listitem>
2737
          </itemizedlist>
2738

  
2739
          <screenshot>
2740
            <screeninfo>Rechnungsvorlage Schweizer Bank-Einzahlungsschein - zu
2741
            ändernde Einträge in rot</screeninfo>
2742

  
2743
            <mediaobject>
2744
              <imageobject>
2745
                <imagedata fileref="images/Einzahlungsschein_Makro.png"/>
2746
              </imageobject>
2747
            </mediaobject>
2748
          </screenshot>
2749
        </sect3>
2750

  
2751 2619
        <sect3>
2752 2620
          <title>Auswahl der Druckvorlage in kivitendo beim Erzeugen einer
2753 2621
          odt-Rechnung (analog bei Auftrag)</title>
......
2758 2626
          den Benutzereinstellungen als persönlicher Standard gewählt
2759 2627
          wurde.</para>
2760 2628
        </sect3>
2761

  
2762
        <sect3>
2763
          <title>Makroeinstellungen in LibreOffice anpassen</title>
2764

  
2765
          <para>Falls beim Öffnen einer von kivitendo erzeugten odt-Rechnung
2766
          die Meldung kommt, dass Makros aus Sicherheitsgründen nicht
2767
          ausgeführt werden, so müssen folgende Einstellungen in LibreOffice
2768
          angepasst werden:</para>
2769

  
2770
          <itemizedlist>
2771
            <listitem>
2772
              <para>Extras → Optionen → Sicherheit → Makrosicherheit</para>
2773
            </listitem>
2774

  
2775
            <listitem>
2776
              <para>Sicherheitslevel auf "Mittel" einstellen (Diese
2777
              Einstellung muss auf jedem Computer durchgeführt werden, mit dem
2778
              von kivitendo erzeugte odt-Rechnungen oder Aufträge geöffnet
2779
              werden.)</para>
2780
            </listitem>
2781

  
2782
            <listitem>
2783
              <para>Beim Öffnen einer odt-Rechnung oder eines odt-Auftrags bei
2784
              der entsprechenden Nachfrage "Makros ausführen"
2785
              auswählen.</para>
2786

  
2787
              <para><emphasis role="bold">Wichtig</emphasis>: die Makros sind
2788
              so eingestellt, dass sie beim Öffnen der Vorlagen selbst nicht
2789
              ausgeführt werden. Das heisst für das Ansehen und Bearbeiten der
2790
              Vorlagen sind keine speziellen Einstellungen in LibreOffice
2791
              nötig.</para>
2792
            </listitem>
2793
          </itemizedlist>
2794
        </sect3>
2795 2629
      </sect2>
2796 2630

  
2797 2631
      <sect2>

Auch abrufbar als: Unified diff