1 README lx-office Fancy-LaTeX (f-tex)
3 # Revision 1.0-u (16.11.2011)
4 # Revision 0.9 (13.11.2011)
5 # Revision 0.8 (12.09.2011)
6 # Revision 0.7 (12.07.2011)
7 # Revision 0.6 (16.06.2011)
8 # Revision 0.5 (15.04.2011)
9 # Revision 0.4 (14.02.2011)
10 # Revision 0.3 (03.01.2011)
11 # Revision 0.2 (24.12.2010)
12 # Revision 0.1 (03.11.2009)
17 Es gibt ein alternatives LaTeX Vorlagensystem im Verzeichnis
19 Fuer das Einrichten der Vorlagen gibt es ein Setup-Script
24 - funktionierende Lx-Office Intallation
25 - mindestens eine Mandantendatenbank
26 weiter ist es hilfreich:
27 - mindestens einen Benutzer mit Verweis auf ein Vorlagenverzeichs
28 - Bereits angelegte Sprachkuerzel, wenn mehrsprachige Dokumente erstellt
33 - einfach Nutzung durch mitgeliefertes Setup-Script
34 - Keine Retundanz. Es wird ein und die selbe Latex-Vorlage fuer alle
35 briefartigen Dokumente verwendet. Also Angebot, Rechnung,
36 Performarechnung, Lieferschein, aber eben nicht fuer Paketaufkleber
38 - Leichte Anpassung an das Firmen Layout durch verwendung eines Hintergrund-PDF
39 dieses kann leicht mit dem eigenen Lieblingsprogramm erstellt werden
40 (Openoffice, Inkscape, Gimp, Adobe*)
41 - Hintergrundpdf um schaltbar auf "nur erste Seite" (default) oder "alle Seiten"
42 (option "bgPdfFirstPageOnly" in Datei letter.lco)
43 - Hintergrundpdf fuer Ausdruck auf bereits bedrucktem Briefpapier Abschaltbar,
44 es wird dann nur bei per email versendeten Dokumenten eingebunden.
45 (Option "bgPdfEmailOnly" in Datei letter.lco)
46 - Nutzung der Layout-Funktionen von Latex fuer Seitenumbruch,
47 wiederholung von Kopfzeilen, Zwischensummen etc. (danke an Kai-Martin fuer
49 - Anzeige des Empfaengerlandes im Adressfeld nur, wenn es vom Land des
50 eigenen Unternehmens abweicht (also die Rechnung das Land verlaesst).
51 - Multisprachfaehig leicht um weitere Sprachen zu erweitern, alle
52 Übersetzungen in der Datei translatinos.tex.
53 - Auflistung von Bruttopreisen fuer Endverbraucher.
60 Wenn es noch keine LaTeX installation gibt, installiere die folgenden Pakete
64 texlive-latex-recommended \
65 texlive-fonts-recommended \
69 (Info fuer != Debian Installationen: die Abhaengigkeiten werden waehrend des
70 Setups nochmals geprueft)
72 Rufe das folgende Script auf:
73 [lxo-home]/templates/f-tex/setup.sh
74 und folge den Anweisungen.
76 Erstelle eine pdf-Hintergrund Datei und verlinke sie nach ./letter_head.pdf
78 Editiere den Bereich "settings" in der datei letter.lco ""
80 # oder etwas Detaillierter:
81 Es wird eine Datei sample.lco erstellt und diese nach letter.lco verlinkt.
82 Eigentlich ist dies die Datei die fuer die Firmenspezifischen Anpassungen
83 gedacht ist. Da die Einstiegshuerde in LaTeX nicht ganz niedrig ist, wird in
84 dieser Datei auf ein Hintergrundpdf verwiesen. Ich empfehle ueber dieses pdf
85 die persoenlichen Layoutanpassungen vorzunehmen und sample.lco unveraendert zu
86 lassen. Die die Anpassung ueber eine *.lco Datei die letztlich auf letter.lco
87 verlinkt ist ist aber auch moeglich.
89 Es wird eine Datei sample_head.pdf mit ausgeliefert, diese wird nach
90 letter_head.pdf verlinkt. Damit gibt es schon mal eine Funktionsfaehige
91 Vorlage. Schau Dir nach Abschluss der Installation die Datei sample_haed.pdf
92 an und erstelle ein entsprechendes pdf passend zum Briefkopf Deiner Firma,
93 diese dann im Template Verzeichniss ablegen und statt sample_head.pdf nach
94 letter_head.pdf verlinken.
96 per default erstellt das Setupscript einen symbolischen Link
97 ./sample_head.pdf -> ./letter_head.pdf
98 letzlich muss ./letter_head.pdf auf das passende Hintergrundpdf verweisen,
99 welches gewuenschten Briefkopf enthaelt. Bei Updates oder nach erneutem
100 Aufruf des setup Scripts werden bestehende Links nicht ohne Rueckfrage
101 ersetzt, wer also schon seinen Briefkopf verlinkt hat, braucht diesen Link
102 nicht immer wieder neu anlegen. Das gleiche Prinzip gilt fuer letter.lco.
104 Es wird eine Datei mydata.tex erstellt, sie ist mit der aus
105 lp (Label Print in erp) kompatibel. Diese braucht man also nur einmal
106 fuer jedes template Verzeichnis zu generieren.
107 Bei Formatierungsschwierigkeiten bitte mit
108 [lxo-home]/templates/f-tex/mydata.tex.example vergleichen.
110 Alle Anpassungen zum Briefkopf, Fusszeilen, Firmenlogos, etc.
111 sollten ueber die Hintergrund pdf datei oder die *.lco Datei erfolgen.
114 # einheitliche Latex-Vorlagen -- Background
116 Das Konzept von lx-office sieht vor, fuer jedes Dokument
117 (Auftragsbestaetigung, Lieferschein, Rechnung, etc.) eine
118 Latex-Vorlage vorzuhalten, dies ist sehr Wartungsunfreundlich. Auch
119 das Einlesen einer einheitlichen Quelle fuer den Briefkopf bringt nur
120 bedingte Vorteile, da hier leicht die Pflege der Artikel-Tabellen aus
121 dem Ruder laeuft. Bei dem vorliegenden Ansatz wird fuer alle
122 Briefartigen Dokumente mit Artikel-Tabellen eine einheitliche
123 Latexvorlage verwendet, welche ueber Codeweichen die Besonderheiten
124 der jeweiligen Dokumente Beruecksichtigt
125 - Tabellen mit oder ohne Preis
126 - Sprache der Tabellenueberschriften etc.
127 - Anpassung der Bezugs-Zeile (z.B. Rechnungsnummer versus
129 - Darstellung von Brutto oder Netto-Preisen in der Auflistung
130 (Endverbraucher versus Gewerblicher Kunde)
131 Dies laesst sich in lx-office nur ueber einen Kunstgriff realisieren,
132 da zum einen die perl-Anwendung nach latex-Vorlagen mit bestimmten
133 Namen sucht (z.B. sales_order_de.tex fuer die deutschsprachige
134 Auftragsbestaetigung -- wenn deutsch mit dem Vorlagenkuerzel de
135 angelegt wurde) und zum Anderen die Information um welches Dokument es
136 sich handelt nicht direkt innerhalb von Latex zur Verfuegung steht.
138 Umgesetzt wurde dies hier nun ueber symbolische Links im Dateisystem. Es
139 gibt also eine Vorlage letter.tex (die ihrerseits weitere tex-Dateien
140 einbindet) und fuer jeden Dokumenttyp der durch letter.tex abgedeckt on von
141 jedem dieser wiederum in jeder verfuegbaren Sprache legt das setup Script einen
142 link in der lx-office Namenskonvention an, der auf die Datei letter.tex
143 verweist. Die Datei letter.tex wertet den Namen der Aufgerufenen Datei aus und
144 passt ihre Ausgabe dementsprechend an. Wenn zum Beispiel lx-office die Datei
145 packing_list_de.tex aufruft (die ja nur ein Link nach letter.tex ist) liegt die
146 Information des aktuellen Dokumentnamen (packing_list_de.tex) vor und latex
147 weiss, keine Preise, Lieferscheinnummer anzeigen, deutsche sprachumgebung, usw.
149 Es liegt mit der Datei setup.sh ein script vor, welches die Abhaengigkeiten
150 im System prueft und die benotigten Dateien und symbolischen Links erstellt.
151 Das script ist so aufgebaut, dass es bei Updates auch auf bestehende f-tex
152 Vorlagenordner angewendet werden kann, ohne vorhandene Personalisierungen zu
153 ueberschreiben. Die Benoetigten Informationen wie Template-Verzeichniss,
154 vorhandene Sprachkuerzel, etc werden waerend des setupprozesses abgefragt. Der
155 Setupprozess kann also sooft wie benoetigt wiederholt werden, auch wenn bereits
156 ein templateverzeichniss existiert.
160 Ja, alles hat seinen Preis ...
161 Latex hat ohnehin eine sehr steile Lehrnkurve. Die Datei letter.tex
162 ist sehr komplex und verstaerkt damit diesen Effekt noch einmal erheblich.
163 Wer Latex-Erfahrung hat, oder geuebt ist Scriptsparachen nachzuvollziehen kann
164 natuerlich auch innerhalb der Tabellendarstellung gut persoenliche Anpassungen
165 vornehmen. Aber man kann sich hier bei Veraenderungen sehr schnell haeftig in
167 Wer nicht so tief in die Materie einsteigen will oder leicht zu
168 frustrieren ist, sollte sein Hintergrund PDF auf Basis der mitglieferten
169 Datei sample_head.pdf erstellen, und sich an der Form der dargestellten Tabellen
170 wie sie ausgeliefert werden, erfreuen.
173 Nicht zu viel auf einmal wollen, lieber kleine kontinuierliche
176 Alternativ kann man sich natuerlich fuer die Latex-Vorlagen
177 professionelle Hilfe hohlen.
180 Bruttopreise fuer Endvorbraucher
181 Der auszuweisende Bruttopreis wird innerhalb der LaTeX Umgebung berechnet.
184 es gibt zwar ein Feld um bei Auftraegen "alle Preise Brutto" auszuwaehlen,
186 - hierfuer muessen die Preise auch in Brutto in der Datenbank stehen
187 (ja -- das laesst sich ueber die Preisgruppen und die Zuordung einer Default-Preisgruppe
189 - man darf beim Anlegen des Vorgangs nicht vergessen Dieses Haekchen zu setzen.
190 (das ist in der Praxis wenn man sowohl Endverbraucher- wie Gewerbekunden beliefert
191 der eigentliche Knackpunkt)
193 Es gibt mit f-tex eine weitere Alternative. Die Information ob Brutto oder
194 Nettorechnung wird mit den Zahlarten verknuepft. Zahlarten bei denen
195 Rechnungen, Angebote, etc, in Brutto ausgegeben werden sollen enden mit "_E"
196 (fuer Endverbraucher) Falls identische Zahlarten fuer Gewerbekunden und
197 Endverbraucher vorhanden sind legt man diese einfach doppelt an (einmal mit
198 der Namensendung "_E")
200 - die Entscheidung ob Netopreise ausgewiesen werden ist nicht mehr fix
201 mit einer Preisliste Verbunden.
202 - die Default-Zahlart kann im Kundendatensatz hinterlegt werden und man
203 muss nicht mehr daran denken "alle Preise Netto" auszuwaehlen.
204 - Die Entscheidung ob Netto/Oder Bruttopreise ausgewiesen werden kann direkt
205 beim Drucken reviediert werden, ohne dass sich der Auftragswert aendert.
209 - in Lieferscheinen kommen shipto* -Variablen im Adressfeld zum Einsatz
210 - wenn die shipto*variable leer ist wird die entsprechende
211 Adressvariable eingesetzt. Wenn Also die Lieferadresse in Strasse,
212 Hausnummer und Ort abweicht, muessen auch nur diese Felder in der
213 Lieferadresse ausgefuellt werden. Fuer den Firmenname wird der Wert der
214 Hauptadresse angezeigt.
216 Troubleshooting -- Fehler suchen:
217 Wenn sich das Problem nicht auf Grund der ausgabe im Webbrowser verifizieren laesst:
219 editiere [flxo-home]/config/lx_office.conf und aendere "keep_tmp_files" auf 1
222 bei fastcgi oder mod_perl den Webserver neu Starten
224 Nochmal einen Druckversuch im Webfrontend ausloesen
226 wechsele in das users Verzeichnis von lxo
229 LaTeX Suchpfad anpassen:
230 export TEXINPUTS=".:[lxo-home]/templates/[aktuelles_template_verzeichniss]:"
232 Finde herraus welche datei lxo beim letzten Durchlauf erstellt hat
234 Es sollte die letzte Datei ganz unten sein
236 fuer besseren Hinweis auf Fehler texdatei nochmals uebersetzen
239 in der *.tex datei nach dem Fehler suchen.
241 Changelogeintrag fuer offiziellen tree:
242 Kleine Verbesserungen:
243 Zusaetzliches alternatives LaTeX Templatesystem