LaTeX-Druckvorlagen f-tex entfernt, doku und installation_check
authorJan Büren <jan@kivitendo.de>
Fri, 25 Sep 2020 10:06:32 +0000 (12:06 +0200)
committerJan Büren <jan@kivitendo.de>
Fri, 25 Sep 2020 10:06:32 +0000 (12:06 +0200)
installation_check -l prüft jetzt auf pdfx und die Version
Entsprechenden Hinweis in der Doku.
f-tex entfernt, die letzten Änderungen wurden von Geoff und Jan
in 2014 gemacht, der ursprüngliche Maintainer scheint seitdem inaktiv zu sein.

24 files changed:
doc/dokumentation.xml
doc/html/ch02s06.html
doc/html/ch02s12.html
doc/html/ch02s13.html
doc/html/ch03s03.html
doc/html/ch03s07.html
doc/html/ch03s08.html
doc/html/ch03s09.html
doc/html/ch03s10.html
doc/html/ch04.html
doc/html/index.html
doc/kivitendo-Dokumentation.pdf
scripts/installation_check.pl
templates/print/f-tex/bin_list.html [deleted file]
templates/print/f-tex/default.tex [deleted file]
templates/print/f-tex/letter.lco [deleted symlink]
templates/print/f-tex/letter_head.pdf [deleted symlink]
templates/print/f-tex/mydata.tex [deleted symlink]
templates/print/f-tex/mydata.tex.example [deleted file]
templates/print/f-tex/sample.lco [deleted file]
templates/print/f-tex/sample_head.pdf [deleted file]
templates/print/f-tex/statement.html [deleted file]
templates/print/f-tex/translations.tex [deleted file]
templates/print/f-tex/zwischensumme.sty [deleted file]

index dea3f13..92965d3 100644 (file)
@@ -2189,24 +2189,23 @@ digits_year: 4</programlisting>
   texlive-collection-latexrecommended texlive-collection-langgerman \
   texlive-collection-langenglish</programlisting></para>
 
+      <note>kivitendo erwartet eine aktuelle TeX Live Umgebung, um PDF/A zu erzeugen. Aktuelle Distributionen von 2020 erfüllen diese. Überprüfbar ist dies mit dem Aufruf des installation_check.pl mit Parameter -l: <programlisting>scripts/installations_check.pl -l</programlisting> </note>
       <para>kivitendo bringt drei alternative Vorlagensätze mit:</para>
 
       <itemizedlist>
         <listitem>
           <para>RB</para>
         </listitem>
-
         <listitem>
-          <para>f-tex</para>
+          <para>marei</para>
         </listitem>
-
         <listitem>
           <para>rev-odt</para>
         </listitem>
       </itemizedlist>
 
-      <para>Der ehemalige Druckvorlagensatz "Standard" wurde mit der Version
-      3.3 entfernt, da er nicht mehr gepflegt wurde.</para>
+      <para>Der ehemalige Druckvorlagensatz "f-tex" wurde mit der Version
+      3.6 entfernt, da er nicht mehr gepflegt wird.</para>
 
       <sect2 id="Vorlagenverzeichnis-anlegen"
              xreflabel="Vorlagenverzeichnis anlegen">
@@ -2230,7 +2229,7 @@ digits_year: 4</programlisting>
           <listitem>
             <para><option>Vorlagen auswählen</option>: Wählen Sie hier den
             Vorlagensatz aus, der kopiert werden soll
-            (<filename>RB</filename>, <filename>f-tex</filename> oder
+            (<filename>RB</filename>, <filename>marei</filename> oder
             <filename>odt-rev</filename>.)</para>
           </listitem>
 
@@ -2288,247 +2287,7 @@ digits_year: 4</programlisting>
         </itemizedlist>
       </sect2>
 
-      <sect2 id="f-tex">
-        <title>f-tex</title>
-
-        <para>Ein Vorlagensatz, der in wenigen Minuten alle Dokumente zur
-        Verfügung stellt.</para>
-
-        <sect3 id="f-tex-Feature-Übersicht">
-          <title>Feature-Übersicht</title>
-
-          <itemizedlist>
-            <listitem>
-              <para>Keine Redundanz. Es wird ein- und dieselbe LaTeX-Vorlage
-              für alle briefartigen Dokumente verwendet. Also Angebot,
-              Rechnung, Proformarechnung, Lieferschein, aber eben nicht für
-              Paketaufkleber etc.</para>
-            </listitem>
-
-            <listitem>
-              <para>Leichte Anpassung an das Firmen-Layout durch Verwendung
-              eines Hintergrund-PDFs. Dieses kann leicht mit dem eigenen
-              Lieblingsprogramm erstellt werden (Openoffice, Inkscape, Gimp,
-              Adobe*)</para>
-            </listitem>
-
-            <listitem>
-              <para>Hintergrund-PDF umschaltbar auf "nur erste Seite"
-              (Standard) oder "alle Seiten" (Option
-              "<option>bgPdfFirstPageOnly</option>" in Datei
-              <filename>letter.lco</filename>)</para>
-            </listitem>
-
-            <listitem>
-              <para>Hintergrund-PDF für Ausdruck auf bereits bedrucktem
-              Briefpapier abschaltbar. Es wird dann nur bei per E-Mail
-              versendeten Dokumenten eingebunden (Option
-              "<option>bgPdfEmailOnly</option>" in Datei
-              <filename>letter.lco</filename>).</para>
-            </listitem>
-
-            <listitem>
-              <para>Nutzung der Layout-Funktionen von LaTeX für Seitenumbruch,
-              Wiederholung von Kopfzeilen, Zwischensummen etc. (danke an
-              Kai-Martin Knaak für die Vorarbeit)</para>
-            </listitem>
-
-            <listitem>
-              <para>Anzeige des Empfängerlandes im Adressfeld nur, wenn es vom
-              Land des eigenen Unternehmens abweicht (also die Rechnung das
-              Land verlässt).</para>
-            </listitem>
-
-            <listitem>
-              <para>Multisprachfähig leicht um weitere Sprachen zu erweitern,
-              alle Übersetzungen in der Datei
-              <filename>translatinos.tex</filename>.</para>
-            </listitem>
-
-            <listitem>
-              <para>Auflistung von Bruttopreisen für Endverbraucher.</para>
-            </listitem>
-          </itemizedlist>
-        </sect3>
-
-        <sect3 id="f-tex-Installation">
-          <title>Die Installation</title>
-
-          <itemizedlist>
-            <listitem>
-              <para>Vorlagenverzeichnis mit Option f-tex anlegen, siehe: <xref
-              linkend="Vorlagenverzeichnis-anlegen"/>. Das Vorlagensystem
-              funktioniert jetzt schon, hat allerdings noch einen
-              Beispiel-Briefkopf.</para>
-            </listitem>
-
-            <listitem>
-              <para>Erstelle eine pdf-Hintergrund Datei und verlinke sie nach
-              <filename>./letter_head.pdf</filename>.</para>
-            </listitem>
-
-            <listitem>
-              <para>Editiere den Bereich "<option>settings</option>" in der
-              datei <filename>letter.lco</filename>.</para>
-            </listitem>
-          </itemizedlist>
-
-          <para>oder etwas detaillierter:</para>
-
-          <para>Es wird eine Datei <filename>sample.lco</filename> erstellt
-          und diese nach <filename>letter.lco</filename> verlinkt. Eigentlich
-          ist dies die Datei die für die firmenspezifischen Anpassungen
-          gedacht ist. Da die Einstiegshürde in LaTeX nicht ganz niedrig ist,
-          wird in dieser Datei auf ein Hintergrund-PDF verwiesen. Ich empfehle
-          über dieses PDF die persönlichen Layoutanpassungen vorzunehmen und
-          <filename>sample.lco</filename> unverändert zu lassen. Die Anpassung
-          über eine <filename>*.lco</filename>-Datei, die letztlich auf
-          <filename>letter.lco</filename> verlinkt ist ist aber auch
-          möglich.</para>
-
-          <para>Es wird eine Datei <filename>sample_head.pdf</filename> mit
-          ausgeliefert, diese wird nach <filename>letter_head.pdf</filename>
-          verlinkt. Damit gibt es schon mal eine funktionsfähige Vorlage.
-          Schau Dir nach Abschluss der Installation die Datei
-          <filename>sample_head.pdf</filename> an und erstelle ein
-          entsprechendes PDF passend zum Briefkopf Deiner Firma, diese dann im
-          Template Verzeichniss ablegen und statt
-          <filename>sample_head.pdf</filename> nach
-          <filename>letter_head.pdf</filename> verlinken.</para>
-
-          <para>Letzlich muss <filename>letter_head.pdf</filename> auf das
-          passende Hintergrund-PDF verweisen, welches gewünschten Briefkopf
-          enthält.</para>
-
-          <para>Es wird eine Datei <filename>mydata.tex.example</filename>
-          ausgeliefert, die nach <filename>mytdata.tex</filename> verlinkt
-          ist. Bei verwendetem Hintergrund-PDF wird nur der Eintrag für das
-          Land verwendet. Die Datei muss also nicht angefasst werden. Die
-          anderen Werte sind für das Modul 'lp' (Label Print in erp - zur Zeit
-          nicht im öffentlichen Zweig).</para>
-
-          <para>Alle Anpassungen zum Briefkopf, Fusszeilen, Firmenlogos, etc.
-          sollten über die Hintergrund-PDF-Datei oder die
-          <filename>*.lco</filename>-Datei erfolgen.</para>
-        </sect3>
-
-        <sect3 id="f-tex-Funktionsübersicht">
-          <title>f-tex Funktionsübersicht</title>
-
-          <para>Das Konzept von kivitendo sieht vor, für jedes Dokument
-          (Auftragsbestätigung, Lieferschein, Rechnung, etc.) eine
-          LaTeX-Vorlage vorzuhalten, dies ist sehr wartungsunfreundlich. Auch
-          das Einlesen einer einheitlichen Quelle für den Briefkopf bringt nur
-          bedingte Vorteile, da hier leicht die Pflege der Artikel-Tabellen
-          aus dem Ruder läuft. Bei dem vorliegenden Ansatz wird für alle
-          briefartigen Dokumente mit Artikel-Tabellen eine einheitliche
-          LaTeX-Vorlage verwendet, welche über Codeweichen die Besonderheiten
-          der jeweiligen Dokumente berücksichtigt:</para>
-
-          <itemizedlist>
-            <listitem>
-              <para>Tabellen mit oder ohne Preis</para>
-            </listitem>
-
-            <listitem>
-              <para>Sprache der Tabellenüberschriften etc.</para>
-            </listitem>
-
-            <listitem>
-              <para>Anpassung der Bezugs-Zeile (z.B. Rechnungsnummer versus
-              Angebotsnummer)</para>
-            </listitem>
-
-            <listitem>
-              <para>Darstellung von Brutto oder Netto-Preisen in der
-              Auflistung (Endverbraucher versus gewerblicher Kunde)</para>
-            </listitem>
-          </itemizedlist>
-
-          <para>Nachteil:</para>
-
-          <para>LaTeX hat ohnehin eine sehr steile Lehrnkurve. Die Datei
-          <filename>letter.tex</filename> ist sehr komplex und verstärkt damit
-          diesen Effekt noch einmal erheblich. Wer LaTeX-Erfahrung hat, oder
-          geübt ist Scriptsparachen nachzuvollziehen kann natürlich auch
-          innerhalb der Tabellendarstellung gut persönliche Anpassungen
-          vornehmen. Aber man kann sich hier bei Veränderungen sehr schnell
-          heftig in den Fuss schiessen.</para>
-
-          <para>Wer nicht so tief in die Materie einsteigen will oder leicht
-          zu frustrieren ist, sollte sein Hintergrund-PDF auf Basis der
-          mitglieferten Datei <filename>sample_head.pdf</filename> erstellen,
-          und sich an der Form der dargestellten Tabellen, wie sie
-          ausgeliefert werden, erfreuen.</para>
-
-          <para>Kleiner Tipp: Nicht zu viel auf einmal wollen, lieber kleine,
-          kontinuierliche Schritte gehen.</para>
-        </sect3>
-
-        <sect3 id="f-tex-Bruttopreise">
-          <title>Bruttopreise für Endverbraucher</title>
-
-          <para>Der auszuweisende Bruttopreis wird innerhalb der
-          LaTeX-Umgebung berechnet. Es gibt zwar ein Feld, um bei Aufträgen
-          "alle Preise Brutto" auszuwählen, aber:</para>
-
-          <itemizedlist>
-            <listitem>
-              <para>hierfür müssen die Preise auch in Brutto in der Datenbank
-              stehen (ja - das lässt sich über die Preisgruppen und die
-              Zuordung einer Default-Preisgruppe handhaben)</para>
-            </listitem>
-
-            <listitem>
-              <para>man darf beim Anlegen des Vorgangs nicht vergessen, dieses
-              Häkchen zu setzen. (Das ist in der Praxis, wenn man sowohl
-              Endverbraucher als auch Gewerbekunden beliefert, der eigentliche
-              Knackpunkt)</para>
-            </listitem>
-          </itemizedlist>
-
-          <para>Es gibt mit f-tex eine weitere Alternative. Die Information ob
-          Brutto oder Nettorechnung wird mit den Zahlarten verknüpft.
-          Zahlarten bei denen Rechnungen, Angebote, etc, in Brutto ausgegeben
-          werden sollen, enden mit "_E" (für Endverbraucher). Falls identische
-          Zahlarten für Gewerbekunden und Endverbraucher vorhanden sind, legt
-          man diese einfach doppelt an (einmal mit der Namensendung "_E").
-          Gewinn:</para>
-
-          <itemizedlist>
-            <listitem>
-              <para>Die Entscheidung, ob Nettopreise ausgewiesen werden, ist
-              nicht mehr fix mit einer Preisliste verbunden.</para>
-            </listitem>
-
-            <listitem>
-              <para>Die Default-Zahlart kann im Kundendatensatz hinterlegt
-              werden, und man muss nicht mehr daran denken, "alle Preise
-              Netto" auszuwählen.</para>
-            </listitem>
-
-            <listitem>
-              <para>Die Entscheidung, ob Netto- oder Bruttopreise ausgewiesen
-              werden, kann direkt beim Drucken revidiert werden, ohne dass
-              sich der Auftragswert ändert.</para>
-            </listitem>
-          </itemizedlist>
-        </sect3>
-
-        <sect3 id="f-tex-lieferadressen">
-          <title>Lieferadressen</title>
-
-          <para>In Lieferscheinen kommen <varname>shipto*</varname>-Variablen
-          im Adressfeld zum Einsatz. Wenn die
-          <varname>shipto*</varname>-Variable leer ist, wird die entsprechende
-          Adressvariable eingesetzt. Wenn also die Lieferadresse in Straße,
-          Hausnummer und Ort abweicht, müssen auch nur diese Felder in der
-          Lieferadresse ausgefüllt werden. Für den Firmenname wird der Wert
-          der Hauptadresse angezeigt.</para>
-        </sect3>
-      </sect2>
-
-      <sect2 id="Vorlagen-rev-odt">
+     <sect2 id="Vorlagen-rev-odt">
         <title>Der Druckvorlagensatz rev-odt</title>
 
         <para>Hierbei handelt es sich um einen Dokumentensatz der mit
index a4bcbb4..ab90443 100644 (file)
@@ -121,7 +121,7 @@ Alias       /url/for/kivitendo-erp-fcgid/          /path/to/kivitendo-erp/</pre>
         sowie ferner auch die Möglichkeit nicht ausschließen, dass es in Unterverzeichnissen auch noch .git Repositories geben kann.
         Die Empfehlung für Apache 2.4 wäre damit:
         </p><pre class="programlisting">
-        &lt;DirectoryMatch "(\.git|config)/"&gt;
+        &lt;DirectoryMatch "/(\.git|config)/"&gt;
           Require all denied
         &lt;/DirectoryMatch&gt;</pre><p>
        
index 5faec2f..5f783e5 100644 (file)
@@ -14,8 +14,8 @@
             </p><pre class="programlisting">zypper install texlive-collection-latex texlive-collection-latexextra \
   texlive-collection-latexrecommended texlive-collection-langgerman \
   texlive-collection-langenglish</pre><p>
-         </p><p>kivitendo bringt drei alternative Vorlagensätze mit:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>RB</p></li><li class="listitem"><p>f-tex</p></li><li class="listitem"><p>rev-odt</p></li></ul></div><p>Der ehemalige Druckvorlagensatz "Standard" wurde mit der Version
-      3.3 entfernt, da er nicht mehr gepflegt wurde.</p><div class="sect2" title="2.12.1. Vorlagenverzeichnis anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Vorlagenverzeichnis-anlegen"></a>2.12.1. Vorlagenverzeichnis anlegen</h3></div></div></div><p>Es lässt sich ein initialer Vorlagensatz erstellen. Die
+         </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">kivitendo erwartet eine aktuelle TeX Live Umgebung, um PDF/A zu erzeugen. Aktuelle Distributionen von 2020 erfüllen diese. Überprüfbar ist dies mit dem Aufruf des installation_check.pl mit Parameter -l: <pre class="programlisting">scripts/installations_check.pl -l</pre></td></tr></table></div><p>kivitendo bringt drei alternative Vorlagensätze mit:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>RB</p></li><li class="listitem"><p>marei</p></li><li class="listitem"><p>rev-odt</p></li></ul></div><p>Der ehemalige Druckvorlagensatz "f-tex" wurde mit der Version
+      3.6 entfernt, da er nicht mehr gepflegt wird.</p><div class="sect2" title="2.12.1. Vorlagenverzeichnis anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Vorlagenverzeichnis-anlegen"></a>2.12.1. Vorlagenverzeichnis anlegen</h3></div></div></div><p>Es lässt sich ein initialer Vorlagensatz erstellen. Die
         LaTeX-System-Abhängigkeiten hierfür kann man prüfen mit:</p><pre class="programlisting">./scripts/installation_check.pl -lv</pre><p>Der Angemeldete Benutzer muss in einer Gruppe sein, die über das
         Recht "Konfiguration -&gt; Mandantenverwaltung" verfügt. Siehe auch
         <a class="xref" href="ch02s09.html#Gruppen-anlegen" title="2.9.4. Gruppen anlegen">Abschnitt&nbsp;2.9.4, „Gruppen anlegen“</a>.</p><p>Im Userbereich lässt sich unter: "<span class="guimenu">System</span>
@@ -24,7 +24,7 @@
         Druckvorlagen aus Vorlagensatz erstellen" auswählen.</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
                      <code class="option">Vorlagen auswählen</code>: Wählen Sie hier den
             Vorlagensatz aus, der kopiert werden soll
-            (<code class="filename">RB</code>, <code class="filename">f-tex</code> oder
+            (<code class="filename">RB</code>, <code class="filename">marei</code> oder
             <code class="filename">odt-rev</code>.)</p></li><li class="listitem"><p>
                      <code class="option">Neuer Name</code>: Der Verzeichnisname für den
             neuen Vorlagensatz. Dieser kann im Rahmen der üblichen Bedingungen
             werden, z.B. für Kopf- und Fußzeilen, und Infos wie
             Bankdaten</p></li><li class="listitem"><p>mehrere vordefinierte Varianten für
             Logos/Hintergrundbilder</p></li><li class="listitem"><p>Berücksichtigung für Steuerzonen "EU mit USt-ID Nummer" oder
-            "Außerhalb EU"</p></li></ul></div></div><div class="sect2" title="2.12.3. f-tex"><div class="titlepage"><div><div><h3 class="title"><a name="f-tex"></a>2.12.3. f-tex</h3></div></div></div><p>Ein Vorlagensatz, der in wenigen Minuten alle Dokumente zur
-        Verfügung stellt.</p><div class="sect3" title="2.12.3.1. Feature-Übersicht"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-Feature-%C3%9Cbersicht"></a>2.12.3.1. Feature-Übersicht</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Keine Redundanz. Es wird ein- und dieselbe LaTeX-Vorlage
-              für alle briefartigen Dokumente verwendet. Also Angebot,
-              Rechnung, Proformarechnung, Lieferschein, aber eben nicht für
-              Paketaufkleber etc.</p></li><li class="listitem"><p>Leichte Anpassung an das Firmen-Layout durch Verwendung
-              eines Hintergrund-PDFs. Dieses kann leicht mit dem eigenen
-              Lieblingsprogramm erstellt werden (Openoffice, Inkscape, Gimp,
-              Adobe*)</p></li><li class="listitem"><p>Hintergrund-PDF umschaltbar auf "nur erste Seite"
-              (Standard) oder "alle Seiten" (Option
-              "<code class="option">bgPdfFirstPageOnly</code>" in Datei
-              <code class="filename">letter.lco</code>)</p></li><li class="listitem"><p>Hintergrund-PDF für Ausdruck auf bereits bedrucktem
-              Briefpapier abschaltbar. Es wird dann nur bei per E-Mail
-              versendeten Dokumenten eingebunden (Option
-              "<code class="option">bgPdfEmailOnly</code>" in Datei
-              <code class="filename">letter.lco</code>).</p></li><li class="listitem"><p>Nutzung der Layout-Funktionen von LaTeX für Seitenumbruch,
-              Wiederholung von Kopfzeilen, Zwischensummen etc. (danke an
-              Kai-Martin Knaak für die Vorarbeit)</p></li><li class="listitem"><p>Anzeige des Empfängerlandes im Adressfeld nur, wenn es vom
-              Land des eigenen Unternehmens abweicht (also die Rechnung das
-              Land verlässt).</p></li><li class="listitem"><p>Multisprachfähig leicht um weitere Sprachen zu erweitern,
-              alle Übersetzungen in der Datei
-              <code class="filename">translatinos.tex</code>.</p></li><li class="listitem"><p>Auflistung von Bruttopreisen für Endverbraucher.</p></li></ul></div></div><div class="sect3" title="2.12.3.2. Die Installation"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-Installation"></a>2.12.3.2. Die Installation</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Vorlagenverzeichnis mit Option f-tex anlegen, siehe: <a class="xref" href="ch02s12.html#Vorlagenverzeichnis-anlegen" title="2.12.1. Vorlagenverzeichnis anlegen">Vorlagenverzeichnis anlegen</a>. Das Vorlagensystem
-              funktioniert jetzt schon, hat allerdings noch einen
-              Beispiel-Briefkopf.</p></li><li class="listitem"><p>Erstelle eine pdf-Hintergrund Datei und verlinke sie nach
-              <code class="filename">./letter_head.pdf</code>.</p></li><li class="listitem"><p>Editiere den Bereich "<code class="option">settings</code>" in der
-              datei <code class="filename">letter.lco</code>.</p></li></ul></div><p>oder etwas detaillierter:</p><p>Es wird eine Datei <code class="filename">sample.lco</code> erstellt
-          und diese nach <code class="filename">letter.lco</code> verlinkt. Eigentlich
-          ist dies die Datei die für die firmenspezifischen Anpassungen
-          gedacht ist. Da die Einstiegshürde in LaTeX nicht ganz niedrig ist,
-          wird in dieser Datei auf ein Hintergrund-PDF verwiesen. Ich empfehle
-          über dieses PDF die persönlichen Layoutanpassungen vorzunehmen und
-          <code class="filename">sample.lco</code> unverändert zu lassen. Die Anpassung
-          über eine <code class="filename">*.lco</code>-Datei, die letztlich auf
-          <code class="filename">letter.lco</code> verlinkt ist ist aber auch
-          möglich.</p><p>Es wird eine Datei <code class="filename">sample_head.pdf</code> mit
-          ausgeliefert, diese wird nach <code class="filename">letter_head.pdf</code>
-          verlinkt. Damit gibt es schon mal eine funktionsfähige Vorlage.
-          Schau Dir nach Abschluss der Installation die Datei
-          <code class="filename">sample_head.pdf</code> an und erstelle ein
-          entsprechendes PDF passend zum Briefkopf Deiner Firma, diese dann im
-          Template Verzeichniss ablegen und statt
-          <code class="filename">sample_head.pdf</code> nach
-          <code class="filename">letter_head.pdf</code> verlinken.</p><p>Letzlich muss <code class="filename">letter_head.pdf</code> auf das
-          passende Hintergrund-PDF verweisen, welches gewünschten Briefkopf
-          enthält.</p><p>Es wird eine Datei <code class="filename">mydata.tex.example</code>
-          ausgeliefert, die nach <code class="filename">mytdata.tex</code> verlinkt
-          ist. Bei verwendetem Hintergrund-PDF wird nur der Eintrag für das
-          Land verwendet. Die Datei muss also nicht angefasst werden. Die
-          anderen Werte sind für das Modul 'lp' (Label Print in erp - zur Zeit
-          nicht im öffentlichen Zweig).</p><p>Alle Anpassungen zum Briefkopf, Fusszeilen, Firmenlogos, etc.
-          sollten über die Hintergrund-PDF-Datei oder die
-          <code class="filename">*.lco</code>-Datei erfolgen.</p></div><div class="sect3" title="2.12.3.3. f-tex Funktionsübersicht"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-Funktions%C3%BCbersicht"></a>2.12.3.3. f-tex Funktionsübersicht</h4></div></div></div><p>Das Konzept von kivitendo sieht vor, für jedes Dokument
-          (Auftragsbestätigung, Lieferschein, Rechnung, etc.) eine
-          LaTeX-Vorlage vorzuhalten, dies ist sehr wartungsunfreundlich. Auch
-          das Einlesen einer einheitlichen Quelle für den Briefkopf bringt nur
-          bedingte Vorteile, da hier leicht die Pflege der Artikel-Tabellen
-          aus dem Ruder läuft. Bei dem vorliegenden Ansatz wird für alle
-          briefartigen Dokumente mit Artikel-Tabellen eine einheitliche
-          LaTeX-Vorlage verwendet, welche über Codeweichen die Besonderheiten
-          der jeweiligen Dokumente berücksichtigt:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Tabellen mit oder ohne Preis</p></li><li class="listitem"><p>Sprache der Tabellenüberschriften etc.</p></li><li class="listitem"><p>Anpassung der Bezugs-Zeile (z.B. Rechnungsnummer versus
-              Angebotsnummer)</p></li><li class="listitem"><p>Darstellung von Brutto oder Netto-Preisen in der
-              Auflistung (Endverbraucher versus gewerblicher Kunde)</p></li></ul></div><p>Nachteil:</p><p>LaTeX hat ohnehin eine sehr steile Lehrnkurve. Die Datei
-          <code class="filename">letter.tex</code> ist sehr komplex und verstärkt damit
-          diesen Effekt noch einmal erheblich. Wer LaTeX-Erfahrung hat, oder
-          geübt ist Scriptsparachen nachzuvollziehen kann natürlich auch
-          innerhalb der Tabellendarstellung gut persönliche Anpassungen
-          vornehmen. Aber man kann sich hier bei Veränderungen sehr schnell
-          heftig in den Fuss schiessen.</p><p>Wer nicht so tief in die Materie einsteigen will oder leicht
-          zu frustrieren ist, sollte sein Hintergrund-PDF auf Basis der
-          mitglieferten Datei <code class="filename">sample_head.pdf</code> erstellen,
-          und sich an der Form der dargestellten Tabellen, wie sie
-          ausgeliefert werden, erfreuen.</p><p>Kleiner Tipp: Nicht zu viel auf einmal wollen, lieber kleine,
-          kontinuierliche Schritte gehen.</p></div><div class="sect3" title="2.12.3.4. Bruttopreise für Endverbraucher"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-Bruttopreise"></a>2.12.3.4. Bruttopreise für Endverbraucher</h4></div></div></div><p>Der auszuweisende Bruttopreis wird innerhalb der
-          LaTeX-Umgebung berechnet. Es gibt zwar ein Feld, um bei Aufträgen
-          "alle Preise Brutto" auszuwählen, aber:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>hierfür müssen die Preise auch in Brutto in der Datenbank
-              stehen (ja - das lässt sich über die Preisgruppen und die
-              Zuordung einer Default-Preisgruppe handhaben)</p></li><li class="listitem"><p>man darf beim Anlegen des Vorgangs nicht vergessen, dieses
-              Häkchen zu setzen. (Das ist in der Praxis, wenn man sowohl
-              Endverbraucher als auch Gewerbekunden beliefert, der eigentliche
-              Knackpunkt)</p></li></ul></div><p>Es gibt mit f-tex eine weitere Alternative. Die Information ob
-          Brutto oder Nettorechnung wird mit den Zahlarten verknüpft.
-          Zahlarten bei denen Rechnungen, Angebote, etc, in Brutto ausgegeben
-          werden sollen, enden mit "_E" (für Endverbraucher). Falls identische
-          Zahlarten für Gewerbekunden und Endverbraucher vorhanden sind, legt
-          man diese einfach doppelt an (einmal mit der Namensendung "_E").
-          Gewinn:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Die Entscheidung, ob Nettopreise ausgewiesen werden, ist
-              nicht mehr fix mit einer Preisliste verbunden.</p></li><li class="listitem"><p>Die Default-Zahlart kann im Kundendatensatz hinterlegt
-              werden, und man muss nicht mehr daran denken, "alle Preise
-              Netto" auszuwählen.</p></li><li class="listitem"><p>Die Entscheidung, ob Netto- oder Bruttopreise ausgewiesen
-              werden, kann direkt beim Drucken revidiert werden, ohne dass
-              sich der Auftragswert ändert.</p></li></ul></div></div><div class="sect3" title="2.12.3.5. Lieferadressen"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-lieferadressen"></a>2.12.3.5. Lieferadressen</h4></div></div></div><p>In Lieferscheinen kommen <code class="varname">shipto*</code>-Variablen
-          im Adressfeld zum Einsatz. Wenn die
-          <code class="varname">shipto*</code>-Variable leer ist, wird die entsprechende
-          Adressvariable eingesetzt. Wenn also die Lieferadresse in Straße,
-          Hausnummer und Ort abweicht, müssen auch nur diese Felder in der
-          Lieferadresse ausgefüllt werden. Für den Firmenname wird der Wert
-          der Hauptadresse angezeigt.</p></div></div><div class="sect2" title="2.12.4. Der Druckvorlagensatz rev-odt"><div class="titlepage"><div><div><h3 class="title"><a name="Vorlagen-rev-odt"></a>2.12.4. Der Druckvorlagensatz rev-odt</h3></div></div></div><p>Hierbei handelt es sich um einen Dokumentensatz der mit
+            "Außerhalb EU"</p></li></ul></div></div><div class="sect2" title="2.12.3. Der Druckvorlagensatz rev-odt"><div class="titlepage"><div><div><h3 class="title"><a name="Vorlagen-rev-odt"></a>2.12.3. Der Druckvorlagensatz rev-odt</h3></div></div></div><p>Hierbei handelt es sich um einen Dokumentensatz der mit
         odt-Vorlagen erstellt wurde. Es gibt in dem Verzeichnis eine
         Readme-Datei, die eventuell aktueller als die Dokumentation hier ist.
         Die odt-Vorlagen in diesem Verzeichnis "rev-odt" wurden von revamp-it,
         die verrechneten Mahngebühren und Verzugszinsen.</p><p>Zur Zeit gibt es in kivitendo noch keine Möglichkeit,
         odt-Vorlagen bei Briefen und Pflichtenheften einzusetzen.
         Entsprechende Vorlagen sind deshalb nicht vorhanden.</p><p>Fehlermeldungen, Anregungen und Wünsche bitte senden an:
-        empfang@revamp-it.ch</p></div><div class="sect2" title="2.12.5. Allgemeine Hinweise zu LaTeX Vorlagen"><div class="titlepage"><div><div><h3 class="title"><a name="allgemeine-hinweise-zu-latex"></a>2.12.5. Allgemeine Hinweise zu LaTeX Vorlagen</h3></div></div></div><p>In den allermeisten Installationen sollte das Drucken jetzt
+        empfang@revamp-it.ch</p></div><div class="sect2" title="2.12.4. Allgemeine Hinweise zu LaTeX Vorlagen"><div class="titlepage"><div><div><h3 class="title"><a name="allgemeine-hinweise-zu-latex"></a>2.12.4. Allgemeine Hinweise zu LaTeX Vorlagen</h3></div></div></div><p>In den allermeisten Installationen sollte das Drucken jetzt
         schon funktionieren. Sollte ein Fehler auftreten, wirft TeX sehr lange
         Fehlerbeschreibungen, der eigentliche Fehler ist immer die erste
         Zeile, die mit einem Ausrufezeichen anfängt. Häufig auftretende Fehler
index c590571..5c48914 100644 (file)
       Verzeichnis umbenannt werden.</p><p>Dieses Verzeichnis, wie auch das komplette
       <code class="literal">users</code>-Verzeichnis, muss vom Webserver beschreibbar
       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
-      ü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="d0e2609"></a>2.13.1. OpenDocument (odt) Druckvorlagen mit Makros</h3></div></div></div><p>OpenDocument Vorlagen können Makros enthalten, welche komplexere
+      ü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="d0e2420"></a>2.13.1. OpenDocument (odt) Druckvorlagen mit Makros</h3></div></div></div><p>OpenDocument Vorlagen können Makros enthalten, welche komplexere
         Aufgaben erfüllen.</p><p>Der Vorlagensatz "rev-odt" enthält solche Vorlagen mit <span class="bold"><strong>Schweizer Bank-Einzahlungsscheinen (BESR)</strong></span>.
         Diese Makros haben die Aufgabe, die in den Einzahlungsscheinen
         benötigte Referenznummer und Kodierzeile zu erzeugen. Hier eine kurze
         Beschreibung, wie die Makros aufgebaut sind, und was bei ihrer Nutzung
         zu beachten ist (<span class="bold"><strong>in fett sind nötige einmalige
-        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="d0e2622"></a>2.13.1.1. Bezeichnung der Vorlagen</h4></div></div></div><p>Rechnung: invoice_besr.odt, Auftrag:
-          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="d0e2627"></a>2.13.1.2. Vorbereitungen im Adminbereich</h4></div></div></div><p>Damit beim Erstellen von Rechnungen und Aufträgen neben der
+        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="d0e2433"></a>2.13.1.1. Bezeichnung der Vorlagen</h4></div></div></div><p>Rechnung: invoice_besr.odt, Auftrag:
+          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="d0e2438"></a>2.13.1.2. Vorbereitungen im Adminbereich</h4></div></div></div><p>Damit beim Erstellen von Rechnungen und Aufträgen neben der
           Standardvorlage ohne Einzahlungsschein weitere Vorlagen (z.B. mit
           Einzahlungsschein) auswählbar sind, muss für jedes Vorlagen-Suffix
           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
               Aufträgen oder Rechnungen als odt-Datei keine Bedeutung, darf
               aber nicht leer sein)</p></li><li class="listitem"><p>Vorlagenkürzel → besr bzw. selbst gewähltes Vorlagensuffix
               (muss genau der Zeichenfolge entsprechen, die zwischen
-              "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="d0e2651"></a>2.13.1.3. Benutzereinstellungen</h4></div></div></div><p>Wer den Ausdruck mit Einzahlungsschein als Standardeinstellung
+              "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="d0e2462"></a>2.13.1.3. Benutzereinstellungen</h4></div></div></div><p>Wer den Ausdruck mit Einzahlungsschein als Standardeinstellung
           im Rechnungs- bzw. Auftragsformular angezeigt haben möchte, kann
           dies persönlich für sich bei den Benutzereinstellungen
           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
-              (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="d0e2675"></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
+              (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="d0e2486"></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
           aus dem von kivitendo erzeugten odt-Dokument die korrekte
           Referenznummer inklusive Prüfziffer sowie die Kodierzeile in
           OCRB-Schrift erzeugen und am richtigen Ort ins Dokument
               angepasst werden.</strong></span> Dabei ist darauf zu achten, dass
               sich die Positionen der Postkonto-Nummern der Bank, sowie der
               Zeichenfolgen dddfr, DDDREF1, DDDREF2, 609, DDDKODIERZEILE nicht
-              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="d0e2739"></a>2.13.1.5. Auswahl der Druckvorlage in kivitendo beim Erzeugen einer
+              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="d0e2550"></a>2.13.1.5. Auswahl der Druckvorlage in kivitendo beim Erzeugen einer
           odt-Rechnung (analog bei Auftrag)</h4></div></div></div><p>Im Fussbereich der Rechnungsmaske muss neben Rechnung,
           OpenDocument/OASIS und Bildschirm die im Adminbereich erstellte
           Druckerbeschreibung ausgewählt werden, falls diese nicht bereits bei
           den Benutzereinstellungen als persönlicher Standard gewählt
-          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="d0e2744"></a>2.13.1.6. Makroeinstellungen in LibreOffice anpassen</h4></div></div></div><p>Falls beim Öffnen einer von kivitendo erzeugten odt-Rechnung
+          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="d0e2555"></a>2.13.1.6. Makroeinstellungen in LibreOffice anpassen</h4></div></div></div><p>Falls beim Öffnen einer von kivitendo erzeugten odt-Rechnung
           die Meldung kommt, dass Makros aus Sicherheitsgründen nicht
           ausgeführt werden, so müssen folgende Einstellungen in LibreOffice
           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
index e64368e..fbc4f88 100644 (file)
                         <code class="varname">invdate</code>
                      </span></dt><dd><p>Rechnungsdatum</p></dd><dt><span class="term">
                         <code class="varname">invnumber</code>
-                     </span></dt><dd><p>Rechnungsnummer</p></dd></dl></div></div></div><div class="sect2" title="3.3.10. Variablen in anderen Vorlagen"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.andere-vorlagen"></a>3.3.10. Variablen in anderen Vorlagen</h3></div></div></div><div class="sect3" title="3.3.10.1. Einführung"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6022"></a>3.3.10.1. Einführung</h4></div></div></div><p>Die Variablen in anderen Vorlagen sind ähnlich wie in der
+                     </span></dt><dd><p>Rechnungsnummer</p></dd></dl></div></div></div><div class="sect2" title="3.3.10. Variablen in anderen Vorlagen"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.andere-vorlagen"></a>3.3.10. Variablen in anderen Vorlagen</h3></div></div></div><div class="sect3" title="3.3.10.1. Einführung"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5833"></a>3.3.10.1. Einführung</h4></div></div></div><p>Die Variablen in anderen Vorlagen sind ähnlich wie in der
           Rechnung. Allerdings heißen die Variablen, die mit
           <code class="varname">inv</code> beginnen, jetzt anders. Bei den Angeboten
           fangen sie mit <code class="varname">quo</code> für "quotation" an:
index ce29a7a..8831e4e 100644 (file)
@@ -1,15 +1,15 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>3.7. Artikelklassifizierung</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.6: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch03.html" title="Kapitel 3. Features und Funktionen"><link rel="prev" href="ch03s06.html" title="3.6. Schweizer Kontenpläne"><link rel="next" href="ch03s08.html" title="3.8. Dateiverwaltung (Mini-DMS)"></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">3.7. Artikelklassifizierung</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s06.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 3. Features und Funktionen</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch03s08.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="3.7. Artikelklassifizierung"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="features.part_classification"></a>3.7. Artikelklassifizierung</h2></div></div></div><div class="sect2" title="3.7.1. Übersicht"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6704"></a>3.7.1. Übersicht</h3></div></div></div><p>Die Klassifizierung von Artikeln dient einer weiteren
+   <title>3.7. Artikelklassifizierung</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.6: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch03.html" title="Kapitel 3. Features und Funktionen"><link rel="prev" href="ch03s06.html" title="3.6. Schweizer Kontenpläne"><link rel="next" href="ch03s08.html" title="3.8. Dateiverwaltung (Mini-DMS)"></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">3.7. Artikelklassifizierung</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s06.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 3. Features und Funktionen</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch03s08.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="3.7. Artikelklassifizierung"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="features.part_classification"></a>3.7. Artikelklassifizierung</h2></div></div></div><div class="sect2" title="3.7.1. Übersicht"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6515"></a>3.7.1. Übersicht</h3></div></div></div><p>Die Klassifizierung von Artikeln dient einer weiteren
         Gliederung, um zum Beispiel den Einkauf vom Verkauf zu trennen,
         gekennzeichnet durch eine Beschreibung (z.B. "Einkauf") und ein Kürzel
         (z.B. "E"). Für jede Klassifizierung besteht eine Beschreibung und
         eine Abkürzung die normalerweise aus einem Zeichen besteht, kann aber
         auf mehrere Zeichen erweitert werden, falls zur Unterscheidung
-        notwendig. Sinnvoll sind jedoch nur maximal 2 Zeichen.</p></div><div class="sect2" title="3.7.2. Basisklassifizierung"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6709"></a>3.7.2. Basisklassifizierung</h3></div></div></div><p>Als Basisklassifizierungen gibt es</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Einkauf</p></li><li class="listitem"><p>Verkauf</p></li><li class="listitem"><p>Handelsware</p></li><li class="listitem"><p>Produktion</p></li><li class="listitem"><p>- keine - (diese wird bei einer Aktualisierung für alle
+        notwendig. Sinnvoll sind jedoch nur maximal 2 Zeichen.</p></div><div class="sect2" title="3.7.2. Basisklassifizierung"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6520"></a>3.7.2. Basisklassifizierung</h3></div></div></div><p>Als Basisklassifizierungen gibt es</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Einkauf</p></li><li class="listitem"><p>Verkauf</p></li><li class="listitem"><p>Handelsware</p></li><li class="listitem"><p>Produktion</p></li><li class="listitem"><p>- keine - (diese wird bei einer Aktualisierung für alle
             existierenden Artikel verwendet und ist gültig für Verkauf und
             Einkauf)</p></li></ul></div><p>Es können weitere Klassifizierungen angelegt werden. So kann es
-        z.B. für separat auszuweisende Artikel folgende Klassen geben:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Lieferung (Logistik, Transport) mit Kürzel L</p></li><li class="listitem"><p>Material (Verpackungsmaterial) mit Kürzel M</p></li></ul></div></div><div class="sect2" title="3.7.3. Attribute"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6739"></a>3.7.3. Attribute</h3></div></div></div><p>Bisher haben die Klassifizierungen folgende Attribute, die auch
+        z.B. für separat auszuweisende Artikel folgende Klassen geben:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Lieferung (Logistik, Transport) mit Kürzel L</p></li><li class="listitem"><p>Material (Verpackungsmaterial) mit Kürzel M</p></li></ul></div></div><div class="sect2" title="3.7.3. Attribute"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6550"></a>3.7.3. Attribute</h3></div></div></div><p>Bisher haben die Klassifizierungen folgende Attribute, die auch
         alle gleichzeitg gültig sein können</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>gültig für Verkauf - dieser Artikel kann im Verkauf genutzt
             werden</p></li><li class="listitem"><p>gültig für Einkauf - dieser Artikel kann im Einkauf genutzt
             werden</p></li><li class="listitem"><p>separat ausweisen - hierzu gibt es zur Dokumentengenerierung
@@ -19,7 +19,7 @@
         pro separat auszuweisenden Klassifizierungen die Variable<span class="bold"><strong>&lt; %separate_X_subtotal%&gt;</strong></span>, wobei X das
         Kürzel der Klassifizierung ist.</p><p>Im obigen Beispiel wäre das für Lieferkosten <span class="bold"><strong>&lt;%separate_L_subtotal%&gt;</strong></span> und für
         Verpackungsmaterial <span class="bold"><strong>
-        &lt;%separate_M_subtotal%&gt;</strong></span>.</p></div><div class="sect2" title="3.7.4. Zwei-Zeichen Abkürzung"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6770"></a>3.7.4. Zwei-Zeichen Abkürzung</h3></div></div></div><p>Der Typ des Artikels und die Klassifizierung werden durch zwei
+        &lt;%separate_M_subtotal%&gt;</strong></span>.</p></div><div class="sect2" title="3.7.4. Zwei-Zeichen Abkürzung"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6581"></a>3.7.4. Zwei-Zeichen Abkürzung</h3></div></div></div><p>Der Typ des Artikels und die Klassifizierung werden durch zwei
         Buchstaben dargestellt. Der erste Buchstabe ist eine Lokalisierung des
         Artikel-Typs ('P','A','S'), deutsch 'W', 'E', und 'D' für Ware
         Erzeugnis oder Dienstleistung und ggf. weiterer Typen.</p><p>Der zweite Buchstabe (und ggf. auch ein dritter, falls nötig)
index 523930e..06ef0cc 100644 (file)
@@ -1,10 +1,10 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>3.8. Dateiverwaltung (Mini-DMS)</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.6: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch03.html" title="Kapitel 3. Features und Funktionen"><link rel="prev" href="ch03s07.html" title="3.7. Artikelklassifizierung"><link rel="next" href="ch03s09.html" title="3.9. Webshop-Api"></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">3.8. Dateiverwaltung (Mini-DMS)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s07.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 3. Features und Funktionen</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch03s09.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="3.8. Dateiverwaltung (Mini-DMS)"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="features.file_managment"></a>3.8. Dateiverwaltung (Mini-DMS)</h2></div></div></div><div class="sect2" title="3.8.1. Übersicht"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6782"></a>3.8.1. Übersicht</h3></div></div></div><p>Parallel zum alten WebDAV gibt es ein Datei-Management-System,
+   <title>3.8. Dateiverwaltung (Mini-DMS)</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.6: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch03.html" title="Kapitel 3. Features und Funktionen"><link rel="prev" href="ch03s07.html" title="3.7. Artikelklassifizierung"><link rel="next" href="ch03s09.html" title="3.9. Webshop-Api"></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">3.8. Dateiverwaltung (Mini-DMS)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s07.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 3. Features und Funktionen</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch03s09.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="3.8. Dateiverwaltung (Mini-DMS)"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="features.file_managment"></a>3.8. Dateiverwaltung (Mini-DMS)</h2></div></div></div><div class="sect2" title="3.8.1. Übersicht"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6593"></a>3.8.1. Übersicht</h3></div></div></div><p>Parallel zum alten WebDAV gibt es ein Datei-Management-System,
         das Dateien verschiedenen Typs verwaltet. Dies können</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>aus ERP-Daten per LaTeX Template erzeugte
             PDF-Dokumente,</p></li><li class="listitem"><p>zu bestimmten ERP-Daten gehörende Anhangdateien
             unterschiedlichen Formats,</p></li><li class="listitem"><p>per Scanner eingelesene PDF-Dateien,</p></li><li class="listitem"><p>per E-Mail empfangene Dateianhänge unterschiedlichen
-            Formats,</p></li><li class="listitem"><p>sowie speziel für Artikel hochgeladene Bilder sein.</p></li></ol></div><div class="screenshot"><div class="mediaobject"><img src="images/DMS-Overview.png"></div></div></div><div class="sect2" title="3.8.2. Struktur"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6809"></a>3.8.2. Struktur</h3></div></div></div><p>Über eine vom Speichermedium unabhängige Zwischenschicht werden
+            Formats,</p></li><li class="listitem"><p>sowie speziel für Artikel hochgeladene Bilder sein.</p></li></ol></div><div class="screenshot"><div class="mediaobject"><img src="images/DMS-Overview.png"></div></div></div><div class="sect2" title="3.8.2. Struktur"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6620"></a>3.8.2. Struktur</h3></div></div></div><p>Über eine vom Speichermedium unabhängige Zwischenschicht werden
         die Dateien und ihre Versionen in der Datenbank verwaltet. Darunter
         können verschiedene Implementierungen (Backends) gleichzeitig
         existieren:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Dateisystem</p></li><li class="listitem"><p>WebDAV</p></li><li class="listitem"><p>Schnittstelle zu externen
@@ -23,7 +23,7 @@
         für "attachment" und "image" nur die Quelle "uploaded". Für "document"
         gibt es auf jeden Fall die Quelle "created". Die Quellen "scanner" und
         "email" müssen derzeit in der Datenbank konfiguriert werden (siehe
-        <a class="xref" href="ch03s08.html#file_management.dbconfig" title="3.8.4.2. Datenbank-Konfigurierung">Datenbank-Konfigurierung</a>).</p></div><div class="sect2" title="3.8.3. Anwendung"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6861"></a>3.8.3. Anwendung</h3></div></div></div><p>Die Daten werden bei den ERP-Objekten als extra Reiter
+        <a class="xref" href="ch03s08.html#file_management.dbconfig" title="3.8.4.2. Datenbank-Konfigurierung">Datenbank-Konfigurierung</a>).</p></div><div class="sect2" title="3.8.3. Anwendung"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6672"></a>3.8.3. Anwendung</h3></div></div></div><p>Die Daten werden bei den ERP-Objekten als extra Reiter
         dargestellt. Eine Verkaufsrechnung z.B. hat die Reiter "Dokumente" und
         "Dateianhänge".</p><div class="screenshot"><div class="mediaobject"><img src="images/DMS-Anhaenge.png"></div></div><p>Bei den Dateianhängen wird immer nur die aktuelle Version einer
         Datei angezeigt. Wird eine Datei mit gleichem Namen hochgeladen, so
         so sind diese z.B. bei Einkaufsrechnungen sichtbar:</p><div class="screenshot"><div class="mediaobject"><img src="images/DMS-Dokumente-Scanner.png"></div></div><p>Statt des Löschens wird hier die Datei zurück zur Quelle
         verschoben. Somit kann die Datei anschließend an ein anderes
         ERP-Objekt angehängt werden.</p><p>Derzeit sind "Titel" und "Beschreibung" noch nicht genutzt. Sie
-        sind bisher nur bei Bildern relevant.</p></div><div class="sect2" title="3.8.4. Konfigurierung"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6904"></a>3.8.4. Konfigurierung</h3></div></div></div><div class="sect3" title="3.8.4.1. Mandantenkonfiguration"><div class="titlepage"><div><div><h4 class="title"><a name="file_management.clientconfig"></a>3.8.4.1. Mandantenkonfiguration</h4></div></div></div><div class="sect4" title="3.8.4.1.1. Reiter &#34;Features&#34;"><div class="titlepage"><div><div><h5 class="title"><a name="d0e6910"></a>3.8.4.1.1. Reiter "Features"</h5></div></div></div><p>Unter dem Reiter <span class="bold"><strong>Features</strong></span>
+        sind bisher nur bei Bildern relevant.</p></div><div class="sect2" title="3.8.4. Konfigurierung"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6715"></a>3.8.4. Konfigurierung</h3></div></div></div><div class="sect3" title="3.8.4.1. Mandantenkonfiguration"><div class="titlepage"><div><div><h4 class="title"><a name="file_management.clientconfig"></a>3.8.4.1. Mandantenkonfiguration</h4></div></div></div><div class="sect4" title="3.8.4.1.1. Reiter &#34;Features&#34;"><div class="titlepage"><div><div><h5 class="title"><a name="d0e6721"></a>3.8.4.1.1. Reiter "Features"</h5></div></div></div><p>Unter dem Reiter <span class="bold"><strong>Features</strong></span>
             im Abschnitt Dateimanagement ist neben dem "alten" WebDAV das
             Dateimangement generell zu- und abschaltbar, sowie die Zuordnung
             der Dateitypen zu Backends. Die Löschbarkeit von Dateien, sowie
             die maximale Uploadgröße sind Backend-unabhängig</p><div class="screenshot"><div class="mediaobject"><img src="images/DMS-ClientConfig.png"></div></div><p>Die einzelnen Backends sind einzeln einschaltbar.
             Spezifische Backend-Konfigurierungen sind hier noch
-            ergänzbar.</p></div><div class="sect4" title="3.8.4.1.2. Reiter &#34;Allgemeine Dokumentenanhänge&#34;"><div class="titlepage"><div><div><h5 class="title"><a name="d0e6926"></a>3.8.4.1.2. Reiter "Allgemeine Dokumentenanhänge"</h5></div></div></div><p>Unter dem Reiter <span class="bold"><strong>Allgemeine
+            ergänzbar.</p></div><div class="sect4" title="3.8.4.1.2. Reiter &#34;Allgemeine Dokumentenanhänge&#34;"><div class="titlepage"><div><div><h5 class="title"><a name="d0e6737"></a>3.8.4.1.2. Reiter "Allgemeine Dokumentenanhänge"</h5></div></div></div><p>Unter dem Reiter <span class="bold"><strong>Allgemeine
             Dokumentenanhänge</strong></span> kann für alle ERP-Dokumente (
             Angebote, Aufträge, Lieferscheine, Rechnungen im Verkauf und
             Einkauf ) allgemeingültige Anhänge hochgeladen werden.</p><div class="screenshot"><div class="mediaobject"><img src="images/DMS-Allgemeine-Dokumentenanhaenge.png"></div></div><p>Diese Anhänge werden beim Generieren von PDF-Dateien an die
index 4e146dc..7586da9 100644 (file)
@@ -1,13 +1,13 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>3.9. Webshop-Api</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.6: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch03.html" title="Kapitel 3. Features und Funktionen"><link rel="prev" href="ch03s08.html" title="3.8. Dateiverwaltung (Mini-DMS)"><link rel="next" href="ch03s10.html" title="3.10. ZUGFeRD Rechnungen"></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">3.9. Webshop-Api</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s08.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 3. Features und Funktionen</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch03s10.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="3.9. Webshop-Api"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e6960"></a>3.9. Webshop-Api</h2></div></div></div><p>Das Shopmodul bietet die Möglichkeit Onlineshopartikel und
+   <title>3.9. Webshop-Api</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.6: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch03.html" title="Kapitel 3. Features und Funktionen"><link rel="prev" href="ch03s08.html" title="3.8. Dateiverwaltung (Mini-DMS)"><link rel="next" href="ch03s10.html" title="3.10. ZUGFeRD Rechnungen"></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">3.9. Webshop-Api</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s08.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 3. Features und Funktionen</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch03s10.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="3.9. Webshop-Api"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e6771"></a>3.9. Webshop-Api</h2></div></div></div><p>Das Shopmodul bietet die Möglichkeit Onlineshopartikel und
       Onlineshopbestellungen zu verwalten und zu bearbeiten.</p><p>Es ist Multishopfähig, d.h. Artikel können mehreren oder
       unterschiedlichen Shops zugeordnet werden. Bestellungen können aus
       mehreren Shops geholt werden.</p><p>Zur Zeit bietet das Modul nur einen Connector zur REST-Api von
       Shopware. Weitere Connectoren können dazu programmiert und eingerichtet
-      werden.</p><div class="sect2" title="3.9.1. Rechte für die Webshopapi"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6969"></a>3.9.1. Rechte für die Webshopapi</h3></div></div></div><p>In der Administration können folgende Rechte vergeben
-        werden</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Webshopartikel anlegen und bearbeiten</p></li><li class="listitem"><p>Shopbestellungen holen und bearbeiten</p></li><li class="listitem"><p>Shop anlegen und bearbeiten</p></li></ul></div></div><div class="sect2" title="3.9.2. Konfiguration"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6984"></a>3.9.2. Konfiguration</h3></div></div></div><p>Unter System-&gt;Webshops können Shops angelegt und konfiguriert
-        werden</p><div class="mediaobject"><img src="images/Shop_Listing.png"></div></div><div class="sect2" title="3.9.3. Webshopartikel"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6992"></a>3.9.3. Webshopartikel</h3></div></div></div><div class="sect3" title="3.9.3.1. Shopvariablenreiter in Artikelstammdaten"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6995"></a>3.9.3.1. Shopvariablenreiter in Artikelstammdaten</h4></div></div></div><p>Mit dem Recht "Shopartikel anlegen und bearbeiten" und des
+      werden.</p><div class="sect2" title="3.9.1. Rechte für die Webshopapi"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6780"></a>3.9.1. Rechte für die Webshopapi</h3></div></div></div><p>In der Administration können folgende Rechte vergeben
+        werden</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Webshopartikel anlegen und bearbeiten</p></li><li class="listitem"><p>Shopbestellungen holen und bearbeiten</p></li><li class="listitem"><p>Shop anlegen und bearbeiten</p></li></ul></div></div><div class="sect2" title="3.9.2. Konfiguration"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6795"></a>3.9.2. Konfiguration</h3></div></div></div><p>Unter System-&gt;Webshops können Shops angelegt und konfiguriert
+        werden</p><div class="mediaobject"><img src="images/Shop_Listing.png"></div></div><div class="sect2" title="3.9.3. Webshopartikel"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6803"></a>3.9.3. Webshopartikel</h3></div></div></div><div class="sect3" title="3.9.3.1. Shopvariablenreiter in Artikelstammdaten"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6806"></a>3.9.3.1. Shopvariablenreiter in Artikelstammdaten</h4></div></div></div><p>Mit dem Recht "Shopartikel anlegen und bearbeiten" und des
           Markers <span class="bold"><strong>"Shopartikel" in den Basisdaten
           </strong></span>zeigt sich der Reiter "Shopvariablen" in den
           Artikelstammdaten. Hier können jetzt die Artikel mit
           Stelle können auch beliebig viele Bilder dem Shopartikel zugeordnet
           werden. Artikelbilder gelten für alle Shops.</p><div class="mediaobject"><img src="images/Shop_Artikel.png"></div><p>Die Artikelgruppen werden direkt vom Shopsystem geholt somit
           ist es möglich einen Artikel auch mehreren Gruppen
-          zuzuordenen</p></div><div class="sect3" title="3.9.3.2. Shopartikelliste"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7008"></a>3.9.3.2. Shopartikelliste</h4></div></div></div><p>Unter dem Menu Webshop-&gt;Webshop Artikel hat man nochmal
+          zuzuordenen</p></div><div class="sect3" title="3.9.3.2. Shopartikelliste"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6819"></a>3.9.3.2. Shopartikelliste</h4></div></div></div><p>Unter dem Menu Webshop-&gt;Webshop Artikel hat man nochmal
           eine Gesamtübersicht. Von hier aus ist es möglich Artikel im Stapel
           unter verschiedenen Kriterien &lt;alles&gt;&lt;nur Preis&gt;&lt;nur
           Bestand&gt;&lt;Preis und Bestand&gt; an die jeweiligen Shops
-          hochzuladen.</p><div class="mediaobject"><img src="images/Shop_Artikel_Listing.png"></div></div></div><div class="sect2" title="3.9.4. Bestellimport"><div class="titlepage"><div><div><h3 class="title"><a name="d0e7016"></a>3.9.4. Bestellimport</h3></div></div></div><p>Unter dem Menupunkt Webshop-&gt;Webshop Import öffnet sich die
+          hochzuladen.</p><div class="mediaobject"><img src="images/Shop_Artikel_Listing.png"></div></div></div><div class="sect2" title="3.9.4. Bestellimport"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6827"></a>3.9.4. Bestellimport</h3></div></div></div><p>Unter dem Menupunkt Webshop-&gt;Webshop Import öffnet sich die
         Bestellimportsliste. Hier ist sind Möglichkeiten gegeben Neue
         Bestellungen vom Shop abzuholen, geholte Bestellungen im Stapel oder
         einzeln als Auftrag zu transferieren. Die Liste kann nach
@@ -52,7 +52,7 @@
             auch der Grund für die Auftragssperre sein.</p></li><li class="listitem"><p>Die Buttons "Auftrag erstellen" und "Kunde mit
             Rechnungsadresse überschreiben" zeigen sich erst, wenn ein Kunde
             aus dem Listing ausgewählt ist.</p></li><li class="listitem"><p>Es ist aber möglich die Shopbestellung zu löschen.</p></li><li class="listitem"><p>Ist eine Bestellung schon übernommen, zeigen sich an dieser
-            Stelle, die dazugehörigen Belegverknüpfungen.</p></li></ul></div></div><div class="sect2" title="3.9.5. Mapping der Daten"><div class="titlepage"><div><div><h3 class="title"><a name="d0e7069"></a>3.9.5. Mapping der Daten</h3></div></div></div><p>Das Mapping der kivitendo Daten mit den Shopdaten geschieht in
+            Stelle, die dazugehörigen Belegverknüpfungen.</p></li></ul></div></div><div class="sect2" title="3.9.5. Mapping der Daten"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6880"></a>3.9.5. Mapping der Daten</h3></div></div></div><p>Das Mapping der kivitendo Daten mit den Shopdaten geschieht in
         der Datei SL/ShopConnector/&lt;SHOPCONNECTORNAME&gt;.pm
         z.B.:SL/ShopConnector/Shopware.pm</p><p>In dieser Datei gibt es einen Bereich wo die Bestellpostionen,
         die Bestellkopfdaten und die Artikeldaten gemapt werden. In dieser
index 99c9db0..949375a 100644 (file)
             </p></div><div class="sect2" title="3.10.3. Erstellen von ZUGFeRD Rechnungen in Kivitendo"><div class="titlepage"><div><div><h3 class="title"><a name="features.zugferd.create_zugferd_bills"></a>3.10.3. Erstellen von ZUGFeRD Rechnungen in Kivitendo</h3></div></div></div><p>Für die Erstellung von ZUGFeRD Rechnungen bedarf es in
                        kivitendo zwei Dinge:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Die Erstellung muss in der Mandantenkonfiguration
                                        aktiviert sein</p></li><li class="listitem"><p>Beim mindestens einem Bankkonto muss die Option
-                                       „Nutzung von ZUGFeRD“ aktiviert sein</p></li></ol></div><div class="sect3" title="3.10.3.1. Mandantenkonfiguration"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7116"></a>3.10.3.1. Mandantenkonfiguration</h4></div></div></div><p>Die Einstellung für die Erstellung von ZUGFeRD Rechnungen
+                                       „Nutzung von ZUGFeRD“ aktiviert sein</p></li></ol></div><div class="sect3" title="3.10.3.1. Mandantenkonfiguration"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6927"></a>3.10.3.1. Mandantenkonfiguration</h4></div></div></div><p>Die Einstellung für die Erstellung von ZUGFeRD Rechnungen
                                erfolgt unter „System“ → „Mandatenkonfiguration“ → „Features“.
                                Im Abschnitt „Einkauf und Verkauf“ finden Sie die Einstellung
                                „Verkaufsrechnungen mit ZUGFeRD-Daten erzeugen“.
                                Hier besteht die Auswahl zwischen:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>ZUGFeRD-Rechnungen erzeugen</p></li><li class="listitem"><p>ZUGFeRD-Rechnungen im Testmodus erzeugen</p></li><li class="listitem"><p>Keine ZUGFeRD Rechnungen erzeugen</p></li></ul></div><p>Rechnungen die als PDF erzeugt werden, werden je nach
-                               Einstellung nun im ZUGFeRD Format ausgegeben.</p></div><div class="sect3" title="3.10.3.2. Konfiguration der Bankkonten"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7133"></a>3.10.3.2. Konfiguration der Bankkonten</h4></div></div></div><p>Unter „System → Bankkonten“ muss bei mindestens einem
+                               Einstellung nun im ZUGFeRD Format ausgegeben.</p></div><div class="sect3" title="3.10.3.2. Konfiguration der Bankkonten"><div class="titlepage"><div><div><h4 class="title"><a name="d0e6944"></a>3.10.3.2. Konfiguration der Bankkonten</h4></div></div></div><p>Unter „System → Bankkonten“ muss bei mindestens einem
                                Bankkonto die Option „Nutzung mit ZUGFeRD“ auf „Ja“ gestellt
                                werden.</p></div></div><div class="sect2" title="3.10.4. Einlesen von ZUGFeRD Rechnungen in Kivitendo"><div class="titlepage"><div><div><h3 class="title"><a name="features.zugferd.read_zugferd_bills"></a>3.10.4. Einlesen von ZUGFeRD Rechnungen in Kivitendo</h3></div></div></div><p>Es lassen sich auch Rechnungen von Kreditoren, die im
                        ZUGFeRD Format erstellt wurden, nach Kivitendo importieren.
index 6f8b6f0..3d5642d 100644 (file)
@@ -1,6 +1,6 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>Kapitel 4. Entwicklerdokumentation</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.6: Installation, Konfiguration, Entwicklung"><link rel="up" href="index.html" title="kivitendo 3.5.6: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch03s10.html" title="3.10. ZUGFeRD Rechnungen"><link rel="next" href="ch04s02.html" title="4.2. Entwicklung unter FastCGI"></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">Kapitel 4. Entwicklerdokumentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s10.html">Zurück</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch04s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 4. Entwicklerdokumentation"><div class="titlepage"><div><div><h2 class="title"><a name="d0e7152"></a>Kapitel 4. Entwicklerdokumentation</h2></div></div></div><div class="sect1" title="4.1. Globale Variablen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="devel.globals"></a>4.1. Globale Variablen</h2></div></div></div><div class="sect2" title="4.1.1. Wie sehen globale Variablen in Perl aus?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e7158"></a>4.1.1. Wie sehen globale Variablen in Perl aus?</h3></div></div></div><p>Globale Variablen liegen in einem speziellen namespace namens
+   <title>Kapitel 4. Entwicklerdokumentation</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.6: Installation, Konfiguration, Entwicklung"><link rel="up" href="index.html" title="kivitendo 3.5.6: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch03s10.html" title="3.10. ZUGFeRD Rechnungen"><link rel="next" href="ch04s02.html" title="4.2. Entwicklung unter FastCGI"></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">Kapitel 4. Entwicklerdokumentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s10.html">Zurück</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch04s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 4. Entwicklerdokumentation"><div class="titlepage"><div><div><h2 class="title"><a name="d0e6963"></a>Kapitel 4. Entwicklerdokumentation</h2></div></div></div><div class="sect1" title="4.1. Globale Variablen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="devel.globals"></a>4.1. Globale Variablen</h2></div></div></div><div class="sect2" title="4.1.1. Wie sehen globale Variablen in Perl aus?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e6969"></a>4.1.1. Wie sehen globale Variablen in Perl aus?</h3></div></div></div><p>Globale Variablen liegen in einem speziellen namespace namens
         "main", der von überall erreichbar ist. Darüber hinaus sind bareword
         globs global und die meisten speziellen Variablen sind...
         speziell.</p><p>Daraus ergeben sich folgende Formen:</p><div class="variablelist"><dl><dt><span class="term">
@@ -25,7 +25,7 @@
               <code class="varname">$PACKAGE::form</code>.</p></dd><dt><span class="term">
                      <code class="literal">local $form</code>
                   </span></dt><dd><p>Alle Änderungen an <code class="varname">$form</code> werden am Ende
-              des scopes zurückgesetzt</p></dd></dl></div></div><div class="sect2" title="4.1.2. Warum sind globale Variablen ein Problem?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e7259"></a>4.1.2. Warum sind globale Variablen ein Problem?</h3></div></div></div><p>Das erste Problem ist <span class="productname">FCGI</span>™.</p><p>
+              des scopes zurückgesetzt</p></dd></dl></div></div><div class="sect2" title="4.1.2. Warum sind globale Variablen ein Problem?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e7070"></a>4.1.2. Warum sind globale Variablen ein Problem?</h3></div></div></div><p>Das erste Problem ist <span class="productname">FCGI</span>™.</p><p>
                <span class="productname">SQL-Ledger</span>™ hat fast alles im globalen
         namespace abgelegt, und erwartet, dass es da auch wiederzufinden ist.
         Unter <span class="productname">FCGI</span>™ müssen diese Sachen aber wieder
@@ -39,7 +39,7 @@
         dies hat, seit der Einführung, u.a. schon so manche langwierige
         Bug-Suche verkürzt. Da globale Variablen aber implizit mit Package
         angegeben werden, werden die nicht geprüft, und somit kann sich
-        schnell ein Tippfehler einschleichen.</p></div><div class="sect2" title="4.1.3. Kanonische globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e7292"></a>4.1.3. Kanonische globale Variablen</h3></div></div></div><p>Um dieses Problem im Griff zu halten gibt es einige wenige
+        schnell ein Tippfehler einschleichen.</p></div><div class="sect2" title="4.1.3. Kanonische globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e7103"></a>4.1.3. Kanonische globale Variablen</h3></div></div></div><p>Um dieses Problem im Griff zu halten gibt es einige wenige
         globale Variablen, die kanonisch sind, d.h. sie haben bestimmte
         vorgegebenen Eigenschaften, und alles andere sollte anderweitig
         umhergereicht werden.</p><p>Diese Variablen sind im Moment die folgenden neun:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
@@ -62,7 +62,7 @@
                      <code class="varname">$::request</code>
                   </p></li></ul></div><p>Damit diese nicht erneut als Müllhalde missbraucht werden, im
         Folgenden eine kurze Erläuterung der bestimmten vorgegebenen
-        Eigenschaften (Konventionen):</p><div class="sect3" title="4.1.3.1. $::form"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7356"></a>4.1.3.1. $::form</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Ist ein Objekt der Klasse
+        Eigenschaften (Konventionen):</p><div class="sect3" title="4.1.3.1. $::form"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7167"></a>4.1.3.1. $::form</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Ist ein Objekt der Klasse
               "<code class="classname">Form</code>"</p></li><li class="listitem"><p>Wird nach jedem Request gelöscht</p></li><li class="listitem"><p>Muss auch in Tests und Konsolenscripts vorhanden
               sein.</p></li><li class="listitem"><p>Enthält am Anfang eines Requests die Requestparameter vom
               User</p></li><li class="listitem"><p>Kann zwar intern über Requestgrenzen ein Datenbankhandle
   push @{ $form-&gt;{TEMPLATE_ARRAYS}{number} },          $form-&gt;{"partnumber_$i"};
   push @{ $form-&gt;{TEMPLATE_ARRAYS}{description} },     $form-&gt;{"description_$i"};
   # ...
-}</pre></div><div class="sect3" title="4.1.3.2. %::myconfig"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7440"></a>4.1.3.2. %::myconfig</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Das einzige Hash unter den globalen Variablen</p></li><li class="listitem"><p>Wird spätestens benötigt wenn auf die Datenbank
+}</pre></div><div class="sect3" title="4.1.3.2. %::myconfig"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7251"></a>4.1.3.2. %::myconfig</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Das einzige Hash unter den globalen Variablen</p></li><li class="listitem"><p>Wird spätestens benötigt wenn auf die Datenbank
               zugegriffen wird</p></li><li class="listitem"><p>Wird bei jedem Request neu erstellt.</p></li><li class="listitem"><p>Enthält die Userdaten des aktuellen Logins</p></li><li class="listitem"><p>Sollte nicht ohne Filterung irgendwo gedumpt werden oder
               extern serialisiert werden, weil da auch der Datenbankzugriff
               für diesen user drinsteht.</p></li><li class="listitem"><p>Enthält unter anderem Datumsformat dateformat und
           überwiegend die Daten, die sich unter <span class="guimenu">Programm</span>
           -&gt; <span class="guimenuitem">Einstellungen</span> befinden, bzw. die
           Informationen über den Benutzer die über die
-          Administrator-Schnittstelle eingegeben wurden.</p></div><div class="sect3" title="4.1.3.3. $::locale"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7479"></a>4.1.3.3. $::locale</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "Locale"</p></li><li class="listitem"><p>Wird pro Request erstellt</p></li><li class="listitem"><p>Muss auch für Tests und Scripte immer verfügbar
+          Administrator-Schnittstelle eingegeben wurden.</p></div><div class="sect3" title="4.1.3.3. $::locale"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7290"></a>4.1.3.3. $::locale</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "Locale"</p></li><li class="listitem"><p>Wird pro Request erstellt</p></li><li class="listitem"><p>Muss auch für Tests und Scripte immer verfügbar
               sein.</p></li><li class="listitem"><p>Cached intern über Requestgrenzen hinweg benutzte
               Locales</p></li></ul></div><p>Lokalisierung für den aktuellen User. Alle Übersetzungen,
-          Zahlen- und Datumsformatierungen laufen über dieses Objekt.</p></div><div class="sect3" title="4.1.3.4. $::lxdebug"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7497"></a>4.1.3.4. $::lxdebug</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "LXDebug"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Muss immer verfügbar sein, in nahezu allen
+          Zahlen- und Datumsformatierungen laufen über dieses Objekt.</p></div><div class="sect3" title="4.1.3.4. $::lxdebug"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7308"></a>4.1.3.4. $::lxdebug</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "LXDebug"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Muss immer verfügbar sein, in nahezu allen
               Funktionen</p></li></ul></div><p>
                   <code class="varname">$::lxdebug</code> stellt Debuggingfunktionen
           bereit, wie "<code class="function">enter_sub</code>" und
           "<code class="function">message</code>" und "<code class="function">dump</code>" mit
           denen man flott Informationen ins Log (tmp/kivitendo-debug.log)
           packen kann.</p><p>Beispielsweise so:</p><pre class="programlisting">$main::lxdebug-&gt;message(0, 'Meine Konfig:' . Dumper (%::myconfig));
-$main::lxdebug-&gt;message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form-&gt;{vc});</pre></div><div class="sect3" title="4.1.3.5. $::auth"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7534"></a>4.1.3.5. $::auth</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "SL::Auth"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Hat eine permanente DB Verbindung zur Authdatenbank</p></li><li class="listitem"><p>Wird nach jedem Request resettet.</p></li></ul></div><p>
+$main::lxdebug-&gt;message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form-&gt;{vc});</pre></div><div class="sect3" title="4.1.3.5. $::auth"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7345"></a>4.1.3.5. $::auth</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "SL::Auth"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Hat eine permanente DB Verbindung zur Authdatenbank</p></li><li class="listitem"><p>Wird nach jedem Request resettet.</p></li></ul></div><p>
                   <code class="varname">$::auth</code> stellt Funktionen bereit um die
           Rechte des aktuellen Users abzufragen. Obwohl diese Informationen
           vom aktuellen User abhängen wird das Objekt aus
@@ -144,7 +144,7 @@ $main::lxdebug-&gt;message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form-&gt;{
           Dessen Einstellungen können über
           <code class="literal">$::auth-&gt;client</code> abgefragt werden; Rückgabewert
           ist ein Hash mit den Werten aus der Tabelle
-          <code class="literal">auth.clients</code>.</p></div><div class="sect3" title="4.1.3.6. $::lx_office_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7563"></a>4.1.3.6. $::lx_office_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
+          <code class="literal">auth.clients</code>.</p></div><div class="sect3" title="4.1.3.6. $::lx_office_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7374"></a>4.1.3.6. $::lx_office_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
               "<code class="classname">SL::LxOfficeConf</code>"</p></li><li class="listitem"><p>Global gecached</p></li><li class="listitem"><p>Repräsentation der
               <code class="filename">config/kivitendo.conf[.default]</code>-Dateien</p></li></ul></div><p>Globale Konfiguration. Configdateien werden zum Start gelesen
           und danach nicht mehr angefasst. Es ist derzeit nicht geplant, dass
@@ -154,16 +154,16 @@ $main::lxdebug-&gt;message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form-&gt;{
 file_name = /tmp/kivitendo-debug.log</pre><p>ist der Key <code class="varname">file</code> im Programm als
           <code class="varname">$::lx_office_conf-&gt;{debug}{file}</code>
           erreichbar.</p><div class="warning" title="Warnung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warnung]" src="system/docbook-xsl/images/warning.png"></td><th align="left">Warnung</th></tr><tr><td align="left" valign="top"><p>Zugriff auf die Konfiguration erfolgt im Moment über
-            Hashkeys, sind also nicht gegen Tippfehler abgesichert.</p></td></tr></table></div></div><div class="sect3" title="4.1.3.7. $::instance_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7599"></a>4.1.3.7. $::instance_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
+            Hashkeys, sind also nicht gegen Tippfehler abgesichert.</p></td></tr></table></div></div><div class="sect3" title="4.1.3.7. $::instance_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7410"></a>4.1.3.7. $::instance_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
               "<code class="classname">SL::InstanceConfiguration</code>"</p></li><li class="listitem"><p>wird pro Request neu erstellt</p></li></ul></div><p>Funktioniert wie <code class="varname">$::lx_office_conf</code>,
           speichert aber Daten die von der Instanz abhängig sind. Eine Instanz
           ist hier eine Mandantendatenbank. Beispielsweise überprüft
           </p><pre class="programlisting">$::instance_conf-&gt;get_inventory_system eq 'perpetual'</pre><p>
-          ob die berüchtigte Bestandsmethode zur Anwendung kommt.</p></div><div class="sect3" title="4.1.3.8. $::dispatcher"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7620"></a>4.1.3.8. $::dispatcher</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
+          ob die berüchtigte Bestandsmethode zur Anwendung kommt.</p></div><div class="sect3" title="4.1.3.8. $::dispatcher"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7431"></a>4.1.3.8. $::dispatcher</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
               "<code class="varname">SL::Dispatcher</code>"</p></li><li class="listitem"><p>wird pro Serverprozess erstellt.</p></li><li class="listitem"><p>enthält Informationen über die technische Verbindung zum
               Server</p></li></ul></div><p>Der dritte Punkt ist auch der einzige Grund warum das Objekt
           global gespeichert wird. Wird vermutlich irgendwann in einem anderen
-          Objekt untergebracht.</p></div><div class="sect3" title="4.1.3.9. $::request"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7638"></a>4.1.3.9. $::request</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Hashref (evtl später Objekt)</p></li><li class="listitem"><p>Wird pro Request neu initialisiert.</p></li><li class="listitem"><p>Keine Unterstruktur garantiert.</p></li></ul></div><p>
+          Objekt untergebracht.</p></div><div class="sect3" title="4.1.3.9. $::request"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7449"></a>4.1.3.9. $::request</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Hashref (evtl später Objekt)</p></li><li class="listitem"><p>Wird pro Request neu initialisiert.</p></li><li class="listitem"><p>Keine Unterstruktur garantiert.</p></li></ul></div><p>
                   <code class="varname">$::request</code> ist ein generischer Platz um
           Daten "für den aktuellen Request" abzulegen. Sollte nicht für action
           at a distance benutzt werden, sondern um lokales memoizing zu
@@ -176,20 +176,20 @@ file_name = /tmp/kivitendo-debug.log</pre><p>ist der Key <code class="varname">f
               <code class="varname">$::request</code>
                      </p></li><li class="listitem"><p>Muss ich von anderen Teilen des Programms lesend drauf
               zugreifen? Dann <code class="varname">$::request</code>, aber Zugriff über
-              Wrappermethode</p></li></ul></div></div></div><div class="sect2" title="4.1.4. Ehemalige globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e7680"></a>4.1.4. Ehemalige globale Variablen</h3></div></div></div><p>Die folgenden Variablen waren einmal im Programm, und wurden
-        entfernt.</p><div class="sect3" title="4.1.4.1. $::cgi"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7685"></a>4.1.4.1. $::cgi</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil cookie Methoden nicht als
+              Wrappermethode</p></li></ul></div></div></div><div class="sect2" title="4.1.4. Ehemalige globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e7491"></a>4.1.4. Ehemalige globale Variablen</h3></div></div></div><p>Die folgenden Variablen waren einmal im Programm, und wurden
+        entfernt.</p><div class="sect3" title="4.1.4.1. $::cgi"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7496"></a>4.1.4.1. $::cgi</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil cookie Methoden nicht als
               Klassenfunktionen funktionieren</p></li><li class="listitem"><p>Aufruf als Klasse erzeugt Dummyobjekt was im
               Klassennamespace gehalten wird und über Requestgrenzen
               leaked</p></li><li class="listitem"><p>liegt jetzt unter
               <code class="varname">$::request-&gt;{cgi}</code>
-                     </p></li></ul></div></div><div class="sect3" title="4.1.4.2. $::all_units"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7701"></a>4.1.4.2. $::all_units</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil einige Funktionen in Schleifen zum Teil
+                     </p></li></ul></div></div><div class="sect3" title="4.1.4.2. $::all_units"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7512"></a>4.1.4.2. $::all_units</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil einige Funktionen in Schleifen zum Teil
               ein paar hundert mal pro Request eine Liste der Einheiten
               brauchen, und de als Parameter durch einen Riesenstack von
               Funktionen geschleift werden müssten.</p></li><li class="listitem"><p>Liegt jetzt unter
               <code class="varname">$::request-&gt;{cache}{all_units}</code>
                      </p></li><li class="listitem"><p>Wird nur in
               <code class="function">AM-&gt;retrieve_all_units()</code> gesetzt oder
-              gelesen.</p></li></ul></div></div><div class="sect3" title="4.1.4.3. %::called_subs"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7720"></a>4.1.4.3. %::called_subs</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>wurde benutzt um callsub deep recursions
+              gelesen.</p></li></ul></div></div><div class="sect3" title="4.1.4.3. %::called_subs"><div class="titlepage"><div><div><h4 class="title"><a name="d0e7531"></a>4.1.4.3. %::called_subs</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>wurde benutzt um callsub deep recursions
               abzufangen.</p></li><li class="listitem"><p>Wurde entfernt, weil callsub nur einen Bruchteil der
               möglichen Rekursioenen darstellt, und da nie welche
               auftreten.</p></li><li class="listitem"><p>komplette recursion protection wurde entfernt.</p></li></ul></div></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03s10.html">Zurück</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch04s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">3.10. ZUGFeRD Rechnungen&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;4.2. Entwicklung unter FastCGI</td></tr></table></div></body></html>
\ No newline at end of file
index 02c19db..4dc7d02 100644 (file)
@@ -2,8 +2,8 @@
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>kivitendo 3.5.6: Installation, Konfiguration, Entwicklung</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.6: Installation, Konfiguration, Entwicklung"><link rel="next" href="ch01.html" title="Kapitel 1. Aktuelle Hinweise"></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">kivitendo 3.5.6: Installation, Konfiguration,
   Entwicklung</th></tr><tr><td width="20%" align="left">&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch01.html">Weiter</a></td></tr></table><hr></div><div lang="de" class="book" title="kivitendo 3.5.6: Installation, Konfiguration, Entwicklung"><div class="titlepage"><div><div><h1 class="title"><a name="kivitendo-documentation"></a>kivitendo 3.5.6: Installation, Konfiguration,
-  Entwicklung</h1></div></div><hr></div><div class="toc"><p><b>Inhaltsverzeichnis</b></p><dl><dt><span class="chapter"><a href="ch01.html">1. Aktuelle Hinweise</a></span></dt><dt><span class="chapter"><a href="ch02.html">2. Installation und Grundkonfiguration</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch02.html#Installation-%C3%9Cbersicht">2.1. Übersicht</a></span></dt><dt><span class="sect1"><a href="ch02s02.html">2.2. Benötigte Software und Pakete</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s02.html#Betriebssystem">2.2.1. Betriebssystem</a></span></dt><dt><span class="sect2"><a href="ch02s02.html#Pakete">2.2.2. Benötigte Perl-Pakete installieren</a></span></dt><dt><span class="sect2"><a href="ch02s02.html#d0e649">2.2.3. Andere Pakete installieren</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s03.html">2.3. Manuelle Installation des Programmpaketes</a></span></dt><dt><span class="sect1"><a href="ch02s04.html">2.4. kivitendo-Konfigurationsdatei</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s04.html#config.config-file.introduction">2.4.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#config.config-file.sections-parameters">2.4.2. Abschnitte und Parameter</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#config.config-file.prior-versions">2.4.3. Versionen vor 2.6.3</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s05.html">2.5. Anpassung der PostgreSQL-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s05.html#Zeichens%C3%A4tze-die-Verwendung-von-UTF-8">2.5.1. Zeichensätze/die Verwendung von Unicode/UTF-8</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#%C3%84nderungen-an-Konfigurationsdateien">2.5.2. Änderungen an Konfigurationsdateien</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#Erweiterung-f%C3%BCr-servergespeicherte-Prozeduren">2.5.3. Erweiterung für servergespeicherte Prozeduren</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#Erweiterung-f%C3%BCr-trigram">2.5.4. Erweiterung für Trigram Prozeduren</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#Datenbankbenutzer-anlegen">2.5.5. Datenbankbenutzer anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s06.html">2.6. Webserver-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s06.html#d0e1129">2.6.1. Grundkonfiguration mittels CGI</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#Apache-Konfiguration.FCGI">2.6.2. Konfiguration für FastCGI/FCGI</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#d0e1283">2.6.3. Authentifizierung mittels HTTP Basic Authentication</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#d0e1299">2.6.4. Aktivierung von mod_rewrite/directory_match für git basierte Installationen</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#d0e1313">2.6.5. Weitergehende Konfiguration</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s07.html">2.7. Der Task-Server</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s07.html#Konfiguration-des-Task-Servers">2.7.1. Verfügbare und notwendige Konfigurationsoptionen</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Konfiguration-der-Mandanten-fuer-den-Task-Servers">2.7.2. Konfiguration der Mandanten für den Task-Server</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Einbinden-in-den-Boot-Prozess">2.7.3. Automatisches Starten des Task-Servers beim Booten</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Prozesskontrolle">2.7.4. Wie der Task-Server gestartet und beendet wird</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Tasks konfigurieren">2.7.5. Exemplarische Konfiguration eines Hintergrund-Jobs, der die Jahreszahl in allen Nummernkreisen zum Jahreswechsel erhöht</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s08.html">2.8. Benutzerauthentifizierung und Administratorpasswort</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s08.html#Grundlagen-zur-Benutzerauthentifizierung">2.8.1. Grundlagen zur Benutzerauthentifizierung</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Administratorpasswort">2.8.2. Administratorpasswort</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Authentifizierungsdatenbank">2.8.3. Authentifizierungsdatenbank</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Passwort%C3%BCberpr%C3%BCfung">2.8.4. Passwortüberprüfung</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Name-des-Session-Cookies">2.8.5. Name des Session-Cookies</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Anlegen-der-Authentifizierungsdatenbank">2.8.6. Anlegen der Authentifizierungsdatenbank</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s09.html">2.9. Mandanten-, Benutzer- und Gruppenverwaltung</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s09.html#Zusammenh%C3%A4nge">2.9.1. Zusammenhänge</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Mandanten-Benutzer-Gruppen">2.9.2. Mandanten, Benutzer und Gruppen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Datenbanken-anlegen">2.9.3. Datenbanken anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Gruppen-anlegen">2.9.4. Gruppen anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Benutzer-anlegen">2.9.5. Benutzer anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Mandanten-anlegen">2.9.6. Mandanten anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s10.html">2.10. Drucker- und Systemverwaltung</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s10.html#Druckeradministration">2.10.1. Druckeradministration</a></span></dt><dt><span class="sect2"><a href="ch02s10.html#System">2.10.2. System sperren / entsperren</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s11.html">2.11. E-Mail-Versand aus kivitendo heraus</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s11.html#config.sending-email.sendmail">2.11.1. Versand über lokalen E-Mail-Server</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#config.sending-email.smtp">2.11.2. Versand über einen SMTP-Server</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s12.html">2.12. Drucken mit kivitendo</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s12.html#Vorlagenverzeichnis-anlegen">2.12.1. Vorlagenverzeichnis anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#Vorlagen-RB">2.12.2. Der Druckvorlagensatz RB</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#f-tex">2.12.3. f-tex</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#Vorlagen-rev-odt">2.12.4. Der Druckvorlagensatz rev-odt</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#allgemeine-hinweise-zu-latex">2.12.5. Allgemeine Hinweise zu LaTeX Vorlagen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s13.html">2.13. OpenDocument-Vorlagen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s13.html#d0e2609">2.13.1. OpenDocument (odt) Druckvorlagen mit Makros</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s14.html">2.14. Nomenklatur</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s14.html#booking.dates">2.14.1. Datum bei Buchungen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s15.html">2.15. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
+  Entwicklung</h1></div></div><hr></div><div class="toc"><p><b>Inhaltsverzeichnis</b></p><dl><dt><span class="chapter"><a href="ch01.html">1. Aktuelle Hinweise</a></span></dt><dt><span class="chapter"><a href="ch02.html">2. Installation und Grundkonfiguration</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch02.html#Installation-%C3%9Cbersicht">2.1. Übersicht</a></span></dt><dt><span class="sect1"><a href="ch02s02.html">2.2. Benötigte Software und Pakete</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s02.html#Betriebssystem">2.2.1. Betriebssystem</a></span></dt><dt><span class="sect2"><a href="ch02s02.html#Pakete">2.2.2. Benötigte Perl-Pakete installieren</a></span></dt><dt><span class="sect2"><a href="ch02s02.html#d0e649">2.2.3. Andere Pakete installieren</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s03.html">2.3. Manuelle Installation des Programmpaketes</a></span></dt><dt><span class="sect1"><a href="ch02s04.html">2.4. kivitendo-Konfigurationsdatei</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s04.html#config.config-file.introduction">2.4.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#config.config-file.sections-parameters">2.4.2. Abschnitte und Parameter</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#config.config-file.prior-versions">2.4.3. Versionen vor 2.6.3</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s05.html">2.5. Anpassung der PostgreSQL-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s05.html#Zeichens%C3%A4tze-die-Verwendung-von-UTF-8">2.5.1. Zeichensätze/die Verwendung von Unicode/UTF-8</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#%C3%84nderungen-an-Konfigurationsdateien">2.5.2. Änderungen an Konfigurationsdateien</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#Erweiterung-f%C3%BCr-servergespeicherte-Prozeduren">2.5.3. Erweiterung für servergespeicherte Prozeduren</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#Erweiterung-f%C3%BCr-trigram">2.5.4. Erweiterung für Trigram Prozeduren</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#Datenbankbenutzer-anlegen">2.5.5. Datenbankbenutzer anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s06.html">2.6. Webserver-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s06.html#d0e1129">2.6.1. Grundkonfiguration mittels CGI</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#Apache-Konfiguration.FCGI">2.6.2. Konfiguration für FastCGI/FCGI</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#d0e1283">2.6.3. Authentifizierung mittels HTTP Basic Authentication</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#d0e1299">2.6.4. Aktivierung von mod_rewrite/directory_match für git basierte Installationen</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#d0e1313">2.6.5. Weitergehende Konfiguration</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s07.html">2.7. Der Task-Server</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s07.html#Konfiguration-des-Task-Servers">2.7.1. Verfügbare und notwendige Konfigurationsoptionen</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Konfiguration-der-Mandanten-fuer-den-Task-Servers">2.7.2. Konfiguration der Mandanten für den Task-Server</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Einbinden-in-den-Boot-Prozess">2.7.3. Automatisches Starten des Task-Servers beim Booten</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Prozesskontrolle">2.7.4. Wie der Task-Server gestartet und beendet wird</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Tasks konfigurieren">2.7.5. Exemplarische Konfiguration eines Hintergrund-Jobs, der die Jahreszahl in allen Nummernkreisen zum Jahreswechsel erhöht</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s08.html">2.8. Benutzerauthentifizierung und Administratorpasswort</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s08.html#Grundlagen-zur-Benutzerauthentifizierung">2.8.1. Grundlagen zur Benutzerauthentifizierung</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Administratorpasswort">2.8.2. Administratorpasswort</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Authentifizierungsdatenbank">2.8.3. Authentifizierungsdatenbank</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Passwort%C3%BCberpr%C3%BCfung">2.8.4. Passwortüberprüfung</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Name-des-Session-Cookies">2.8.5. Name des Session-Cookies</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Anlegen-der-Authentifizierungsdatenbank">2.8.6. Anlegen der Authentifizierungsdatenbank</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s09.html">2.9. Mandanten-, Benutzer- und Gruppenverwaltung</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s09.html#Zusammenh%C3%A4nge">2.9.1. Zusammenhänge</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Mandanten-Benutzer-Gruppen">2.9.2. Mandanten, Benutzer und Gruppen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Datenbanken-anlegen">2.9.3. Datenbanken anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Gruppen-anlegen">2.9.4. Gruppen anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Benutzer-anlegen">2.9.5. Benutzer anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Mandanten-anlegen">2.9.6. Mandanten anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s10.html">2.10. Drucker- und Systemverwaltung</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s10.html#Druckeradministration">2.10.1. Druckeradministration</a></span></dt><dt><span class="sect2"><a href="ch02s10.html#System">2.10.2. System sperren / entsperren</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s11.html">2.11. E-Mail-Versand aus kivitendo heraus</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s11.html#config.sending-email.sendmail">2.11.1. Versand über lokalen E-Mail-Server</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#config.sending-email.smtp">2.11.2. Versand über einen SMTP-Server</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s12.html">2.12. Drucken mit kivitendo</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s12.html#Vorlagenverzeichnis-anlegen">2.12.1. Vorlagenverzeichnis anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#Vorlagen-RB">2.12.2. Der Druckvorlagensatz RB</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#Vorlagen-rev-odt">2.12.3. Der Druckvorlagensatz rev-odt</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#allgemeine-hinweise-zu-latex">2.12.4. Allgemeine Hinweise zu LaTeX Vorlagen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s13.html">2.13. OpenDocument-Vorlagen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s13.html#d0e2420">2.13.1. OpenDocument (odt) Druckvorlagen mit Makros</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s14.html">2.14. Nomenklatur</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s14.html#booking.dates">2.14.1. Datum bei Buchungen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s15.html">2.15. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
       EUR</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s15.html#config.eur.introduction">2.15.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s15.html#config.eur.parameters">2.15.2. Konfigurationsparameter</a></span></dt><dt><span class="sect2"><a href="ch02s15.html#config.eur.setting-parameters">2.15.3. Festlegen der Parameter</a></span></dt><dt><span class="sect2"><a href="ch02s15.html#config.eur.inventory-system-perpetual">2.15.4. Bemerkungen zur Bestandsmethode</a></span></dt><dt><span class="sect2"><a href="ch02s15.html#config.eur.knonw-issues">2.15.5. Bekannte Probleme</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s16.html">2.16. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s16.html#config.skr04-update-3804.introduction">2.16.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s16.html#config.skr04-update-3804.create-chart">2.16.2. Konto 3804 manuell anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s17.html">2.17. Verhalten des Bilanzberichts</a></span></dt><dt><span class="sect1"><a href="ch02s18.html">2.18. Erfolgsrechnung</a></span></dt><dt><span class="sect1"><a href="ch02s19.html">2.19. Rundung in Verkaufsbelegen</a></span></dt><dt><span class="sect1"><a href="ch02s20.html">2.20. Einstellungen pro Mandant</a></span></dt><dt><span class="sect1"><a href="ch02s21.html">2.21. kivitendo ERP verwenden</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch03.html">3. Features und Funktionen</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch03.html#features.periodic-invoices">3.1. Wiederkehrende Rechnungen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.introduction">3.1.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.configuration">3.1.2. Konfiguration</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.variables">3.1.3. Spezielle Variablen</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.reports">3.1.4. Auflisten</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.task-server">3.1.5. Erzeugung der eigentlichen Rechnungen</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.create-for-current-month">3.1.6. Erste Rechnung für aktuellen Monat erstellen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s02.html">3.2. Bankerweiterung</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s02.html#features.bank.introduction">3.2.1. Einführung</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s03.html">3.3. Dokumentenvorlagen und verfügbare Variablen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.einf%C3%BChrung">3.3.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.variablen-ausgeben">3.3.2. Variablen ausgeben</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.verwendung-in-druckbefehlen">3.3.3. Verwendung in Druckbefehlen</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.tag-style">3.3.4. Anfang und Ende der Tags verändern</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.zuordnung-dateinamen">3.3.5. Zuordnung von den Dateinamen zu den Funktionen</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.dateinamen-erweitert">3.3.6. Sprache, Drucker und E-Mail</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.allgemeine-variablen">3.3.7. Allgemeine Variablen, die in allen Vorlagen vorhanden
         sind</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.invoice">3.3.8. Variablen in Rechnungen</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.dunning">3.3.9. Variablen in Mahnungen und Rechnungen über Mahngebühren</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.andere-vorlagen">3.3.10. Variablen in anderen Vorlagen</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.bloecke">3.3.11. Blöcke, bedingte Anweisungen und Schleifen</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.markup">3.3.12. Markup-Code zur Textformatierung innerhalb von
-        Formularen</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.anrede">3.3.13. Hinweise zur Anrede</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s04.html">3.4. Excel-Vorlagen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s04.html#excel-templates.summary">3.4.1. Zusammenfassung</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#excel-templates.usage">3.4.2. Bedienung</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#excel-templates.syntax">3.4.3. Variablensyntax</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#excel-templates.limitations">3.4.4. Einschränkungen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s05.html">3.5. Mandantenkonfiguration Lager</a></span></dt><dt><span class="sect1"><a href="ch03s06.html">3.6. Schweizer Kontenpläne</a></span></dt><dt><span class="sect1"><a href="ch03s07.html">3.7. Artikelklassifizierung</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s07.html#d0e6704">3.7.1. Übersicht</a></span></dt><dt><span class="sect2"><a href="ch03s07.html#d0e6709">3.7.2. Basisklassifizierung</a></span></dt><dt><span class="sect2"><a href="ch03s07.html#d0e6739">3.7.3. Attribute</a></span></dt><dt><span class="sect2"><a href="ch03s07.html#d0e6770">3.7.4. Zwei-Zeichen Abkürzung</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s08.html">3.8. Dateiverwaltung (Mini-DMS)</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s08.html#d0e6782">3.8.1. Übersicht</a></span></dt><dt><span class="sect2"><a href="ch03s08.html#d0e6809">3.8.2. Struktur</a></span></dt><dt><span class="sect2"><a href="ch03s08.html#d0e6861">3.8.3. Anwendung</a></span></dt><dt><span class="sect2"><a href="ch03s08.html#d0e6904">3.8.4. Konfigurierung</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s09.html">3.9. Webshop-Api</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s09.html#d0e6969">3.9.1. Rechte für die Webshopapi</a></span></dt><dt><span class="sect2"><a href="ch03s09.html#d0e6984">3.9.2. Konfiguration</a></span></dt><dt><span class="sect2"><a href="ch03s09.html#d0e6992">3.9.3. Webshopartikel</a></span></dt><dt><span class="sect2"><a href="ch03s09.html#d0e7016">3.9.4. Bestellimport</a></span></dt><dt><span class="sect2"><a href="ch03s09.html#d0e7069">3.9.5. Mapping der Daten</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s10.html">3.10. ZUGFeRD Rechnungen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s10.html#features.zugferd.preamble">3.10.1. Vorbedingung</a></span></dt><dt><span class="sect2"><a href="ch03s10.html#features.zugferd.summary">3.10.2. Übersicht</a></span></dt><dt><span class="sect2"><a href="ch03s10.html#features.zugferd.create_zugferd_bills">3.10.3. Erstellen von ZUGFeRD Rechnungen in Kivitendo</a></span></dt><dt><span class="sect2"><a href="ch03s10.html#features.zugferd.read_zugferd_bills">3.10.4. Einlesen von ZUGFeRD Rechnungen in Kivitendo</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Entwicklerdokumentation</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch04.html#devel.globals">4.1. Globale Variablen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04.html#d0e7158">4.1.1. Wie sehen globale Variablen in Perl aus?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e7259">4.1.2. Warum sind globale Variablen ein Problem?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e7292">4.1.3. Kanonische globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e7680">4.1.4. Ehemalige globale Variablen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s02.html">4.2. Entwicklung unter FastCGI</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.general">4.2.1. Allgemeines</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.exiting">4.2.2. Programmende und Ausnahmen</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.globals">4.2.3. Globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.performance">4.2.4. Performance und Statistiken</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s03.html">4.3. Programmatische API-Aufrufe</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s03.html#dev-programmatic-api-calls.introduction">4.3.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#dev-programmatic-api-calls.client_selection">4.3.2. Wahl des Mandanten</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#dev-programmatic-api-calls.http_basic_authentication">4.3.3. HTTP-»Basic«-Authentifizierung</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#dev-programmatic-api-calls.authentication_via_parameters">4.3.4. Authentifizierung mit Parametern</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#dev-programmatic-api-calls.examples">4.3.5. Beispiele</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s04.html">4.4. SQL-Upgradedateien</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s04.html#db-upgrade-files.introduction">4.4.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s04.html#db-upgrade-files.format">4.4.2. Format der Kontrollinformationen</a></span></dt><dt><span class="sect2"><a href="ch04s04.html#db-upgrade-files.format-perl-files">4.4.3. Format von in Perl geschriebenen
+        Formularen</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#dokumentenvorlagen-und-variablen.anrede">3.3.13. Hinweise zur Anrede</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s04.html">3.4. Excel-Vorlagen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s04.html#excel-templates.summary">3.4.1. Zusammenfassung</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#excel-templates.usage">3.4.2. Bedienung</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#excel-templates.syntax">3.4.3. Variablensyntax</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#excel-templates.limitations">3.4.4. Einschränkungen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s05.html">3.5. Mandantenkonfiguration Lager</a></span></dt><dt><span class="sect1"><a href="ch03s06.html">3.6. Schweizer Kontenpläne</a></span></dt><dt><span class="sect1"><a href="ch03s07.html">3.7. Artikelklassifizierung</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s07.html#d0e6515">3.7.1. Übersicht</a></span></dt><dt><span class="sect2"><a href="ch03s07.html#d0e6520">3.7.2. Basisklassifizierung</a></span></dt><dt><span class="sect2"><a href="ch03s07.html#d0e6550">3.7.3. Attribute</a></span></dt><dt><span class="sect2"><a href="ch03s07.html#d0e6581">3.7.4. Zwei-Zeichen Abkürzung</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s08.html">3.8. Dateiverwaltung (Mini-DMS)</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s08.html#d0e6593">3.8.1. Übersicht</a></span></dt><dt><span class="sect2"><a href="ch03s08.html#d0e6620">3.8.2. Struktur</a></span></dt><dt><span class="sect2"><a href="ch03s08.html#d0e6672">3.8.3. Anwendung</a></span></dt><dt><span class="sect2"><a href="ch03s08.html#d0e6715">3.8.4. Konfigurierung</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s09.html">3.9. Webshop-Api</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s09.html#d0e6780">3.9.1. Rechte für die Webshopapi</a></span></dt><dt><span class="sect2"><a href="ch03s09.html#d0e6795">3.9.2. Konfiguration</a></span></dt><dt><span class="sect2"><a href="ch03s09.html#d0e6803">3.9.3. Webshopartikel</a></span></dt><dt><span class="sect2"><a href="ch03s09.html#d0e6827">3.9.4. Bestellimport</a></span></dt><dt><span class="sect2"><a href="ch03s09.html#d0e6880">3.9.5. Mapping der Daten</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s10.html">3.10. ZUGFeRD Rechnungen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s10.html#features.zugferd.preamble">3.10.1. Vorbedingung</a></span></dt><dt><span class="sect2"><a href="ch03s10.html#features.zugferd.summary">3.10.2. Übersicht</a></span></dt><dt><span class="sect2"><a href="ch03s10.html#features.zugferd.create_zugferd_bills">3.10.3. Erstellen von ZUGFeRD Rechnungen in Kivitendo</a></span></dt><dt><span class="sect2"><a href="ch03s10.html#features.zugferd.read_zugferd_bills">3.10.4. Einlesen von ZUGFeRD Rechnungen in Kivitendo</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Entwicklerdokumentation</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch04.html#devel.globals">4.1. Globale Variablen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04.html#d0e6969">4.1.1. Wie sehen globale Variablen in Perl aus?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e7070">4.1.2. Warum sind globale Variablen ein Problem?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e7103">4.1.3. Kanonische globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e7491">4.1.4. Ehemalige globale Variablen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s02.html">4.2. Entwicklung unter FastCGI</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.general">4.2.1. Allgemeines</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.exiting">4.2.2. Programmende und Ausnahmen</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.globals">4.2.3. Globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.performance">4.2.4. Performance und Statistiken</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s03.html">4.3. Programmatische API-Aufrufe</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s03.html#dev-programmatic-api-calls.introduction">4.3.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#dev-programmatic-api-calls.client_selection">4.3.2. Wahl des Mandanten</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#dev-programmatic-api-calls.http_basic_authentication">4.3.3. HTTP-»Basic«-Authentifizierung</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#dev-programmatic-api-calls.authentication_via_parameters">4.3.4. Authentifizierung mit Parametern</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#dev-programmatic-api-calls.examples">4.3.5. Beispiele</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s04.html">4.4. SQL-Upgradedateien</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s04.html#db-upgrade-files.introduction">4.4.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s04.html#db-upgrade-files.format">4.4.2. Format der Kontrollinformationen</a></span></dt><dt><span class="sect2"><a href="ch04s04.html#db-upgrade-files.format-perl-files">4.4.3. Format von in Perl geschriebenen
         Datenbankupgradescripten</a></span></dt><dt><span class="sect2"><a href="ch04s04.html#db-upgrade-files.dbupgrade-tool">4.4.4. Hilfsscript dbupgrade2_tool.pl</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s05.html">4.5. Translations and languages</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s05.html#translations-languages.introduction">4.5.1. Introduction</a></span></dt><dt><span class="sect2"><a href="ch04s05.html#translations-languages.character-set">4.5.2. Character set</a></span></dt><dt><span class="sect2"><a href="ch04s05.html#translations-languages.file-structure">4.5.3. File structure</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s06.html">4.6. Die kivitendo-Test-Suite</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s06.html#devel.testsuite.intro">4.6.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s06.html#devel.testsuite.prerequisites">4.6.2. Voraussetzungen</a></span></dt><dt><span class="sect2"><a href="ch04s06.html#devel.testsuite.execution">4.6.3. Existierende Tests ausführen</a></span></dt><dt><span class="sect2"><a href="ch04s06.html#devel.testsuite.meaning_of_scripts">4.6.4. Bedeutung der verschiedenen Test-Scripte</a></span></dt><dt><span class="sect2"><a href="ch04s06.html#devel.testsuite.create_new">4.6.5. Neue Test-Scripte erstellen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s07.html">4.7. Stil-Richtlinien</a></span></dt><dt><span class="sect1"><a href="ch04s08.html">4.8. Dokumentation erstellen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s08.html#devel.build-doc.introduction">4.8.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s08.html#devel.build-doc.required-software">4.8.2. Benötigte Software</a></span></dt><dt><span class="sect2"><a href="ch04s08.html#devel.build-doc.build">4.8.3. PDFs und HTML-Seiten erstellen</a></span></dt><dt><span class="sect2"><a href="ch04s08.html#devel.build-doc.repository">4.8.4. Einchecken in das Git-Repository</a></span></dt></dl></dd></dl></dd></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch01.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right" valign="top">&nbsp;Kapitel 1. Aktuelle Hinweise</td></tr></table></div></body></html>
\ No newline at end of file
index a1da11d..79af8e8 100644 (file)
Binary files a/doc/kivitendo-Dokumentation.pdf and b/doc/kivitendo-Dokumentation.pdf differ
index 95a93c9..db4ae24 100755 (executable)
@@ -146,9 +146,28 @@ exit !!@missing_modules;
 sub check_latex {
   my ($res) = check_kpsewhich();
   print_result("Looking for LaTeX kpsewhich", $res);
+
+  # no pdfx -> no zugferd possible
+  my $ret = kpsewhich('template/print/', 'sty', 'pdfx');
+  die "Cannot use pdfx. Please install this package first (debian: apt install texlive-latex-extra)"  if $ret;
+  # check version 2018
+  my $latex = $::lx_office_conf{applications}->{latex} || 'pdflatex';
+  my $pdfx = (system ${latex} . ' --interaction=batchmode "\documentclass{minimal} \RequirePackage{pdfx} \csname @ifpackagelater\endcsname{pdfx}{2018/12/22}{}{\show\relax} \begin{document} \end{document}"');
+
+  print_result ("Looking for pdfx version 2018 or higher", !$pdfx);
+  push @missing_modules, \(name => 'pdfx') if $pdfx;
+
   if ($res) {
     check_template_dir($_) for SL::InstallationCheck::template_dirs($master_templates);
   }
+  print STDERR <<EOL if $pdfx;
++------------------------------------------------------------------------------+
+  Your pdfx version is too old. You cannot use ZuGFeRD or modern (2018+)
+  templates. Please consider using a more recent LaTeX environment.
+  Verify with:
+  pdflatex --interaction=batchmode "\RequirePackage{pdfx}[2018/12/22]"
++------------------------------------------------------------------------------+
+EOL
 }
 
 sub check_template_dir {
@@ -160,7 +179,7 @@ sub check_template_dir {
 
   my @sty = sort { $a cmp $b } uniq (
     SL::InstallationCheck::classes_from_latex($path, '\usepackage'),
-    qw(textcomp ulem pdfx embedfile)
+    qw(textcomp ulem embedfile)
   );
   kpsewhich($path, 'sty', $_) for @sty;
 }
diff --git a/templates/print/f-tex/bin_list.html b/templates/print/f-tex/bin_list.html
deleted file mode 100644 (file)
index d57632d..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-<body bgcolor=ffffff>
-
-<table width=100%>
-  <tr>
-    <td width=10>&nbsp;</td>
-    
-    <td>
-      <table width=100%>
-       <tr>
-         <td>
-           <h4>
-           <%company%>
-           <br><%address%>
-           </h4>
-         </td>
-         
-         <th><img src=http://localhost/lx-erp/lx-office-erp.png border=0 width=64 height=58></th>
-
-         <th align=right>
-           <h4>
-           Tel: <%tel%>
-           <br>Fax: <%fax%>
-           </h4>
-         </td>
-       </tr>
-       
-       <tr>
-         <th colspan=3>
-           <h4>L A G E R L I S T E</h4>
-         </th>
-       </tr>
-      </table>
-    </td>
-  </tr>
-
-  <tr>
-    <td>&nbsp;</td>
-
-    <td>
-      <table width=100% cellspacing=0 cellpadding=0>
-       <tr bgcolor=000000>
-         <th align=left width=50%><font color=ffffff>Absender</th>
-         <th align=left width=50%><font color=ffffff>Lieferanschrift</th>
-       </tr>
-
-       <tr valign=top>
-         <td><%name%>
-         <br><%street%>
-         <br><%zipcode%>
-         <br><%city%>
-         <br><%country%>
-         <br>
-
-         <%if contact%>
-         <br>Kontakt: <%contact%>
-         <%end contact%>
-
-         <%if vendorphone%>
-         <br>Tel: <%vendorphone%>
-         <%end vendorphone%>
-
-         <%if vendorfax%>
-         <br>Fax: <%vendorfax%>
-         <%end vendorfax%>
-
-         <%if email%>
-         <br><%email%>
-         <%end email%>
-         
-         </td>
-         
-         <td><%shiptoname%>
-         <br><%shiptostreet%>
-         <br><%shiptozipcode%>
-         <br><%shiptocity%>
-         <br><%shiptocountry%>
-
-         <br>
-         <%if shiptocontact%>
-         <br>Kontakt: <%shiptocontact%>
-         <%end shiptocontact%>
-         
-         <%if shiptophone%>
-         <br>Tel: <%shiptophone%>
-         <%end shiptophone%>
-
-         <%if shiptofax%>
-         <br>Fax: <%shiptofax%>
-         <%end shiptofax%>
-         </td>
-       </tr>
-      </table>
-    </td>
-  </tr>
-
-  <tr height=5></tr>
-
-  <tr>
-    <td>&nbsp;</td>
-
-    <td>
-      <table width=100% border=1>
-       <tr>
-         <th width=17% align=left nowrap>BestellNr. #</th>
-         <th width=17% align=left nowrap>Datum</th>
-         <th width=17% align=left nowrap>Kontakt</th>
-         <%if warehouse%>
-         <th width=17% align=left nowrap>Lager</th>
-         <%end warehouse%>
-         <th width=17% align=left>Versandort</th>
-         <th width=15% align=left>Lieferung durch</th>
-       </tr>
-
-       <tr>
-         <td><%ordnumber%>&nbsp;</td>
-
-         <%if shippingdate%>
-         <td><%shippingdate%></td>
-         <%end shippingdate%>
-
-         <%if not shippingdate%>
-         <td><%orddate%></td>
-         <%end shippingdate%>
-
-         <td><%employee%>&nbsp;</td>
-
-         <%if warehouse%>
-         <td><%warehouse%></td>
-         <%end warehouse%>
-
-         <td><%shippingpoint%>&nbsp;</td>
-         <td><%shipvia%>&nbsp;</td>
-       </tr>
-      </table>
-    </td>
-  </tr>
-
-  <tr>
-    <td>&nbsp;</td>
-
-    <td>
-      <table width=100%>
-       <tr bgcolor=000000>
-         <th align=left><font color=ffffff>Pos</th>
-         <th align=left><font color=ffffff>ArtNr.</th>
-         <th align=left><font color=ffffff>Beschreibung</th>
-         <th><font color=ffffff>Seriennummer</th>
-         <th>&nbsp;</th>
-         <th><font color=ffffff>Menge</th>
-         <th><font color=ffffff>Erh</th>
-         <th>&nbsp;</th>
-         <th><font color=ffffff>Lagerplatz</th>
-       </tr>
-
-       <%foreach number%>
-       <tr valign=top>
-         <td><%runningnumber%></td>
-         <td><%number%></td>
-         <td><%description%></td>
-         <td><%serialnumber%></td>
-         <td><%deliverydate%></td>
-         <td align=right><%qty%></td>
-         <td align=right><%ship%></td>
-         <td><%unit%></td>
-         <td><%bin%></td>
-       </tr>
-       <%end number%>
-
-      </table>
-    </td>
-  </tr>
-
-  <tr>
-    <td>&nbsp;</td>
-
-    <td><hr noshade></td>
-  </tr>
-
-</table>
-
diff --git a/templates/print/f-tex/default.tex b/templates/print/f-tex/default.tex
deleted file mode 100644 (file)
index 07def34..0000000
+++ /dev/null
@@ -1,568 +0,0 @@
-% ----------------------------------------------------------
-%  letter.tex
-%  Globale Vorlage fuer Briefartige Documente LX-Office 2.6
-%
-%  Changelog: see gitlog
-   \newcommand{\ftLetterVersion}{1.2-u  (05.12.2012)}
-%
-%  Lizenz
-%  http://www.gnu.de/licenses/gpl-3.0.html
-%
-%  Siehe ./README
-%
-%  Autor: Wulf Coulmann scripts_at_gpl.coulmann.de
-%  Aufgebaut auf invoice.tex 0.1 kmk@lilalaser.de
-%
-% ----------------------------------------------------------
-
-\documentclass[letter,fontsize=11pt]{scrlttr2}
-
-
-\begingroup
-  \makeatletter
-  \@latex@warning@no@line{ #### this is default.tex \ftLetterVersion #####}
-\endgroup
-
-
-\usepackage{ifpdf}
-\usepackage{graphicx}
-\usepackage{german}
-\usepackage{textcomp}
-\usepackage{lastpage}
-\usepackage{filecontents}
-\usepackage{etex}
-\usepackage{ltxtable}
-\usepackage{tabularx}
-\usepackage{longtable}
-\usepackage{booktabs}
-\usepackage{numprint}
-\usepackage{xstring}
-\newcommand{\leer}{}
-\usepackage{zwischensumme}
-\ifthenelse{\isundefined{\employeecountry}}{\input{mydata}}{}
-
-%% meta infos
-\newcommand{\docname}{<%template_meta.formname NOESCAPE%>}
-\newcommand{\TemplateMetaLanguageDescription}{<%template_meta.language.description NOESCAPE%>}
-\newcommand{\LangCode}{<%template_meta.language.template_code NOESCAPE%>}
-\newcommand{\TemplateMetaLanguageOutputNumberformat}{<%template_meta.language.output_numberformat NOESCAPE%>}
-\newcommand{\TemplateMetaLanguageOutputDateformat}{<%template_meta.language.output_dateformat NOESCAPE%>}
-\newcommand{\TemplateMetaFormat}{<%template_meta.format NOESCAPE%>}
-\newcommand{\TemplateMetaExtension}{<%template_meta.extension NOESCAPE%>}
-\newcommand{\TemplateMetaMedia}{<%template_meta.media NOESCAPE%>}
-\newcommand{\TemplateMetaPrinterDescription}{<%template_meta.printer.description NOESCAPE%>}
-\newcommand{\TemplateMetaPrinterTemplateCode}{<%template_meta.printer.template_code NOESCAPE%>}
-
-%%%%%%%%% Report-Variablen umsetzen, damit latex sie in lxbriefkopf.tex sieht.
-%%%% Die eigenen Daten
-\newcommand{\employeename}{<%employee_name%>}
-\newcommand{\employeecompany}{<%employee_company%>}
-\newcommand{\employeeaddress}{<%employee_address%>}
-\newcommand{\employeetel}{<%employee_tel%>}
-\newcommand{\employeefax}{<%employee_fax%>}
-\newcommand{\employeecoustid}{<%employee_co_ustid%>}
-\newcommand{\employeetaxnumber}{<%employee_taxnumber%>}
-\newcommand{\media}{<%media%>}
-
-
-%%%% Adressat
-\newcommand{\name}{<%name%>}
-\newcommand{\Shipname}{\ifthenelse{\equal{<%shiptoname%>}{\leer}}{<%name%>}{<%shiptoname%>}}
-\newcommand{\departmentone}{<%department_1%>}
-\newcommand{\departmenttwo}{<%department_2%>}
-\newcommand{\cpgreeting}{<%cp_greeting%>}
-\newcommand{\cptitle}{<%cp_title%>}
-\newcommand{\cpgivenname}{<%cp_givenname%>}
-\newcommand{\cpname}{<%cp_name%>}
-\newcommand{\street}{<%street%>}
-\newcommand{\Shipstreet}{\ifthenelse{\equal{<%shiptostreet%>}{\leer}}{<%street%>}{<%shiptostreet%>}}
-\newcommand{\country}{<%country%>}
-\newcommand{\Shipcountry}{<%shiptocountry%>}
-\newcommand{\UstId}{<%ustid%>}
-\newcommand{\zipcode}{<%zipcode%>}
-\newcommand{\Shipzipcode}{\ifthenelse{\equal{<%shiptozipcode%>}{\leer}}{<%zipcode%>}{<%shiptozipcode%>}}
-\newcommand{\city}{<%city%>}
-\newcommand{\Shipcity}{\ifthenelse{\equal{<%shiptocity%>}{\leer}}{<%city%>}{<%shiptocity%>}}
-\newcommand{\phone}{<%customerphone%>}
-\newcommand{\fax}{<%customerfax%>}
-
-%%%% Variablen, die sich auf das ganze Dokument beziehen
-\newcommand{\kundennummer}{<%customernumber%>}
-\newcommand{\vendornumber}{<%vendornumber%>}
-\newcommand{\quonumber}{<%quonumber%>}                     % Angebotsnummer
-\newcommand{\ordnumber}{<%ordnumber%>}                     % Auftragsnummer bei uns
-\newcommand{\cusordnumber}{<%cusordnumber%>}               % Auftragsnummer beim Kunden
-\newcommand{\invnumber}{<%invnumber%>}                     % Rechnungsnummer
-\newcommand{\donumber}{<%donumber%>}                       % Lieferscheinnummer
-%\newcommand{\docnumber}{Rechnungsnummer: \invnumber}
-\newcommand{\quodate}{<%quodate%>}                         % Angebotsdatum
-\newcommand{\orddate}{<%orddate%>}                         % Auftragsdatum
-\newcommand{\reqdate}{<%reqdate%>}                         % gewuenschtes Lieferdatum
-\newcommand{\deliverydate}{<%deliverydate%>}                % Lieferdatum
-\newcommand{\invdate}{<%invdate%>}                         % Rechnungsdatum
-\newcommand{\transdate}{<%transdate%>}                     % Lieferscheindatum
-\newcommand{\terms}{<%terms%>}                             % Zahlungsfrist
-\newcommand{\duedate}{<%duedate%>}                         % Fälligkeitsdatum
-\newcommand{\invtotal}{<%invtotal NOFORMAT%>}              % Gesamtbetrag
-\newcommand{\paid}{<%paid NOFORMAT%>}                      % Schon bezahlt
-\newcommand{\total}{<%total NOFORMAT%>}                    % Restbetrag
-\newcommand{\subtotal}{<%subtotal NOFORMAT%>}              % Restbetrag
-\newcommand{\paymentterms}{<%payment_terms%>}              % Zahlungsbedingungen
-\newcommand{\paymentPrivatEnd}{E}                          % Endung bei Privatkunden
-\newcommand{\paymenttype}{<%payment_description%>}         % name der Zahlungs-art - fuer Steuerung brutto/netto
-
-
-%%%% Lieferadresse
-\newcommand{\shiptoname}{<%shiptoname%>}
-\newcommand{\shiptocontact}{<%shiptocontact%>}
-\newcommand{\shiptodepartmentone}{<%shiptodepartment_1%>}
-\newcommand{\shiptodepartmenttwo}{<%shiptodepartment_2%>}
-\newcommand{\shiptostreet}{<%shiptostreet%>}
-\newcommand{\shiptocity}{<%shiptocity%>}
-\newcommand{\shiptocountry}{<%shiptocountry%>}
-\newcommand{\shiptophone}{<%shiptophone%>}
-\newcommand{\shiptozipcode}{<%shiptozipcode%>}
-\newcommand{\shiptofax}{<%shiptofax%>}
-
-%%%% Die Waehrungsvariable in Waehrunszeichen umsetzen
-\newcommand{\currency}{<%currency%>}
-\ifthenelse{\equal{\currency}{EUR}}{\let\currency\euro}{}
-\ifthenelse{\equal{\currency}{YEN}}{\let\currency\textyen}{}
-\ifthenelse{\equal{\currency}{GBP}}{\let\currency\pounds}{}
-\ifthenelse{\equal{\currency}{USD}}{\let\currency\$}{}
-
-%%%%%%%%%%%%% Ende Reportvariablen-Umsetzung
-
-\newcommand{\NoValue}{0}
-\newcommand{\Picklist}{0}
-\newcommand{\PurchaseOrder}{0}
-\newcommand{\trash}{0}
-\newcommand{\nonemptyline}[2]{\ifthenelse{\equal{#2}{\leer}}{}{#1#2~\\}}
-\newcommand{\MyAdress}{\IfStrEq{\docname}{sales_delivery_order}{\Shipname~\\
-  % lieferadresse wenn Lieferschein
-    \nonemptyline{\cpgreeting{ }\cpgivenname{ }}{\cpname}
-    \nonemptyline{}{\departmentone}
-    \Shipstreet ~\\
-    \Shipzipcode{ }\Shipcity
-    \ifthenelse{\equal{\Shipcountry}{\employeecountry}}{}{~\\ \Shipcountry}   % Laenderangabe wird nur gedruckt,
-    ~                                             % wenn der Empfaenger nicht im eigenen Land sitzt.
-  }{
-    \name~\\
-    \nonemptyline{\cpgreeting{ }\cpgivenname{ }}{\cpname}
-    \nonemptyline{}{\departmentone}
-    \street ~\\
-    \zipcode{ }\city
-    \ifthenelse{\equal{\country} {\employeecountry}}{}{
-         \ifthenelse{\equal{\country}{\leer}}{}{ ~\\ \country} } % Laenderangabe wird nur gedruckt,
-    ~                                           % wenn der Empfaenger nicht im eigenen Land sitzt.
-  }
-}
-
-
-
-\begin{document}
-
-%%% dei folgenden Funktionen lesen den Dokumentennamen aus und _muessen_nach_ \begin{dokument} stehen.
-
-% ==== statische Begriffe in der aktuellen Sprache einlesen
-\input{translations}
-
-
-\ifthenelse{\bgPdfEmailOnly = 1 }{
-  \ifthenelse{\equal{\media}{email}}{
-  }{
-    \firsthead{}
-    \watermark{}
-  }
-}{}
-
-
-% ==== dokumenttyp ermitteln
-\IfStrEq{\docname}{pick_list}{
-  % Sammelliste
-  \setkomavar{backaddress}{\DeliveryAddress}
-  \firsthead{
-      \hspace{-3mm}
-     \resizebox{\useplength{firstheadwidth}-50mm}{!}{%
-           \huge \TitlePicklist
-    }
-  }
-  \renewcommand{\NoValue}{1}
-  \renewcommand{\Picklist}{1}
-  \newcommand{\doctype}{}
-  \newcommand{\MyDocdate}{\transdate}
-  \newcommand{\DocNoTitle}{\DelorderNumber}
-  \newcommand{\docnumber}{\donumber}
-  \renewcommand{\deliverydate}{\transdate}
-  % 2. Documentnummer
-    \ifthenelse{\equal{\ordnumber}{\leer}}{
-    % wenn keine Auftragsnummer -> Angebotsnummer
-      \newcommand{\SecNoTitle}{\QuotationNumber}
-      \newcommand{\secnumber}{\quonumber}
-    }{
-      \newcommand{\SecNoTitle}{\OrderNumber}
-      \newcommand{\secnumber}{\ordnumber}
-    }
-}{}
-\IfStrEq{\docname}{sales_delivery_order}{
-  % Lieferschein
-  \renewcommand{\NoValue}{1}
-  \newcommand{\doctype}{\TitleDelorder}
-  \newcommand{\MyDocdate}{\transdate}
-  \newcommand{\DocNoTitle}{\DelorderNumber}
-  \newcommand{\docnumber}{\donumber}
-  \renewcommand{\deliverydate}{\transdate}
-  % 2. Documentnummer
-    \ifthenelse{\equal{\ordnumber}{\leer}}{
-    % wenn keine Auftragsnummer -> Angebotsnummer
-      \newcommand{\SecNoTitle}{\QuotationNumber}
-      \newcommand{\secnumber}{\quonumber}
-    }{
-      \newcommand{\SecNoTitle}{\OrderNumber}
-      \newcommand{\secnumber}{\ordnumber}
-    }
-}{}
-\IfStrEq{\docname}{invoice}{
-  % Rechnung
-  \newcommand{\doctype}{\TitleInv}
-  \newcommand{\MyDocdate}{\invdate}
-  \newcommand{\DocNoTitle}{\InvNumber}
-  \newcommand{\docnumber}{\invnumber}
-  % 2. Documentnummer
-    \ifthenelse{\equal{\ordnumber}{\leer}}{
-    % wenn keine Auftragsnummer -> Angebotsnummer
-      \newcommand{\SecNoTitle}{\QuotationNumber}
-      \newcommand{\secnumber}{\quonumber}
-    }{
-      \newcommand{\SecNoTitle}{\OrderNumber}
-      \newcommand{\secnumber}{\ordnumber}
-    }
-}{}
-\IfStrEq{\docname}{proforma}{
-  \newcommand{\doctype}{\TitleProforma}
-  \newcommand{\MyDocdate}{\invdate}
-  \newcommand{\DocNoTitle}{\InvNumber}
-  \newcommand{\docnumber}{\invnumber}
-  % 2. Documentnummer
-    \ifthenelse{\equal{\ordnumber}{\leer}}{
-    % wenn keine Auftragsnummer -> Angebotsnummer
-      \newcommand{\SecNoTitle}{\QuotationNumber}
-      \newcommand{\secnumber}{\quonumber}
-    }{
-      \newcommand{\SecNoTitle}{\OrderNumber}
-      \newcommand{\secnumber}{\ordnumber}
-    }
-}{}
-\IfStrEq{\docname}{purchase_order}{
-  \renewcommand{\PurchaseOrder}{1}
-  \newcommand{\doctype}{\TitlePurchaseOrder}
-  \newcommand{\MyDocdate}{\orddate}
-  \newcommand{\DocNoTitle}{\RequestOrderNumber}
-  \newcommand{\docnumber}{\ordnumber}
-  \renewcommand{\deliverydate}{\reqdate}
-  \renewcommand{\DelDate}{\ReqByTitle}
-  \renewcommand{\CustomerID}{\VendorID}
-  \renewcommand{\kundennummer}{\vendornumber}
-  \newcommand{\SecNoTitle}{}
-  \newcommand{\secnumber}{}
-}{}
-\IfStrEq{\docname}{credit_note}{
-  \newcommand{\doctype}{\TitleCreditNote}
-  \newcommand{\MyDocdate}{\invdate}
-  \newcommand{\DocNoTitle}{\CredNumber}
-  \newcommand{\docnumber}{\invnumber}
-  % keine 2. Documentnummer
-    \newcommand{\SecNoTitle}{}
-    \newcommand{\secnumber}{}
-}{}
-\IfStrEq{\docname}{sales_order}{
-  % Auftragsbestaetigung
-  \newcommand{\doctype}{\TitleSalesOrder}
-  \newcommand{\MyDocdate}{\orddate}
-  \renewcommand{\deliverydate}{\reqdate}
-  \newcommand{\DocNoTitle}{\OrderNumber}
-  \newcommand{\docnumber}{\ordnumber}
-  % 2. Documentnummer
-    \ifthenelse{\equal{\ordnumber}{\leer}}{
-    % wenn keine Angebotsnummer -> leer
-      \newcommand{\SecNoTitle}{}
-      \newcommand{\secnumber}{}
-    }{
-      \newcommand{\SecNoTitle}{\QuotationNumber}
-      \newcommand{\secnumber}{\quonumber}
-    }
-}{ }
-\IfStrEq{\docname}{sales_quotation}{
-  % Angebot
-  \newcommand{\doctype}{\TitleSalesQuotation}
-  \newcommand{\MyDocdate}{\quodate}
-  \renewcommand{\DelDate}{\ValidUntil}
-  \renewcommand{\deliverydate}{\reqdate}
-  \newcommand{\DocNoTitle}{\QuotationNumber}
-  \newcommand{\docnumber}{\quonumber}
-  % 2. Documentnummer
-    \newcommand{\SecNoTitle}{}
-    \newcommand{\secnumber}{}
-}{ }
-
-
-
-% ==== \paid auf 0.00 falls leer
-\IfSubStr{\paid}{\DecimalSign}{}{\renewcommand{\paid}{0{\DecimalSign}00}}
-
-
-
-\setkomavar{date}{}
-
-
-\begin{letter}{{\ifthenelse{\isnamedefined{MyAdressfield}}{\MyAdressfield
-  }{\MyAdress
-  }}
-}
-\opening{}
-
-%========Datum und Nummern====================================================
-
-\newcommand{\DocId}{
-  \begin{tabular*}{\textwidth+1em }{@{\extracolsep{\fill}}llllr}
-    \MakeUppercase{\tiny \DocNoTitle} &
-    \MakeUppercase{\tiny \CustomerID} &
-    \MakeUppercase{\tiny \SecNoTitle } &
-    \MakeUppercase{\tiny \DelDate }   &
-    \MakeUppercase{\tiny \Date}~\\
-    \mainfont\docnumber      &
-    \mainfont\kundennummer   &
-    \mainfont\secnumber   &
-    \mainfont\deliverydate  &
-    \mainfont\MyDocdate~\\
-\end{tabular*}  ~\\
-}
-
-\hspace{-0.5em} \DocId
-
-
-
-
-\nexthead{
-  \ifthenelse{\bgPdfFirstPageOnly = 1 }{
-    \hspace{-4mm}  \DocId
-  }{}
-}
-\vspace{ 5mm}
-
-{\noindent\textbf\doctype}~\\
-\IfEndWith{\paymenttype}{\paymentPrivatEnd}{\PriceInclTax }{ }
-
-
-%======Die eigentliche-Tabelle========================================
-
-% temporaere Datei mit Tabelle anlegen
-\begin{filecontents}{<%template_meta.tmpfile NOESCAPE%>.table.tex}
-\mainfont
-\resetlaufsumme
-
-
-
-  \ifthenelse{\NoValue > 0 }
-  { % Tabelle ohne Preisen
-    \ifthenelse{\Picklist = 1 }{
-
-    \begin{longtable}{@{}rlX@{ }rlrrrl@{}}
-     }{
-    \begin{longtable}{@{}rlX@{ }rlrr@{}}
-
-     }
-      % Kopfzeile der Tabelle
-
-        {\Pos} &
-        {\Number} &
-        {\ItemNo} &
-        {\Count} &
-        {\Unit} \hspace{2mm}
-        \ifthenelse{\Picklist = 1 }{& {\Take} & {\Storage} }{}
-        ~\\
-        \midrule
-      \endfirsthead
-
-      % Tabellenkopf nach dem Umbruch
-        {\Pos} &
-        {\Number} &
-        {\ItemNo} &
-        {\Count} &
-        {\Unit} \hspace{2mm}
-        \ifthenelse{\Picklist = 1 }{& {\Take} & {\Storage} }{}
-        ~\\
-
-        \midrule
-      \endhead
-
-      <%foreach number%>
-        <%runningnumber%>                        % Laufende Positionsnummer
-        &
-        <%number%>                               % Artikelnummer
-        &
-        <%description%>                           % Kurzbeschreibung des Artikels
-        \ifthenelse{\equal{<%longdescription%>}{\leer}}{}{ \newline <%longdescription%>}
-        % Ein zeilenweises Auslieferdatum, wenn es gesetzt bei der Position hinterlegt ist.
-        \ifthenelse{\equal{<%deliverydate_oe%>}{\leer}}{}{
-                \newline \DelDate:~<%deliverydate_oe%>}
-        &
-        <%qty NOFORMAT%>                 % Menge
-        &
-        <%unit%>               % Einheit
-        %\ifthenelse{\Picklist = 1 }{& {x} & {x} }{}
-        %\ifthenelse{\Picklist = 1 }{& {x} & {x} \hhline{~~~~~--} }{~\\}
-        \ifthenelse{\Picklist = 1 }{& {\underline{;~~~~~~~~~}} & {\underline{;~~~~~~~~~}}~\\ }{~\\}
-        %~\\ %
-      <%end number%>
-    \end{longtable}     % Ende der zentralen Tabelle
-  }{ % Tabelle mit Preisen
-    \begin{longtable}{@{}rlX@{ }rlrrr@{}}
-      % Kopfzeile der Tabelle
-
-        {\Pos} &
-        {\Number} &
-        {\ItemNo} &
-        {\Count} &
-        {\Unit} &
-        {\Fee} &
-        {\Dis} &
-        {\Total} \hspace{2mm} ~\\
-        \midrule
-      \endfirsthead
-
-      % Tabellenkopf nach dem Umbruch
-        {\Pos} &
-        {\Number} &
-        {\ItemNo} &
-        {\Count} &
-        {\Unit} &
-        {\Fee} &
-        {\Dis} &
-        {\Total} \hspace{2mm} ~\\
-        \midrule
-        \multicolumn{7}{r}{ \rule{0mm}{5mm} \TabCarry{:} \MarkZwsumPos}
-      \endhead
-
-
-      % Fuss der Teiltabellen
-        \multicolumn{7}{r}{ \rule{0mm}{5mm} \TabSubTotal{:} \MarkZwsumPos } ~\\
-      \endfoot
-
-      % Das Ende der Tabelle
-        \midrule
-        \multicolumn{7}{r}{ \rule{0mm}{5mm} \TabSubTotal{:} \MarkZwsumPos} ~\\
-      \endlastfoot
-
-      <%foreach number%>
-        <%runningnumber%>                        % Laufende Positionsnummer
-        &
-        <%number%>                               % Artikelnummer
-        &
-        <%description%>                           % Kurzbeschreibung des Artikels
-        \ifthenelse{\equal{<%longdescription%>}{\leer}}{}{ \newline <%longdescription%>}
-        % Ein zeilenweises Auslieferdatum, wenn es gesetzt ist.
-        \ifthenelse{\equal{<%reqdate%>}{\leer}}{}{
-                \newline \DelDate:~<%reqdate%>}
-        &
-        <%qty NOFORMAT%>         % Menge
-        &
-        <%unit%>              % Einheit
-        &
-        %\IfEndWith{\paymentterms}{_e}{EN}{\brutto{<%sellprice NOFORMAT%>}{<%qty NOFORMAT%>}{<%p_discount%>}}
-        \IfEndWith{\paymenttype}{\paymentPrivatEnd}{
-            \BruttoSellPrice{<%sellprice NOFORMAT%>}{<%tax_rate%>}
-            &
-            \ifthenelse{\equal{<%p_discount%>}{0}}{}{ -<%p_discount%>\%}
-            &
-            \BruttoWert{<%linetotal NOFORMAT%>}{<%tax_rate%>}
-        }{
-            \numprint{<%sellprice NOFORMAT%>}
-            &
-            \ifthenelse{\equal{<%p_discount%>}{0}}{}{ -<%p_discount%>\%}
-            &
-            \Wert{<%linetotal NOFORMAT%>} % Zeilensumme addieren
-        }
-        ~\\ %
-      <%end number%>
-    \end{longtable}     % Ende der zentralen Tabelle
-  }
-\end{filecontents}  % Ende der Hilfsdatei.
-
-\LTXtable{\textwidth}{<%template_meta.tmpfile NOESCAPE%>.table.tex}
-
-\rule{\textwidth}{0pt}   % Ein (unsichtbarer) Strich quer ueber die Seite
-\vspace{ 5mm}
-\vspace{-2em plus 10em minus 2em}~\\
-\ifthenelse{\NoValue > 0 }
-{ % wenn keine Zahlen
-}{ % Wenn Zahlen
-  \parbox{\textwidth}{
-    \mainfont
-    %
-    %
-    \setlength{\tabcolsep}{0.2em}
-    \ifthenelse{\equal{\paid}{0{\DecimalSign}00} }
-    {  % Wenn noch nichts gezahlt wurde
-       \IfSubStr{\invtotal}{\DecimalSign}{}{
-         \fpAdd{\invtotal}{0}{<%subtotal NOFORMAT%>}
-         <%foreach tax%>
-         \fpAdd{\invtotal}{\invtotal}{<%tax NOFORMAT%>}
-         <%end tax%>
-       }
-       \hfill
-       \begin{tabular}{@{}rrr@{}}
-               %{Summe vor Steuern:}& {\numprint{<%subtotal NOFORMAT%>}} & ~\\
-
-               % Die unterschiedlichen Steueranteile getrennt ausweisen
-               <%foreach tax%>
-                 { \IfEndWith{\paymenttype}{\paymentPrivatEnd}{\TaxInc }{ } <%taxdescription%>}
-                          &
-                 {\numprint{<%tax NOFORMAT%>}}& ~\\
-               <%end tax%>
-               \midrule[1pt]
-               {\Sum~ \currency:} & \textbf{\numprint{\invtotal}}
-       \end{tabular}
-    }
-    {  % Wenn bereits etwas gezahlt wurde
-       \hfill
-       \begin{tabular}{@{}rrr@{}}
-
-               {\EbT}& {\numprint{<%subtotal NOFORMAT%>}} & ~\\
-
-               % Die unterschiedlichen Steueranteile getrennt ausweisen
-               <%foreach tax%>
-               {<%taxdescription%>}
-                        &
-               {\numprint{<%tax NOFORMAT%>}}& ~\\
-               <%end tax%>
-
-               \midrule  % Ein dünner Strich
-               \Sum & \numprint{\invtotal} & ~\\
-
-               <%foreach payment%>
-                       \AlreadyPayed~ {<%paymentdate%>}:& -{\numprint{<%payment%>}} & ~\\
-               <%end paymentdate%>
-
-               \midrule[2pt]  % Ein etwas dickerer Strich
-               {\Left~ \currency:} & \numprint{\total}
-       \end{tabular}
-    }% ende ithenelse
-
-  } %Ende des Summenkasten
-}
-
-\vfill                 % Den Rest-Text soweit wie möglich nach unten schieben
-\ifthenelse{\isempty{<%notes%>}}{}{
-      \mainfont
-\noindent <%notes%> ~\\[2em]
-      }%
-\small
-\noindent \YourOrder
-\ifthenelse{\Picklist = 0}{\noindent \ifthenelse{\equal{<%ustid%>}{\leer}}{}{\UstidTitle} \UstId}{}
-\noindent \paymenthints          % ist in translations.tex deffiniert
-\ifthenelse{\PurchaseOrder = 0}{\noindent \paymentterms}{}
-
-
-\end{letter}
-\end{document}
diff --git a/templates/print/f-tex/letter.lco b/templates/print/f-tex/letter.lco
deleted file mode 120000 (symlink)
index b83bf86..0000000
+++ /dev/null
@@ -1 +0,0 @@
-sample.lco
\ No newline at end of file
diff --git a/templates/print/f-tex/letter_head.pdf b/templates/print/f-tex/letter_head.pdf
deleted file mode 120000 (symlink)
index 157619b..0000000
+++ /dev/null
@@ -1 +0,0 @@
-sample_head.pdf
\ No newline at end of file
diff --git a/templates/print/f-tex/mydata.tex b/templates/print/f-tex/mydata.tex
deleted file mode 120000 (symlink)
index b6ccd4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-mydata.tex.example
\ No newline at end of file
diff --git a/templates/print/f-tex/mydata.tex.example b/templates/print/f-tex/mydata.tex.example
deleted file mode 100644 (file)
index 6758fec..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-
-% \employeecountry wird fuer lxo fancy LaTeX benoetigt
-\newcommand{\employeecountry}{Deutschland}
-
-
-
-% die folgenden definitionen koennten auch direkt in der Steuerdatei *.lco stehen
-\newcommand{\MYfromname}{Die globalen Problemlöser}
-\newcommand{\MYaddrsecrow}{Gesellschaft für anderer Leute Sorgen mbH}
-\newcommand{\MYrechtsform}{Handelsregister: HRA 123456789 }
-\newcommand{\MYfromaddress}{Hauptstraße 5\\12345 Hier}
-\newcommand{\MYfromphone}{Tel: +49 (0)12 3456780}
-\newcommand{\MYfromfax}{Fax: +49 (0)12 3456781}
-\newcommand{\MYfromemail}{mail@g-problemloeser.com}
-\newcommand{\MYsignature}{Herbert Wichtig - Geschäftsführer}
-\newcommand{\MYustid}{UstID: DE 123 456 789}
-\newcommand{\MYfrombank}{Bankverbindung\\
-          Ensifera Bank\\
-          Kto 1234567800\\
-           BLZ 123 456 78
-}
diff --git a/templates/print/f-tex/sample.lco b/templates/print/f-tex/sample.lco
deleted file mode 100644 (file)
index 3a7e8b1..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-% ----------------------------------------------------------
-%  letter.lco
-%  Steuerdatei Briefklasse f-tex
-%
-%  Changelog: see gitlog
-   \newcommand{\ftLcoVTversion}{1.1-u  (03.01.2012)}
-%
-%  Lizenz
-%  http://www.gnu.de/licenses/gpl-3.0.html
-%
-%  Siehe ./README
-%
-%  Autor: Wulf Coulmann scripts_at_gpl.coulmann.de
-%
-%
-% ----------------------------------------------------------
-
-
-\begingroup
-  \makeatletter
-  \@latex@warning@no@line{ #### this is letter.lco \ftLcoVTversion #####}
-\endgroup
-
-
-
-\ProvidesFile{letter.lco}[%
-  2002/07/09 v0.9a LaTeX2e unsupported letter-class-option]
-
-\KOMAoptions{foldmarks=false}
-\usepackage{graphicx}
-\usepackage[utf8]{inputenc}
-\usepackage{ngerman}
-\usepackage{lmodern}
-\usepackage{xcolor}
-\usepackage{watermark}
-\usepackage{xifthen}
-
-
-% ================== settings ==============================
-
-  % Name der pdf Datei die den Briefkopf enthaelt
-  \newcommand{\bgPdfName}{letter_head.pdf}
-
-  % Hintergrund pdf nur bei erster Dokumentseite [1|0]
-  \newcommand{\bgPdfFirstPageOnly}{1}
-
-  % Hintergrundpdf nur bei versand per email [1|0]
-  % (setze diesen Wert auf 1, wenn auf bereits Bedruktes Briefpapier ausgedruckt werden soll)
-  \newcommand{\bgPdfEmailOnly}{0}
-
-  % Trennlienie unter der Seitenkopfzeile ab Seite 2 ff.
-  \KOMAoptions{headsepline=on}
-
-  % der Abstand zu den Fusszeilen
-  \addtolength{\textheight}{23mm}
-
-  % zusaetzlicher Zwischenraum zur Fusszeile ab Seite 2 ff.
-  % (nur bei bgPdfFirstPageOnly = 1)
-  \addtolength{\footskip}{10mm}
-
-
-% ================== end settings ==============================
-
-
-
-\setkomavar{backaddress}{}
-
-\setkomavar{fromname}{\MYfromname}
-\newcommand\addrsecrow{\MYaddrsecrow}
-\newcommand\rechtsform{\MYrechtsform}
-\setkomavar{fromaddress}{\MYfromaddress}
-\setkomavar{fromphone}{\MYfromphone}
-\setkomavar{fromfax}{\MYfromfax}
-\setkomavar{fromemail}{\MYfromemail}
-\setkomavar{signature}{\MYsignature}
-\newcommand\ustid{\MYustid}
-\setkomavar{frombank}{\MYfrombank}
-
-\renewcommand{\rmdefault}{cmss}
-\newlength\entrytblsub
-\setlength\entrytblsub{\dimexpr\tabcolsep+1.3mm+\arrayrulewidth\relax}
-\setlength\textwidth{166mm}
-\oddsidemargin -0.4mm
-\KOMAoptions{headsepline=on}
-
-\pagestyle{myheadings}
-\@addtoplength{firstfootvpos}{18mm}
-\@addtoplength{foldmarkhpos}{5mm}
-\@setplength{firstheadvpos}{0mm}
-\@setplength{firstheadwidth}{165mm}
-\@setplength{firstfootwidth}{165mm}
-\@setplength{toaddrhpos}{25mm}
-\@setplength{toaddrvpos}{38mm}
-\@setplength{refhpos}{26mm}
-\@addtoplength{refvpos}{-18mm}
-
-\font\mainfont=cmss9
-
-
-
-\ifthenelse{\bgPdfFirstPageOnly = 0 }{
-  \addtolength{\headheight}{50mm}
-  \watermark{
-    \setlength{\unitlength}{1mm}
-    \put(-22,-226){
-          \includegraphics[width=210mm]{\bgPdfName}
-    }
-  }
-}{}
-
-\firsthead{
-  \ifthenelse{\bgPdfFirstPageOnly = 1 }{
-      \put(-69,0){  % Mit diesem put-Befehl wird die Position des Logos bestimmt.
-        \includegraphics[width=210mm]{\bgPdfName}
-      }
-  }{}
-}
-
-
-
-
-\firstfoot{%
-}
-
-\nextfoot{%
-    \parbox{\useplength{firstfootwidth}}{
-       \hspace{-\entrytblsub}
-       \begin{tabular}{l}
-       \usekomavar{fromname}
-       \end{tabular}\hfill
-       \begin{tabular}{r}
-           \thepage
-       \end{tabular}
-       \hspace{-\entrytblsub}
-    }
-    \vspace{10mm}
-}
-
-
-
-\endinput
-% vim: set filetype=tex :EOF
diff --git a/templates/print/f-tex/sample_head.pdf b/templates/print/f-tex/sample_head.pdf
deleted file mode 100644 (file)
index 8248505..0000000
Binary files a/templates/print/f-tex/sample_head.pdf and /dev/null differ
diff --git a/templates/print/f-tex/statement.html b/templates/print/f-tex/statement.html
deleted file mode 100644 (file)
index 37e612c..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-
-<body bgcolor=ffffff>
-
-<table width=100%>
-  <tr>
-    <td width=10>&nbsp;</td>
-    <td>
-      <table width=100%>
-       <tr>
-         <td>
-           <h4>
-           <%company%>
-           <br><%address%>
-           </h4>
-         </td>
-         <th></th>
-         <td align=right>
-         <h4>
-         Tel: <%tel%>
-         <br>Fax: <%fax%>
-         </h4>
-         </td>
-       </tr>
-       <tr>
-         <th colspan=3><h4>S T A T E M E N T</h4></th>
-       </tr>
-       <tr>
-         <td colspan=3 align=right><%statementdate%></td>
-       </tr>
-      </table>
-    </td>
-  </tr>
-  <tr>
-    <td>&nbsp;</td>
-    <td>
-      <table width=100%>
-       <tr valign=top>
-         <td><%name%>
-         <br><%street%>
-         <br><%zipcode%>
-         <br><%city%>
-         <br><%country%>
-         <br>
-<%if customerphone%>
-         <br>Tel: <%customerphone%>
-<%end customerphone%>
-<%if customerfax%>
-         <br>Fax: <%customerfax%>
-<%end customerfax%>
-<%if email%>
-         <br><%email%>
-<%end email%>
-         </td>
-       </tr>
-      </table>
-    </td>
-  </tr>
-  <tr height=10></tr>
-  <tr>
-    <td>&nbsp;</td>
-    <td>
-      <table width=100%>
-        <tr>
-         <th align=left>Invoice #</th>
-         <th width=15%>Date</th>
-         <th width=15%>Due</th>
-         <th width=10%>Current</th>
-         <th width=10%>30</th>
-         <th width=10%>60</th>
-         <th width=10%>90+</th>
-       </tr>
-<%foreach invnumber%>
-       <tr>
-         <td><%invnumber%></td>
-         <td><%invdate%></td>
-         <td><%duedate%></td>
-         <td align=right><%c0%></td>
-         <td align=right><%c30%></td>
-         <td align=right><%c60%></td>
-         <td align=right><%c90%></td>
-       </tr>
-<%end invnumber%>
-        <tr>
-         <td colspan=7><hr size=1></td>
-       </tr>
-       <tr>
-         <td>&nbsp;</td>
-         <td>&nbsp;</td>
-         <td>&nbsp;</td>
-         <th align=right><%c0total%></td>
-         <th align=right><%c30total%></td>
-         <th align=right><%c60total%></td>
-         <th align=right><%c90total%></td>
-       </tr>
-      </table>
-    </td>
-  </tr>
-  <tr height=10></tr>
-  <tr>
-    <td>&nbsp;</td>
-    <td align=right>
-      <table width=50%>
-        <tr>
-         <th>Total Outstanding</th>
-          <th align=right><%total%></th>
-       </tr>
-      </table>
-    </td>
-  </tr>
-  <tr>
-    <td>&nbsp;</td>
-    <td><hr noshade></td>
-  </tr>
-  <tr>
-    <td>&nbsp;</td>
-    <td>Please make check payable to <b><%company%></b>.
-    </td>
-  </tr>
-  <tr height=20></tr>
-</table>
-
diff --git a/templates/print/f-tex/translations.tex b/templates/print/f-tex/translations.tex
deleted file mode 100644 (file)
index 76811da..0000000
+++ /dev/null
@@ -1,198 +0,0 @@
-% ----------------------------------------------------------
-%  translations.tex
-%  Zentrale Uebersetzungsdatei f-tex
-%
-%  Changelog: see gitlog
-   \newcommand{\ftTranslationsVersion}{1.2-u  (05.12.2012)}
-%
-%  Lizenz
-%  http://www.gnu.de/licenses/gpl-3.0.html
-%
-%  Siehe ./README
-%
-%  Autor: Wulf Coulmann scripts_at_gpl.coulmann.de
-%
-%
-% ----------------------------------------------------------
-
-
-\begingroup
-  \makeatletter
-  \@latex@warning@no@line{ #### this is translations.tex \ftTranslationsVersion #####}
-\endgroup
-
-
-%%%%% Anleitung zum zufuegen neuer Sprachen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Am Beispiel Franzoesisch (fr)                                               %
-% - Es wird empfohlen die Datei translations.tex im Vorlagenordner            %
-%   und _nicht_ in [lxo-home]/templates/f-tex zu aendern.                     %
-% - Kopiere den Block                                                         %
-%     "\newcommand{\LoadDE}{"                                                 %
-%   bis zur schliessenden Klammer                                             %
-%     "}"                                                                     %
-%   und fuege ihn am Ende der Datei bei                                       %
-%     "codeblock mit neuer Sprache hier einfuegen"                            %
-%   an                                                                        %
-% - uebersetze die deutschen Begriffe im neu eingefuegten Block in            %
-%   die neue Sprache                                                          %
-% - aendere den Kommandonamen entsprechend der Neuen Sprache                  %
-%     "\newcommand{\LoadFR}                                                   %
-% - fuege am Ende der Datei eine neue Zeile mit dem neuen Sprachkuerzel       %
-%   und dem neuen Funktionsnamen an.                                          %
-%     "\IfEndWith{\docname}{_fr}{\loadFR}{}                                   %
-% - pruefe, ob lxo bereits ueber eine Konfiguration zu der neuen Sprache      %
-%   verfuegt. Das Feld Vorlagenkuerzel muss den zur hier zugefuegten Sprache  %
-%   passenden Wert enthalten (in unserem Beispiel "fr")                       %
-% - rufe das script [lxo-home]/templates/f-tex/setup.sh erneut auf, um        %
-%   sicherzustellen, dass die benoetigten Symlinks vorhanden sind.            %
-% - schicke die neue Version dieser Datei an                                  %
-%     scripts_at_gpl.coulmann.de                                              %
-%   damit in Zukunft die neue Sprache auch anderen Nutzern                    %
-%   von lxo zur Verfuegung steht                                              %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
-
-
-% ===== de ===========
-\newcommand{\loadDE}{
-
-  \renewcommand{\TitleInv}{Rechnung}
-  \newcommand{\TitleProforma}{Proformarechnung}
-  \newcommand{\TitleCreditNote}{Gutschrift}
-  \newcommand{\TitleSalesOrder}{Auftragsbestätigung}
-  \newcommand{\TitleSalesQuotation}{Angebot}
-  \newcommand{\TitleDelorder}{Lieferschein}
-  \newcommand{\TitlePicklist}{Sammelliste}
-  \newcommand{\TitlePurchaseOrder}{Bestellung}
-  \newcommand{\DelorderNumber}{Lieferscheinnummer}
-  \newcommand{\DeliveryAddress}{Lieferadresse}
-  \newcommand{\InvNumber}{Rechnungsnummer}
-  \newcommand{\CredNumber}{Gutschriftnummer}
-  \newcommand{\OrderNumber}{Auftragsnummer}
-  \newcommand{\RequestOrderNumber}{Bestellauftragsnummer}
-  \newcommand{\QuotationNumber}{Angebotsnummer}
-  \newcommand{\CustomerID}{Kundennummer}
-  \newcommand{\VendorID}{Lieferantennummer}
-  \newcommand{\DelDate}{Lieferdatum}
-  \newcommand{\ReqByTitle}{Lieferung bis}
-  \newcommand{\ValidUntil}{gültig bis}
-  \newcommand{\Date}{Datum}
-  \newcommand{\Pos}{Pos}
-  \newcommand{\Number}{Best Nr.}
-  \newcommand{\ItemNo}{Artikel}
-  \newcommand{\Count}{Anz}
-  \newcommand{\Unit}{Einh}
-  \newcommand{\Storage}{Lagerplatz}
-  \newcommand{\Take}{entnommen}
-  \newcommand{\Fee}{Einzelp}
-  \newcommand{\Total}{Total}
-  \newcommand{\Sum}{Gesamtbetrag}
-  \newcommand{\EbT}{Summe vor Steuern}
-  \newcommand{\Left}{Restbetrag}
-  \newcommand{\AlreadyPayed}{bereits gezahlt am}
-  \newcommand{\TabSubTotal}{Zwischensumme}
-  \newcommand{\TabCarry}{Übertrag}
-  \newcommand{\Dis}{Rab}
-  \newcommand{\TaxInc}{bereits enthalten: }
-  \newcommand{\PriceInclTax}{Alle Preise incl. Mehrwertsteuer}
-  \newcommand{\UstidTitle}{Ihre Umsatzsteueridentnummer:}
-
-
-  % Zahlungshinweise
-  \newcommand{\paymenthints}{
-
-    \IfSubStr{\docname}{Angebot}{
-      Das Angebot hat 4 Wochen Gültigkeit.\\
-    }{}
-  }
-
-  \newcommand{\YourOrder}{
-    \ifthenelse{\equal{\cusordnumber}{\leer}}
-      {}
-      {Ihre Bestellung {\bf\cusordnumber}}\\[0.5em]
-  }
-
-}
-
-% ===== uk oder en ===========
-\newcommand{\loadUK}{
-
-  \renewcommand{\TitleInv}{Invoice}
-  \newcommand{\TitleProforma}{Pro Forma Invoice}
-  \newcommand{\TitleCreditNote}{Credit Note}
-  \newcommand{\TitleSalesOrder}{Sales Order}
-  \newcommand{\TitleSalesQuotation}{Sales Quotation}
-  \newcommand{\DelorderNumber}{delivery note no}
-  \newcommand{\DeliveryAddress}{delivery address}
-  \newcommand{\TitleDelorder}{Delivery Note}
-  \newcommand{\TitlePicklist}{Pick List}
-  \newcommand{\TitlePurchaseOrder}{Purchase Order}
-  \newcommand{\InvNumber}{invoice number}
-  \newcommand{\CredNumber}{credit number}
-  \newcommand{\OrderNumber}{order number}
-  \newcommand{\RequestOrderNumber}{purchase order no.}
-  \newcommand{\QuotationNumber}{quotation no}
-  \newcommand{\CustomerID}{customer id}
-  \newcommand{\VendorID}{vendor id}
-  \newcommand{\DelDate}{date of delivery}
-  \newcommand{\ReqByTitle}{required by}
-  \newcommand{\ValidUntil}{valid until}
-  \newcommand{\Date}{date}
-  \newcommand{\Pos}{pos}
-  \newcommand{\Number}{item id}
-  \newcommand{\ItemNo}{item}
-  \newcommand{\Count}{count}
-  \newcommand{\Unit}{unit}
-  \newcommand{\Storage}{location}
-  \newcommand{\Take}{taken}
-  \newcommand{\Fee}{fee}
-  \newcommand{\Total}{total}
-  \newcommand{\Sum}{total amount}
-  \newcommand{\EbT}{total without taxes}
-  \newcommand{\Left}{residue}
-  \newcommand{\AlreadyPayed}{already payed at}
-  \newcommand{\TabSubTotal}{subtotal}
-  \newcommand{\TabCarry}{carry}
-  \newcommand{\Dis}{dis}
-  \newcommand{\TaxInc}{already included: }
-  \newcommand{\PriceInclTax}{Prices incl. tax}
-  \newcommand{\UstidTitle}{Your VAT number:}
-
-  % Zahlungshinweise Rechnung
-  \newcommand{\paymenthints}{
-    \IfSubStr{\docname}{Angebot}{
-      The offer is valid for 4 weeks.\\
-    }{}
-  }
-
-  \newcommand{\YourOrder}{
-    \ifthenelse{\equal{\cusordnumber}{\leer}}
-      {}
-      {Your Order Number {\bf\cusordnumber}}\\[0.5em]
-  }
-
-}
-
-% ====== neuen Sprache ================================
-
-   % codeblock mit neuer Sprache hier einfuegen
-
-
-% ====== Ende Sprachblock =========
-\newcommand{\checkVal}{unknowen}
-\newcommand{\TitleInv}{\checkVal}
-
-
-\IfStrEq{\LangCode}{de}{\loadDE}{}
-\IfStrEq{\LangCode}{uk}{\loadUK}{}
-\IfStrEq{\LangCode}{en}{\loadUK}{}
-% neue Zeile mit dem neuen Sprachkuerzel und dem neuen Funktionsnamen hier anfuegen
-
-
-
-% ====== unterhalb dieser Zeile nichts aendern ==========================
-
-% defaultsprache
-  \ifthenelse{\equal{\TitleInv}{\checkVal}}{\loadDE}{}
-
diff --git a/templates/print/f-tex/zwischensumme.sty b/templates/print/f-tex/zwischensumme.sty
deleted file mode 100644 (file)
index 043d94f..0000000
+++ /dev/null
@@ -1,228 +0,0 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Makros zur Berechnung und Ausgabe einer Zwischensumme bei langen Tabellen
-% Der Hack der longtable Ausgabe ist von Heiko Oberdiek, das Paket zref auch.
-%                            ---<(kaimartin)>---(August, 2007)
-%
-%  - Dezimaltrennzeichenn nur noch "."               by scripts_at_gpl.coulmann.de 2010-12
-%    (raw_numbers patch)
-%  - \Wert -> default Wert 0,                        by scripts_at_gpl.coulmann.de 2009-08
-%    wenn kein Wert uebergebenn wird, dies
-%    ermoeglicht das Ausgeben von Tabellen ohne
-%    Preise (z.b. Lieferscheine)
-%  - keine Ausgabe der Zwischensumme, wenn 0
-%  - neu: \brutto zur Ausgabe von Bruttopreisen      by scripts_at_gpl.coulmann.de 2009-07
-%  - Anpassungen fuer fancy LaTeX                    by scripts_at_gpl.coulmann.de 2009-03
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Diese Datei steht unter der GPL-Lizenz, Version 3
-% siehe http://www.gnu.de/licenses/gpl-3.0.html
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\usepackage{etex}           % Damit Marken verwendet werden koennen
-\usepackage[savepos,user]{zref}  % Um die jeweils aktuelle Position zu merken
-\usepackage{fltpoint}       % Rechnen mit Komma-Zahlen
-\usepackage{numprint}       % Zahlen formatiert ausgeben
-\usepackage{eurosym}        % Das Euro-Zeichen
-\usepackage{calc}           % Fuer das Makro \widthof{}
-
-% Vorlagen sind auf raw_num Patch ausgelegt daher nur noch . als Trennzeichen
-\newcommand{\DecimalSign}{.}
-\fpDecimalSign{\DecimalSign}
-
-% Globale Einstellungen fuer numprint
-\npstylegerman      % Deutsche Zahlenformatierung, in der Ausgabe
-\nprounddigits{2}   % Zwei Nachkommasstellen
-
-% \leer ist bereits in letter.tex definiert, wenn nicht muss es hier passieren
-% \newcommand{\leer}{}
-
-%%%%%%%%%%%%%%Befehle zur Berechnung der Zwischensumme%%%%%%%%%%%%%%%%%%%%%%%
-\newcommand*\laufsumme{0}
-\newcommand*\resetlaufsumme{\global\def\laufsumme{0}}
-\newcommand*\addlaufsumme[1]{\fpAdd{\laufsumme}{\laufsumme}{#1}%
-                                 \global\let\laufsumme\laufsumme}
-\newcommand*\printwert[1]{
-  \ifthenelse{\NoValue > 0}{
-  }{
-    \numprint{#1}
-  }
-}
-
-
-%%%%%%%%Plaintex-Hack fuer Positionierung der Zwischensummen%%%%%%%%%%%%%%%%%%
-
-
-\makeatletter  % Das at-Zeichen in Variablen zulassen
-
-% Variablen bereit stellen
-  \newdimen\drx
-  \newdimen\dry
-
-  \newmarks\ltm@marks
-  \def\ltm@setmarks#1{%
-    \marks\ltm@marks{#1}%
-    }
-  \def\ltm@getmarks{%
-    \botmarks\ltm@marks
-    }
-
-
-% Den aktuellen Wert der Laufsumme berechnen und merken
-\newcommand*{\Wert}[1]{%
-  \ifthenelse{\equal{#1}{\leer}}{
-    \addlaufsumme{0}%  Den uebergebenen Wert zur Laufsumme addieren
-    \expandafter\ltm@setmarks\expandafter{\laufsumme}% Die Laufsumme merken
-  }{
-    \printwert{#1}%     Ausgabe des Werts vor Ort
-    \addlaufsumme{#1}%  Den uebergebenen Wert zur Laufsumme addieren
-    \expandafter\ltm@setmarks\expandafter{\laufsumme}% Die Laufsumme merken
-  }
-}
-
-% Merken der aktuellen Position
-\newcommand*{\MarkZwsumPos}{%
-  \leavevmode
-     \zsavepos{zwsumpos\thepage}%
-     \zrefused{zwsumpos\thepage}%
-}
-
-
-% Ausgabe der Zwischensumme
-\def\ltm@insertfoot#1{%
-    \vbox to\z@{%
-      \vss
-      \hb@xt@\z@{%
-        \color@begingroup
-           \zsavepos{tabende\thepage}%   % Die aktuelle Position merken
-           \drx=0sp
-           \dry=0sp
-           % Die aktuelle Position abziehen und die gemerkte addieren
-           \advance \drx by -\zposx{tabende\thepage}sp
-           \advance \drx by \zposx{zwsumpos\thepage}sp
-           \advance \dry by -\zposy{tabende\thepage}sp
-           \advance \dry by \zposy{zwsumpos\thepage}sp
-           \smash{\kern\drx\raise\dry%
-             %\hbox{\makebox[\widthof{ \currency}][r]{\printwert{#1} \currency}}%  % mit Waehrungszeichen
-            \hbox{\printwert{#1} }%                                                % ohne Waehrungszeichen
-           }% end smash
-        \color@endgroup
-      }%
-    }%
-    \vspace{4mm}
-}
-
-% Ausgabe des Uebertrags
-% Wie die Ausgabe der Zwischensumme, nur ohne neu gemerkte Position
-\def\ltm@inserthead#1{%
-    \vbox to\z@{%
-      \vss
-      \hb@xt@\z@{%
-        \color@begingroup
-           \drx=0sp
-           \dry=0sp
-           % Die Position des Tabellenendes abziehen und zur gemerkten gehen
-           \advance \drx by -\zposx{tabende\thepage}sp
-           \advance \drx by \zposx{zwsumpos\thepage}sp
-           \advance \dry by -\zposy{tabende\thepage}sp
-           \advance \dry by \zposy{zwsumpos\thepage}sp
-           \smash{\kern\drx\raise\dry%
-              % Die eigentliche Ausgabe.
-              %  Rechtsbuendig und um die Breite der Währung verschoben.
-              %\hbox{\makebox[\widthof{ \currency}][r]{\printwert{#1} \currency}}%
-             \hbox{\printwert{#1}}%                                                % ohne Waehrungszeichen
-            %\hbox{\makebox[\widthof{ \printwert{#1}}][r]{\printwert{#1}\rule{0mm}{10mm} }}%                                                % ohne Waehrungszeichen
-             }% end smash
-        \color@endgroup
-      }%
-    }%
-    \vspace{1mm}
-}
-
-
-\def\ltm@lastfoot{\ltm@insertfoot\ltm@getmarks}
-\def\ltm@foot{\ltm@insertfoot{\ltm@getmarks}}
-\def\ltm@head{\ltm@inserthead{\ltm@getmarks}}
-
-
-% Ueberschreiben der Output-Routine von longtable
-\def\LT@output{%
-  \ifnum\outputpenalty <-\@Mi
-    \ifnum\outputpenalty > -\LT@end@pen
-      \LT@err{floats and marginpars %
-              not allowed in a longtable}\@ehc
-    \else
-      \setbox\z@\vbox{\unvbox\@cclv}%
-      \ifdim \ht\LT@lastfoot>\ht\LT@foot
-        \dimen@\pagegoal
-        \advance\dimen@-\ht\LT@lastfoot
-        \ifdim\dimen@<\ht\z@
-          \setbox\@cclv\vbox{%
-            \unvbox\z@\copy\LT@foot\ltm@foot\vss
-          }%
-          \@makecol
-          \@outputpage
-          \setbox\z@\vbox{\box\LT@head}%
-        \fi
-      \fi
-      \global\@colroom\@colht
-      \global\vsize\@colht
-      \vbox{%
-        \unvbox\z@
-        \box\ifvoid\LT@lastfoot
-          \LT@foot\ltm@foot
-        \else
-          \LT@lastfoot\ltm@lastfoot
-        \fi
-      }%
-    \fi
-  \else
-    \setbox\@cclv\vbox{%
-      \unvbox\@cclv\copy\LT@foot\ltm@foot\vss
-    }%
-    \@makecol
-    \@outputpage
-    \global\vsize\@colroom
-    \copy\LT@head\ltm@head
-  \fi
-}
-
-\newcommand\BruttoSellPrice[2]{
-      \fpAdd{\tax}{#2}{100}
-      \fpDiv{\taxF}{\tax}{100}
-      \fpMul{\result}{#1}{\taxF}
-      \numprint{\result}
-}
-\newcommand\BruttoWert[2]{
-      \fpAdd{\tax}{#2}{100}
-      \fpDiv{\taxF}{\tax}{100}
-      \fpMul{\rawresult}{#1}{\taxF}
-      \Wert{\rawresult}
-}
-
-
-\newcommand\BruttoLineSum[4]{
-      \fpAdd{\tax}{#4}{100}
-      \fpDiv{\taxF}{\tax}{100}
-      \fpMul{\result}{#1}{\taxF}
-      \fpMul{\result}{#2}{\result}
-      \fpSub{\rabatt}{100}{#3}
-      \fpDiv{\rabatt}{\rabatt}{100}
-      \fpMul{\result}{\result}{\rabatt}
-      \Wert{\result}
-}
-
-%      \ifthenelse{\equal{<%p_discount%>}{0}}{}{ -<%p_discount%>\%} &
-%        %<%sellprice%>
-%      \Wert{<%linetotal%>}    % Zeilensumme
-
-%  \fpMul{\result}{#1}{1.19}
-%  \fpMul{\resultt}{#2}{\result}
-%  \fpSub{\rabatt}{100}{#3}
-%  \fpDiv{\rabattt}{\rabatt}{100}
-%  \fpMul{\resulttt}{\resultt}{\rabattt}
-%  %\fpRound{\roundresult}{\result}{3}
-%  %\roundresult
-%  \resulttt
-
-\makeatother    % Das at-Zeichen in Variablen wieder verbieten
-%%%%%%%%%%%%%%%%%%%%Ende plaintex-Hack%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%