Revision 4fa4290e
Von Cem Aydin vor mehr als 2 Jahren hinzugefügt
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: <%customernumber%> |
|
2693 |
(Kundennummer: nur Ziffern, maximal 6)</para> |
|
2694 |
</listitem> |
|
2695 |
|
|
2696 |
<listitem> |
|
2697 |
<para>dritter Wert: <%ordnumber%> |
|
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: <%invnumber%> |
|
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: <%total%> 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
Dokumentation: Abschnitt zu OpenDocument-Vorlagen aktualisiert