Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
[kivitendo-erp.git] / templates / print / f-tex / README
1 README lx-office Fancy-LaTeX  (f-tex)
2
3 # Revision 1.1-u  (03.02.2012)
4 # Revision 1.0-u  (16.11.2011)
5 # Revision 0.9  (13.11.2011)
6 # Revision 0.8  (12.09.2011)
7 # Revision 0.7  (12.07.2011)
8 # Revision 0.6  (16.06.2011)
9 # Revision 0.5  (15.04.2011)
10 # Revision 0.4  (14.02.2011)
11 # Revision 0.3  (03.01.2011)
12 # Revision 0.2  (24.12.2010)
13 # Revision 0.1  (03.11.2009)
14
15
16
17 # Feature Uebersicht
18
19   - einfach Nutzung durch mitgeliefertes Setup-Script
20   - Keine Retundanz. Es wird ein und die selbe Latex-Vorlage fuer alle
21     briefartigen Dokumente verwendet. Also Angebot, Rechnung,
22     Performarechnung, Lieferschein, aber eben nicht fuer Paketaufkleber
23     etc..
24   - Leichte Anpassung an das Firmen Layout durch verwendung eines Hintergrund-PDF
25     dieses kann leicht mit dem eigenen Lieblingsprogramm erstellt werden
26     (Openoffice, Inkscape, Gimp, Adobe*)
27   - Hintergrundpdf um schaltbar auf "nur erste Seite" (default) oder "alle Seiten"
28     (option "bgPdfFirstPageOnly" in Datei letter.lco)
29   - Hintergrundpdf fuer Ausdruck auf bereits bedrucktem Briefpapier Abschaltbar,
30     es wird dann nur bei per email versendeten Dokumenten eingebunden.
31     (Option "bgPdfEmailOnly" in Datei letter.lco)
32   - Nutzung der Layout-Funktionen von Latex fuer Seitenumbruch,
33     wiederholung von Kopfzeilen, Zwischensummen etc. (danke an Kai-Martin fuer
34     die Vorarbeit)
35   - Anzeige des Empfaengerlandes im Adressfeld nur, wenn es vom Land des
36     eigenen Unternehmens abweicht (also die Rechnung das Land verlaesst).
37   - Multisprachfaehig leicht um weitere Sprachen zu erweitern, alle
38     Übersetzungen in der Datei translatinos.tex.
39   - Auflistung von Bruttopreisen fuer Endverbraucher.
40
41
42
43
44 # die Installation
45
46   Wenn es noch keine LaTeX installation gibt, installiere die folgenden Pakete
47   (Debian)
48     aptitude install \
49       texlive-base-bin \
50       texlive-latex-recommended \
51       texlive-fonts-recommended \
52       texlive-latex-extra \
53       texlive-lang-german \
54       texlive-generic-extra
55
56   Die Abhaengigkeiten kann man mit
57    /scripts/installation_check.pl -l pruefen (z.Z. noch nicht eingecheckt)
58
59   Ein Vorlagenverzeichniss kannst Du direkt unter admin.pl Benutzeradministration erstellen:
60     Benutze Vorlagen: f-tex
61     Erzeuge Vorlagen, Name: <DEIN_WUNSCHNAME>
62   Das Verzeichniss templates muss dafuer fuer den Webserver schreibbar sein.
63
64   Erstelle eine pdf-Hintergrund Datei und verlinke sie nach ./letter_head.pdf
65
66   Editiere den Bereich "settings" in der datei letter.lco ""
67
68   # oder etwas Detaillierter:
69   Es wird eine Datei sample.lco erstellt und diese nach letter.lco verlinkt.
70   Eigentlich ist dies die Datei die fuer die Firmenspezifischen Anpassungen
71   gedacht ist.  Da die Einstiegshuerde in LaTeX nicht ganz niedrig ist, wird in
72   dieser Datei auf ein Hintergrundpdf verwiesen. Ich empfehle ueber dieses pdf
73   die persoenlichen Layoutanpassungen vorzunehmen und sample.lco unveraendert zu
74   lassen. Die die Anpassung ueber eine *.lco Datei die letztlich auf letter.lco
75   verlinkt ist ist aber auch moeglich.
76
77   Es wird eine Datei sample_head.pdf mit ausgeliefert, diese wird nach
78   letter_head.pdf verlinkt. Damit gibt es schon mal eine Funktionsfaehige
79   Vorlage. Schau Dir nach Abschluss der Installation die Datei sample_haed.pdf
80   an und erstelle ein entsprechendes pdf passend zum Briefkopf Deiner Firma,
81   diese dann im Template Verzeichniss ablegen und statt sample_head.pdf nach
82   letter_head.pdf verlinken.
83
84   letzlich muss ./letter_head.pdf auf das passende Hintergrundpdf verweisen,
85   welches gewuenschten Briefkopf enthaelt. Bei Updates oder nach erneutem
86
87   Es wird eine Datei mydata.tex.example ausgeliefert die nach mytdata.tex
88   verlinkt ist. Bei verwendetem Hintergrundpdf wird nur der Eintrag fuer das
89   Land verwendet die Datei muss  also nicht angefasst werden. Die Anderen Werte
90   sind fuer das Modul  lp (Label Print in erp -- zur Zeit nicht im
91   oeffentlichen Zweig).
92
93   Alle Anpassungen zum Briefkopf, Fusszeilen, Firmenlogos, etc.
94   sollten ueber die Hintergrund pdf datei oder die *.lco Datei erfolgen.
95
96
97 # einheitliche Latex-Vorlagen -- Background
98
99   Das Konzept von lx-office sieht vor, fuer jedes Dokument
100   (Auftragsbestaetigung, Lieferschein, Rechnung, etc.) eine
101   Latex-Vorlage vorzuhalten, dies ist sehr Wartungsunfreundlich. Auch
102   das Einlesen einer einheitlichen Quelle fuer den Briefkopf bringt nur
103   bedingte Vorteile, da hier leicht die Pflege der Artikel-Tabellen aus
104   dem Ruder laeuft. Bei dem vorliegenden Ansatz wird fuer alle
105   Briefartigen Dokumente mit Artikel-Tabellen eine einheitliche
106   Latexvorlage verwendet, welche ueber Codeweichen die Besonderheiten
107   der jeweiligen Dokumente Beruecksichtigt
108     - Tabellen mit oder ohne Preis
109     - Sprache der Tabellenueberschriften etc.
110     - Anpassung der Bezugs-Zeile (z.B. Rechnungsnummer versus
111       Angebotsnummer)
112     - Darstellung von Brutto oder Netto-Preisen in der Auflistung
113       (Endverbraucher versus Gewerblicher Kunde)
114   Seit Version 2.7 ist das ohne Kunstgriff moeglich, da im bei nicht vorhanden
115   Dokumenten auf default.tex zurueckgegriffen wird.
116
117
118   Nachteil:
119   Ja, alles hat seinen Preis ...
120   Latex hat ohnehin eine sehr steile Lehrnkurve. Die Datei letter.tex
121   ist sehr komplex und verstaerkt damit diesen Effekt noch einmal erheblich.
122   Wer Latex-Erfahrung hat, oder geuebt ist Scriptsparachen nachzuvollziehen kann
123   natuerlich auch innerhalb der Tabellendarstellung gut persoenliche Anpassungen
124   vornehmen. Aber man kann sich hier bei Veraenderungen sehr schnell haeftig in
125   den Fuss schiessen.
126   Wer nicht so tief in die Materie einsteigen will oder leicht zu
127   frustrieren ist, sollte sein Hintergrund PDF auf Basis der mitglieferten
128   Datei sample_head.pdf erstellen, und sich an der Form der dargestellten Tabellen
129   wie sie ausgeliefert werden, erfreuen.
130   Kleiner Tipp:
131
132     Nicht zu viel auf einmal wollen, lieber kleine kontinuierliche
133     Schritte gehen.
134
135   Alternativ kann man sich natuerlich fuer die Latex-Vorlagen
136   professionelle Hilfe hohlen.
137
138
139 Bruttopreise fuer Endvorbraucher
140   Der auszuweisende Bruttopreis wird innerhalb der LaTeX Umgebung berechnet.
141
142   - Background:
143     es gibt zwar ein Feld um bei Auftraegen "alle Preise Brutto" auszuwaehlen,
144     aber:
145       - hierfuer muessen die Preise auch in Brutto in der Datenbank stehen
146         (ja -- das laesst sich ueber die Preisgruppen und die Zuordung einer Default-Preisgruppe
147         handhaben)
148       - man darf beim Anlegen des Vorgangs nicht vergessen Dieses Haekchen zu setzen.
149         (das ist in der Praxis wenn man sowohl Endverbraucher- wie Gewerbekunden beliefert
150        der eigentliche Knackpunkt)
151
152   Es gibt mit f-tex eine weitere Alternative. Die Information ob Brutto oder
153   Nettorechnung wird mit den Zahlarten verknuepft. Zahlarten bei denen
154   Rechnungen, Angebote, etc, in Brutto ausgegeben werden sollen enden mit "_E"
155   (fuer Endverbraucher) Falls identische Zahlarten fuer Gewerbekunden und
156   Endverbraucher vorhanden sind legt man diese einfach doppelt an (einmal mit
157   der Namensendung "_E")
158   - Gewinn:
159     - die Entscheidung ob Netopreise ausgewiesen werden ist nicht mehr fix
160       mit einer Preisliste Verbunden.
161     - die Default-Zahlart kann im Kundendatensatz hinterlegt werden und man
162       muss nicht mehr daran denken "alle Preise Netto" auszuwaehlen.
163     - Die Entscheidung ob Netto/Oder Bruttopreise ausgewiesen werden kann direkt
164       beim Drucken reviediert werden, ohne dass sich der Auftragswert aendert.
165
166 Lieferadressen
167
168   - in Lieferscheinen kommen shipto* -Variablen im Adressfeld zum Einsatz
169   - wenn die shipto*variable leer ist wird die entsprechende
170     Adressvariable eingesetzt.  Wenn Also die Lieferadresse in Strasse,
171     Hausnummer und Ort abweicht, muessen auch nur diese Felder in der
172     Lieferadresse ausgefuellt werden. Fuer den Firmenname wird der Wert der
173     Hauptadresse angezeigt.
174
175 Troubleshooting -- Fehler suchen:
176   Wenn sich das Problem nicht auf Grund der ausgabe im Webbrowser verifizieren laesst:
177
178     editiere [flxo-home]/config/lx_office.conf und aendere "keep_tmp_files" auf 1
179           keep_temp_files = 1;
180
181     bei fastcgi oder mod_perl den Webserver neu Starten
182
183     Nochmal einen Druckversuch im Webfrontend ausloesen
184
185     wechsele in das users Verzeichnis von lxo
186       cd [lxo-home]/users
187
188     LaTeX Suchpfad anpassen:
189       export TEXINPUTS=".:[lxo-home]/templates/[aktuelles_template_verzeichniss]:"
190
191     Finde herraus welche datei lxo beim letzten Durchlauf erstellt hat
192       ls -lahtr ./1*.tex
193     Es sollte die letzte Datei ganz unten sein
194
195     fuer besseren Hinweis auf Fehler texdatei nochmals uebersetzen
196       pdflatex ./1*.tex
197
198     in der *.tex datei nach dem Fehler suchen.
199
200
201