2       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 
   3    <title>2.10. Drucken mit kivitendo</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: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s09.html" title="2.9. E-Mail-Versand aus kivitendo heraus"><link rel="next" href="ch02s11.html" title="2.11. OpenDocument-Vorlagen"></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.10. Drucken mit kivitendo</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s09.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="ch02s11.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.10. Drucken mit kivitendo"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Drucken-mit-kivitendo"></a>2.10. Drucken mit kivitendo</h2></div></div></div><p>Das Drucksystem von kivitendo benutzt von Haus aus LaTeX Vorlagen.
 
   4       Um drucken zu können, braucht der Server ein geeignetes LaTeX System. Am
 
   5       einfachsten ist dazu eine <code class="literal">texlive</code> Installation. Unter
 
   6       Debianoiden Betriebssystemen installiert man die Pakete mit:</p><p>
 
   7             </p><pre class="programlisting">aptitude install \
 
   9 texlive-latex-recommended \
 
  10 texlive-fonts-recommended \
 
  15          </p><p>TODO: rpm Pakete.</p><p>kivitendo bringt 3 alternative Vorlagensätze mit:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">Standard</li><li class="listitem">f-tex</li><li class="listitem">RB</li></ul></div><div class="sect2" title="2.10.1. Vorlagenverzeichnis anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Vorlagenverzeichnis-anlegen"></a>2.10.1. Vorlagenverzeichnis anlegen</h3></div></div></div><p>Bei einem neuen Benutzer/Mandanten lässt sich einer dieser Vorlagensätze
 
  16         als Basis für die zu druckenden Dokumente auswählen:</p><p>
 
  17                </p><pre class="programlisting">unter:
 
  18 Administration -> Benutzerverwaltung -> [ein Benutzer]
 
  19    Erzeuge Vorlagen, Name: [Name für das neue Vorlagenverzeichnis]
 
  20    Vorlagen auswählen: [Default, f-tex oder RB]
 
  23             </p><p>der gleiche Vorlagensatz kann, wenn er mal angelegt ist, bei mehreren Benutzern verwendet werden.</p><p>Die Abhängigkeiten kann man prüfen mit:</p><p>
 
  24                </p><pre class="programlisting">/scripts/installation_check.pl -l</pre><p>
 
  25             </p></div><div class="sect2" title="2.10.2. Default"><div class="titlepage"><div><div><h3 class="title"><a name="Standard"></a>2.10.2. Default</h3></div></div></div><p>Der standard Vorlagensatz von Kivitendo. Wie unter
 
  26         <a class="ulink" href="http://demo.kivitendo.org" target="_top">http://demo.kivitendo.org</a> zu sehen.</p></div><div class="sect2" title="2.10.3. f-tex"><div class="titlepage"><div><div><h3 class="title"><a name="f-tex"></a>2.10.3. f-tex</h3></div></div></div><p>Ein Vorlagensatz, der in Wenigen Minuten alle Dokumente zur stellt.</p><div class="sect3" title="2.10.3.1. f-tex Feature Übersicht"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-Feature-%C3%9Cbersicht"></a>2.10.3.1. f-tex Feature Übersicht</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">Keine Retundanz. Es wird ein und die selbe Latex-Vorlage für alle
 
  27             briefartigen Dokumente verwendet. Also Angebot, Rechnung,
 
  28             Performarechnung, Lieferschein, aber eben nicht für Paketaufkleber
 
  29             etc.. </li><li class="listitem">Leichte Anpassung an das Firmen Layout durch verwendung eines Hintergrund-PDF
 
  30             dieses kann leicht mit dem eigenen Lieblingsprogramm erstellt werden
 
  31             (Openoffice, Inkscape, Gimp, Adobe*)
 
  32             </li><li class="listitem">Hintergrundpdf um schaltbar auf "nur erste Seite" (default) oder "alle Seiten"
 
  33             (option "bgPdfFirstPageOnly" in Datei letter.lco)
 
  34             </li><li class="listitem">Hintergrundpdf für Ausdruck auf bereits bedrucktem Briefpapier Abschaltbar,
 
  35             es wird dann nur bei per email versendeten Dokumenten eingebunden.
 
  36             (Option "bgPdfEmailOnly" in Datei letter.lco)
 
  37             </li><li class="listitem">Nutzung der Layout-Funktionen von Latex für Seitenumbruch,
 
  38             wiederholung von Kopfzeilen, Zwischensummen etc. (danke an Kai-Martin für
 
  40             </li><li class="listitem">Anzeige des Empfängerlandes im Adressfeld nur, wenn es vom Land des
 
  41             eigenen Unternehmens abweicht (also die Rechnung das Land verlässt).
 
  42             </li><li class="listitem">Multisprachfähig leicht um weitere Sprachen zu erweitern, alle
 
  43             Übersetzungen in der Datei translatinos.tex.
 
  44             </li><li class="listitem">Auflistung von Bruttopreisen für Endverbraucher.
 
  45             </li></ul></div></div><div class="sect3" title="2.10.3.2. f-tex Die Installation"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-installation"></a>2.10.3.2. f-tex Die Installation</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">Vorlagenverzeichnis mit Option f-tex anlegen, siehe: 
 
  46               <a class="xref" href="ch02s10.html#Vorlagenverzeichnis-anlegen" title="2.10.1. Vorlagenverzeichnis anlegen">Vorlagenverzeichnis anlegen</a>
 
  47               Das Vorlagensystem funktioniert jetzt schon, hat allerdings noch einen
 
  49             </li><li class="listitem">
 
  50               Erstelle eine pdf-Hintergrund Datei und verlinke sie nach
 
  51               <pre class="programlisting">./letter_head.pdf</pre></li><li class="listitem">
 
  52               Editiere den Bereich "settings" in der datei letter.lco
 
  53             </li></ul></div><p>oder etwas Detaillierter:</p><p>
 
  54             Es wird eine Datei sample.lco erstellt und diese nach letter.lco verlinkt.
 
  55             Eigentlich ist dies die Datei die für die Firmenspezifischen Anpassungen
 
  56             gedacht ist.  Da die Einstiegshürde in LaTeX nicht ganz niedrig ist, wird in
 
  57             dieser Datei auf ein Hintergrundpdf verwiesen. Ich empfehle über dieses pdf
 
  58             die persönlichen Layoutanpassungen vorzunehmen und sample.lco unverändert zu
 
  59             lassen. Die die Anpassung über eine *.lco Datei die letztlich auf letter.lco
 
  60             verlinkt ist ist aber auch möglich.
 
  62             Es wird eine Datei sample_head.pdf mit ausgeliefert, diese wird nach
 
  63             letter_head.pdf verlinkt. Damit gibt es schon mal eine Funktionsfähige
 
  64             Vorlage. Schau Dir nach Abschluss der Installation die Datei sample_haed.pdf
 
  65             an und erstelle ein entsprechendes pdf passend zum Briefkopf Deiner Firma,
 
  66             diese dann im Template Verzeichniss ablegen und statt sample_head.pdf nach
 
  67             letter_head.pdf verlinken.
 
  69             letzlich muss ./letter_head.pdf auf das passende Hintergrundpdf verweisen,
 
  70             welches gewünschten Briefkopf enthält. Bei Updates oder nach erneutem
 
  72             Es wird eine Datei mydata.tex.example ausgeliefert die nach mytdata.tex
 
  73             verlinkt ist. Bei verwendetem Hintergrundpdf wird nur der Eintrag für das
 
  74             Land verwendet die Datei muss  also nicht angefasst werden. Die Anderen Werte
 
  75             sind für das Modul  lp (Label Print in erp - zur Zeit nicht im
 
  78             Alle Anpassungen zum Briefkopf, Fusszeilen, Firmenlogos, etc.
 
  79             sollten über die Hintergrund pdf datei oder die *.lco Datei erfolgen.
 
  80           </p></div><div class="sect3" title="2.10.3.3. f-tex Funktionsübersicht"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-Funktions%C3%BCbersicht"></a>2.10.3.3. f-tex Funktionsübersicht</h4></div></div></div><p>
 
  81             Das Konzept von kivitendo sieht vor, für jedes Dokument
 
  82             (Auftragsbestätigung, Lieferschein, Rechnung, etc.) eine
 
  83             Latex-Vorlage vorzuhalten, dies ist sehr Wartungsunfreundlich. Auch
 
  84             das Einlesen einer einheitlichen Quelle für den Briefkopf bringt nur
 
  85             bedingte Vorteile, da hier leicht die Pflege der Artikel-Tabellen aus
 
  86             dem Ruder läuft. Bei dem vorliegenden Ansatz wird für alle
 
  87             Briefartigen Dokumente mit Artikel-Tabellen eine einheitliche
 
  88             Latexvorlage verwendet, welche über Codeweichen die Besonderheiten
 
  89             der jeweiligen Dokumente Berücksichtigt
 
  90           </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">Tabellen mit oder ohne Preis
 
  91             </li><li class="listitem">Sprache der Tabellenüberschriften etc.
 
  92             </li><li class="listitem">Anpassung der Bezugs-Zeile (z.B. Rechnungsnummer versus
 
  94             </li><li class="listitem">Darstellung von Brutto oder Netto-Preisen in der Auflistung
 
  95               (Endverbraucher versus Gewerblicher Kunde)
 
  96             </li></ul></div><p>Nachteil:</p><p>
 
  97              Latex hat ohnehin eine sehr steile Lehrnkurve. Die Datei letter.tex
 
  98              ist sehr komplex und verstärkt damit diesen Effekt noch einmal erheblich.
 
  99              Wer Latex-Erfahrung hat, oder geübt ist Scriptsparachen nachzuvollziehen kann
 
 100              natürlich auch innerhalb der Tabellendarstellung gut persönliche Anpassungen
 
 101              vornehmen. Aber man kann sich hier bei Veränderungen sehr schnell häftig in
 
 103            </p><p>Wer nicht so tief in die Materie einsteigen will oder leicht zu
 
 104               frustrieren ist, sollte sein Hintergrund PDF auf Basis der mitglieferten
 
 105               Datei sample_head.pdf erstellen, und sich an der Form der dargestellten Tabellen
 
 106               wie sie ausgeliefert werden, erfreuen.
 
 108              Nicht zu viel auf einmal wollen, lieber kleine kontinuierliche
 
 110            </p><p>Bruttopreise für Endvorbraucher</p><p>Der auszuweisende Bruttopreis wird innerhalb der LaTeX
 
 111              Umgebung berechnet.  es gibt zwar ein Feld um bei Aufträgen "alle Preise
 
 112              Brutto" auszuwählen, aber:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
 
 113               hierfür müssen die Preise auch in Brutto in der Datenbank stehen
 
 114               (ja - das lässt sich über die Preisgruppen und die Zuordung einer Default-Preisgruppe
 
 116             </li><li class="listitem">
 
 117               man darf beim Anlegen des Vorgangs nicht vergessen Dieses Häkchen zu setzen.
 
 118                (das ist in der Praxis wenn man sowohl Endverbraucher- wie Gewerbekunden beliefert
 
 119               der eigentliche Knackpunkt)
 
 121             Es gibt mit f-tex eine weitere Alternative. Die Information ob Brutto oder
 
 122             Nettorechnung wird mit den Zahlarten verknüpft. Zahlarten bei denen
 
 123             Rechnungen, Angebote, etc, in Brutto ausgegeben werden sollen enden mit "_E"
 
 124             (für Endverbraucher) Falls identische Zahlarten für Gewerbekunden und
 
 125             Endverbraucher vorhanden sind legt man diese einfach doppelt an (einmal mit
 
 126             der Namensendung "_E"). Gewinn:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
 
 127                die Entscheidung ob Netopreise ausgewiesen werden ist nicht mehr fix
 
 128                mit einer Preisliste Verbunden.
 
 129             </li><li class="listitem">
 
 130               die Default-Zahlart kann im Kundendatensatz hinterlegt werden und man
 
 131               muss nicht mehr daran denken "alle Preise Netto" auszuwählen.
 
 132             </li><li class="listitem">
 
 133               Die Entscheidung ob Netto/Oder Bruttopreise ausgewiesen werden kann direkt
 
 134               beim Drucken reviediert werden, ohne dass sich der Auftragswert ändert.
 
 135             </li></ul></div><p>Lieferadressen</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
 
 136               in Lieferscheinen kommen shipto* -Variablen im Adressfeld zum Einsatz
 
 137             </li><li class="listitem">
 
 138               wenn die shipto*variable leer ist wird die entsprechende
 
 139               Adressvariable eingesetzt.  Wenn Also die Lieferadresse in Strasse,
 
 140               Hausnummer und Ort abweicht, müssen auch nur diese Felder in der
 
 141               Lieferadresse ausgefüllt werden. Für den Firmenname wird der Wert der
 
 142               Hauptadresse angezeigt.
 
 143             </li></ul></div></div></div><div class="sect2" title="2.10.4. RB"><div class="titlepage"><div><div><h3 class="title"><a name="RB"></a>2.10.4. RB</h3></div></div></div><p>Vollständiger Dokumentensatz mit alternativen Design</p></div><div class="sect2" title="2.10.5. Allgemeine Hinweise zu LaTeX Vorlagen"><div class="titlepage"><div><div><h3 class="title"><a name="Allgemeine Hinweise zu LaTeX"></a>2.10.5. Allgemeine Hinweise zu LaTeX Vorlagen</h3></div></div></div><p>In den allermeisten Installationen sollte drucken jetzt schon
 
 144         funktionieren. Sollte ein Fehler auftreten wirft TeX sehr lange
 
 145         Fehlerbeschreibungen, der eigentliche Fehler ist immer die erste Zeite
 
 146         die mit einem Ausrufezeichen anfängt. Häufig auftretende Fehler sind zum
 
 147         Beispiel:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>! LaTeX Error: File `eurosym.sty' not found. Die entsprechende
 
 148             LaTeX-Bibliothek wurde nicht gefunden. Das tritt vor allem bei
 
 149             Vorlagen aus der Community auf. Installieren Sie die entsprechenden
 
 150             Pakete.</p></li><li class="listitem"><p>! Package inputenc Error: Unicode char \u8:æ¡
\9c not set up for
 
 151             use with LaTeX. Dieser Fehler tritt auf, wenn sie versuchen mit
 
 152             einer Standardinstallation exotische utf8 Zeichen zu drucken.
 
 153             TeXLive unterstützt von Haus nur romanische Schriften und muss mit
 
 154             diversen Tricks dazu gebracht werden andere Zeichen zu akzeptieren.
 
 155             Adere TeX Systeme wie XeTeX schaffen hier Abhilfe.</p></li></ul></div><p>Wird garkein Fehler angezeigt sondern nur der Name des Templates,
 
 156         heißt das normalerweise, dass das LaTeX Binary nicht gefunden wurde.
 
 157         Prüfen Sie den Namen in der Konfiguration (Standard:
 
 158         <code class="literal">pdflatex</code>), und stellen Sie sicher, dass pdflatex
 
 159         (oder das von Ihnen verwendete System) vom Webserver ausgeführt werden
 
 160         darf.</p><p>Wenn sich das Problem nicht auf Grund der ausgabe im Webbrowser verifizieren lässt:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> editiere [kivitendo-home]/config/kivitendo.conf und ändere "keep_tmp_files" auf 1</p><p>
 
 161                      </p><pre class="programlisting">keep_temp_files = 1;</pre><p>
 
 162                   </p></li><li class="listitem"><p>bei fastcgi oder mod_perl den Webserver neu Starten</p></li><li class="listitem"><p>Nochmal einen Druckversuch im Webfrontend auslösen</p></li><li class="listitem"><p>wechsele in das users Verzeichnis von kivitendo</p><p>
 
 163                      </p><pre class="programlisting">cd [kivitendo-home]/users</pre><p>
 
 164                   </p></li><li class="listitem"><p>LaTeX Suchpfad anpassen:</p><p>
 
 165                      </p><pre class="programlisting">export TEXINPUTS=".:[kivitendo-home]/templates/[aktuelles_template_verzeichniss]:"</pre><p>
 
 166                   </p></li><li class="listitem"><p>Finde herraus welche Datei kivitendo beim letzten Durchlauf erstellt hat</p><p>
 
 167                      </p><pre class="programlisting">ls -lahtr ./1*.tex</pre><p>
 
 168                   </p><p>Es sollte die letzte Datei ganz unten sein</p></li><li class="listitem"><p>für besseren Hinweis auf Fehler texdatei nochmals übersetzen</p><p>
 
 169                      </p><pre class="programlisting">pdflatex ./1*.tex</pre><p>
 
 170                   </p><p>in der *.tex datei nach dem Fehler suchen.</p></li></ul></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s09.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="ch02s11.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.9. E-Mail-Versand aus kivitendo heraus </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.11. OpenDocument-Vorlagen</td></tr></table></div></body></html>