From: Sven Schöling
Date: Mon, 12 Nov 2012 16:12:22 +0000 (+0100)
Subject: Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
X-Git-Tag: release-3.0.0beta1~4
X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=bf32f143e97443f074c37772a052b861ad3492ff;hp=92a764ad2751b525a17095f46dab350562b183ba;p=kivitendo-erp.git
Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
---
diff --git a/SL/CA.pm b/SL/CA.pm
index 52d2b0baf..577d6b98a 100644
--- a/SL/CA.pm
+++ b/SL/CA.pm
@@ -203,22 +203,6 @@ sub all_transactions {
$project = qq| AND ac.project_id = ? |;
@project_values = (conv_i($form->{project_id}));
}
- my $acc_cash_where = "";
- my $ar_cash_where = "";
- my $ap_cash_where = "";
-
-
- if ($form->{method} eq "cash") {
- $where = qq| (ac.trans_id IN (SELECT id FROM ar WHERE datepaid>= ? AND datepaid<= ? UNION SELECT id FROM ap WHERE datepaid>= ? AND datepaid<= ? UNION SELECT id FROM gl WHERE transdate>= ? AND transdate<= ?)) |;
- @where_values = ();
- push(@where_values, conv_date($form->{fromdate}));
- push(@where_values, conv_date($form->{todate}));
- push(@where_values, conv_date($form->{fromdate}));
- push(@where_values, conv_date($form->{todate}));
- push(@where_values, conv_date($form->{fromdate}));
- push(@where_values, conv_date($form->{todate}));
- }
-
if ($form->{accno}) {
diff --git a/SL/Template/Simple.pm b/SL/Template/Simple.pm
index d29ec8f5c..926ef1f7f 100644
--- a/SL/Template/Simple.pm
+++ b/SL/Template/Simple.pm
@@ -197,6 +197,7 @@ sub _parse_block_if {
}
my $value = $self->_get_loop_variable($var, 0, @indices);
+ $value = scalar(@{ $value }) if (ref($value) || '') eq 'ARRAY';
my $hit = 0;
if ($operator_type) {
diff --git a/bin/mozilla/admin.pl b/bin/mozilla/admin.pl
index 0a7145a60..5936e894e 100755
--- a/bin/mozilla/admin.pl
+++ b/bin/mozilla/admin.pl
@@ -40,6 +40,7 @@ use File::Copy;
use File::Find;
use File::Spec;
use Cwd;
+use IO::Dir;
use IO::File;
use POSIX qw(strftime);
use Sys::Hostname;
@@ -745,35 +746,17 @@ sub create_dataset {
$form->{CHARTS} = [];
- opendir SQLDIR, "sql/." or $form->error($ERRNO);
- foreach my $item (sort grep /-chart\.sql\z/, readdir SQLDIR) {
- next if ($item eq 'Default-chart.sql');
- $item =~ s/-chart\.sql//;
- push @{ $form->{CHARTS} }, { "name" => $item,
- "selected" => $item eq "Germany-DATEV-SKR03EU" };
+ tie my %dir_h, 'IO::Dir', 'sql/';
+ foreach my $item (map { s/-chart\.sql$//; $_ } sort grep { /-chart\.sql\z/ && !/Default-chart.sql\z/ } keys %dir_h) {
+ push @{ $form->{CHARTS} }, { name => $item,
+ selected => $item eq "Germany-DATEV-SKR03EU" };
}
- closedir SQLDIR;
- $form->{ACCOUNTING_METHODS} = [];
- foreach my $item ( qw(accrual cash) ) {
- push @{ $form->{ACCOUNTING_METHODS} }, { "name" => $item,
- "selected" => $item eq "cash" };
- };
-
- $form->{INVENTORY_SYSTEMS} = [];
- foreach my $item ( qw(perpetual periodic) ) {
- push @{ $form->{INVENTORY_SYSTEMS} }, { "name" => $item,
- "selected" => $item eq "periodic" };
- };
-
- $form->{PROFIT_DETERMINATIONS} = [];
- foreach my $item ( qw(balance income) ) {
- push @{ $form->{PROFIT_DETERMINATIONS} }, { "name" => $item,
- "selected" => $item eq "income" };
- };
+ $form->{ACCOUNTING_METHODS} = [ map { { name => $_, selected => $_ eq 'cash' } } qw(accrual cash) ];
+ $form->{INVENTORY_SYSTEMS} = [ map { { name => $_, selected => $_ eq 'periodic' } } qw(perpetual periodic) ];
+ $form->{PROFIT_DETERMINATIONS} = [ map { { name => $_, selected => $_ eq 'income' } } qw(balance income) ];
- my $default_charset = $::lx_office_conf{system}->{dbcharset};
- $default_charset ||= Common::DEFAULT_CHARSET;
+ my $default_charset = $::lx_office_conf{system}->{dbcharset} || Common::DEFAULT_CHARSET;
my $cluster_encoding = User->dbclusterencoding($form);
if ($cluster_encoding && ($cluster_encoding =~ m/^(?:UTF-?8|UNICODE)$/i)) {
@@ -786,13 +769,7 @@ sub create_dataset {
$form->{FORCE_DBENCODING} = 'UNICODE';
} else {
- $form->{DBENCODINGS} = [];
-
- foreach my $encoding (@Common::db_encodings) {
- push @{ $form->{DBENCODINGS} }, { "dbencoding" => $encoding->{dbencoding},
- "label" => $encoding->{label},
- "selected" => $encoding->{charset} eq $default_charset };
- }
+ $form->{DBENCODINGS} = [ map { { %{$_}, selected => $_->{charset} eq $default_charset } } @Common::db_encodings ];
}
$form->{title} = "kivitendo " . $locale->text('Database Administration') . " / " . $locale->text('Create Dataset');
@@ -1198,23 +1175,17 @@ sub _search_templates {
$::form->error(sprintf($::locale->text("The directory %s does not exist."), $::lx_office_conf{paths}->{templates}));
}
- opendir TEMPLATEDIR, $::lx_office_conf{paths}->{templates} or $::form->error($::lx_office_conf{paths}->{templates} . " : $ERRNO");
- my @all = readdir(TEMPLATEDIR);
- my @alldir = sort grep { -d ($::lx_office_conf{paths}->{templates} . "/$_") && !/^\.\.?$/ } @all;
- closedir TEMPLATEDIR;
-
- @alldir = grep !/\.(html|tex|sty|odt|xml|txb)$/, @alldir;
- @alldir = grep !/^(webpages|print|\.svn)$/, @alldir;
+ tie my %dir_h, 'IO::Dir', $::lx_office_conf{paths}->{templates};
- # mastertemplates
- opendir TEMPLATEDIR, "$::lx_office_conf{paths}->{templates}/print" or $::form->error("$::lx_office_conf{paths}->{templates}/print" . " : $ERRNO");
- my @allmaster = readdir(TEMPLATEDIR);
- closedir TEMPLATEDIR;
+ my @alldir = sort grep {
+ -d ($::lx_office_conf{paths}->{templates} . "/$_")
+ && !/^\.\.?$/
+ && !m/\.(?:html|tex|sty|odt|xml|txb)$/
+ && !m/^(?:webpages$|print$|\.)/
+ } keys %dir_h;
- @allmaster = sort grep { -d ("$::lx_office_conf{paths}->{templates}/print" . "/$_") && !/^\.\.?$/ } @allmaster;
- @allmaster = reverse grep !/Default/, @allmaster;
- push @allmaster, 'Default';
- @allmaster = reverse @allmaster;
+ tie %dir_h, 'IO::Dir', "$::lx_office_conf{paths}->{templates}/print";
+ my @allmaster = ('Standard', sort grep { -d ("$::lx_office_conf{paths}->{templates}/print" . "/$_") && !/^\.\.?$/ && !/^Standard$/ } keys %dir_h);
return \@alldir, \@allmaster;
}
diff --git a/bin/mozilla/ca.pl b/bin/mozilla/ca.pl
index 4cababbe6..da3bfb029 100644
--- a/bin/mozilla/ca.pl
+++ b/bin/mozilla/ca.pl
@@ -157,7 +157,6 @@ sub list {
$::form->header;
print $::form->parse_html_template('ca/list', {
year => DateTime->today->year,
- cash => $::instance_conf->get_accounting_method eq 'cash',
});
$::lxdebug->leave_sub;
diff --git a/bin/mozilla/io.pl b/bin/mozilla/io.pl
index 37df55461..60a535f36 100644
--- a/bin/mozilla/io.pl
+++ b/bin/mozilla/io.pl
@@ -1470,7 +1470,7 @@ sub print_form {
reformat_numbers($output_numberformat, 2,
qw(invtotal ordtotal quototal subtotal linetotal
listprice sellprice netprice discount
- tax taxbase total paid),
+ tax taxbase total paid payment),
grep({ /^(?:linetotal|nodiscount_linetotal|listprice|sellprice|netprice|taxbase|discount|p_discount|discount_sub|nodiscount_sub|paid|subtotal|total|tax)_\d+$/ } keys(%{$form})));
reformat_numbers($output_numberformat, undef,
diff --git a/doc/dokumentation.xml b/doc/dokumentation.xml
index 4208d8471..e7547b153 100644
--- a/doc/dokumentation.xml
+++ b/doc/dokumentation.xml
@@ -14,11 +14,6 @@
im kivitendo-Forum: https://forum.kivitendo.org/
-
-
- im alten Lx-Office-Wiki unter Dokumentation (http://wiki.lx-office.org/index.php?title=Installation_Lx-Office_ERP)
-
@@ -42,12 +37,21 @@
dass kivitendo auf ihnen läuft:
+
- Ubuntu 10.04 LTS Lucid Lynx bis 12.10 Oneiric Ocelot
+ Debian
+
+
+ 6.0 Squeeze (hier muss allerdings das Modul FCGI in der Version >= 0.72 compiled werden)
+
+
+ 7.0 Wheezy
+
+
- Debian 5.0 Lenny und 6.0 Squeeze
+ Ubuntu 10.04 LTS Lucid Lynx bis 12.10 Oneiric Ocelot
@@ -363,7 +367,7 @@ dbcharset = UTF-8
eingreifen
Dieses kann überprüft werden: ist das Encoding der Datenbank
- âtemplate1â âUTF8â, so braucht man nichts weiteres diesbezueglich
+ âtemplate1â âUTF8â, so braucht man nichts weiteres diesbezüglich
unternehmen. Zum Testen:
su postgres
@@ -438,6 +442,9 @@ psql template1
anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen
können:
+ Die Frage, ob der neue User Superuser sein soll, können Sie mit nein
+ beantworten, genauso ist die Berechtigung neue User (Roles) zu
+ generieren nicht nötig.su - postgres
createuser -d -P kivitendo
exit
@@ -558,7 +565,7 @@ Alias /kivitendo-erp/ /var/www/kiviteno-erp/
bestimmte Eingaben von kivitendo. Falls es Probleme mit Umlauten in Ihrere Installation gibt, muss zwingend Version 0.68 oder
aber Version 0.72 und neuer eingesetzt werden.
- Mit CPAN lässt sie sich die Vorgängerversion wie folgt
+ Mit CPAN lässt sie sich die Vorgängerversion wie folgt
installieren:force install M/MS/MSTROUT/FCGI-0.68.tar.gz
@@ -1305,49 +1312,279 @@ insserv kivitendo-task-server
Drucken mit kivitendo
- Das Drucksystem von kivitendo benutzt von Haus aus LaTeX Vorlagen.
- Um drucken zu können, braucht der Server ein geeignetes LaTeX System. Am
- einfachsten ist dazu eine texlive Installation. Unter
- Debianoiden Betriebssystemen sind das die Pakete:
+ Das Drucksystem von kivitendo benutzt von Haus aus LaTeX-Vorlagen. Um drucken zu können, braucht der Server ein geeignetes
+ LaTeX System. Am einfachsten ist dazu eine texlive Installation. Unter Debianoiden Betriebssystemen installiert man
+ die Pakete mit:
- texlive-latex-base texlive-latex-extra
- texlive-fonts-recommended
+ aptitude install texlive-base-bin texlive-latex-recommended texlive-fonts-recommended \
+ texlive-latex-extra texlive-lang-german texlive-generic-extra
- Diese hinteren beiden enthalten Bibliotheken und Schriftarten die
- von den Standardvorlagen verwendet werden.
+ TODO: RPM-Pakete.
- TODO: rpm Pakete.
+ kivitendo bringt drei alternative Vorlagensätze mit:
+
+ Standard
+ f-tex
+ RB
+
- In den allermeisten Installationen sollte drucken jetzt schon
- funktionieren. Sollte ein Fehler auftreten wirft TeX sehr lange
- Fehlerbeschreibungen, der eigentliche Fehler ist immer die erste Zeite
- die mit einem Ausrufezeichen anfängt. Häufig auftretende Fehler sind zum
- Beispiel:
+
+ Vorlagenverzeichnis anlegen
+ Im Administrationsbereich lässt sich bei einem Benutzer/Mandanten einer dieser Vorlagensätze als Basis für die zu
+ druckenden Dokumente auswählen. Rufen Sie dazu die Benutzerverwaltung auf.
-
-
- ! LaTeX Error: File `eurosym.sty' not found. Die entsprechende
- LaTeX-Bibliothek wurde nicht gefunden. Das tritt vor allem bei
- Vorlagen aus der Community auf. Installieren Sie die entsprechenden
- Pakete.
-
+ Wählen Sie dort einen Benutzer aus oder legen Sie einen neuen an. In der Benutzerbearbeiten-Maske müssen Sie zwei Dinge
+ angeben:
-
- ! Package inputenc Error: Unicode char \u8:æ¡ not set up for
- use with LaTeX. Dieser Fehler tritt auf, wenn sie versuchen mit
- einer Standardinstallation exotische utf8 Zeichen zu drucken.
- TeXLive unterstützt von Haus nur romanische Schriften und muss mit
- diversen Tricks dazu gebracht werden andere Zeichen zu akzeptieren.
- Adere TeX Systeme wie XeTeX schaffen hier Abhilfe.
-
-
+
+ : Der Verzeichnisname für den neuen Vorlagensatz. Dieser kann im Rahmen der üblichen
+ Bedingungen für Verzeichnisnamen frei gewählt werden.
+ : Wählen Sie hier den Vorlagensatz aus, der kopiert werden soll
+ (Standard, f-tex oder RB.)
+
+
+ Der gleiche Vorlagensatz kann, wenn er mal angelegt ist, bei mehreren Benutzern verwendet werden.
+
+ Die Abhängigkeiten kann man prüfen mit:
+
+ /scripts/installation_check.pl -l
+
+
+
+ Standard
+
+ Der Standard-Vorlagensatz von Kivitendo. Wie unter http://demo.kivitendo.org zu
+ sehen.
+
+
+
+
+ f-tex
+
+ Ein Vorlagensatz, der in wenigen Minuten alle Dokumente zur Verfügung stellt.
+
+
+ Feature-Ãbersicht
+
+ Keine Redundanz. Es wird ein- und dieselbe LaTeX-Vorlage für alle briefartigen Dokumente verwendet. Also
+ Angebot, Rechnung, Performarechnung, Lieferschein, aber eben nicht für Paketaufkleber etc..
+
+ Leichte Anpassung an das Firmen-Layout durch verwendung eines Hintergrund-PDF. Dieses kann leicht mit dem
+ eigenen Lieblingsprogramm erstellt werden (Openoffice, Inkscape, Gimp, Adobe*)
+
+ Hintergrund-PDF umschaltbar auf "nur erste Seite" (Standard) oder "alle Seiten" (Option
+ "" in Datei letter.lco)
+
+ Hintergrund-PDF für Ausdruck auf bereits bedrucktem Briefpapier abschaltbar. Es wird dann nur bei per E-Mail
+ versendeten Dokumenten eingebunden (Option "" in Datei
+ letter.lco).
+
+ Nutzung der Layout-Funktionen von LaTeX für Seitenumbruch, Wiederholung von Kopfzeilen, Zwischensummen
+ etc. (danke an Kai-Martin Knaak für die Vorarbeit)
+
+ Anzeige des Empfängerlandes im Adressfeld nur, wenn es vom Land des eigenen Unternehmens abweicht (also die
+ Rechnung das Land verlässt).
+
+ Multisprachfähig leicht um weitere Sprachen zu erweitern, alle Ãbersetzungen in der Datei
+ translatinos.tex.
+
+ Auflistung von Bruttopreisen für Endverbraucher.
+
+
+
+
+ Die Installation
+
+ Vorlagenverzeichnis mit Option f-tex anlegen, siehe: . Das
+ Vorlagensystem funktioniert jetzt schon, hat allerdings noch einen Beispiel-Briefkopf.
+
+ Erstelle eine pdf-Hintergrund Datei und verlinke sie nach ./letter_head.pdf.
+ Editiere den Bereich "" in der datei letter.lco.
+
+
+ oder etwas Detaillierter:
+
+
+ Es wird eine Datei sample.lco erstellt und diese nach letter.lco 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 Hintergrundpdf verwiesen. Ich empfehle über dieses PDF die persönlichen Layoutanpassungen
+ vorzunehmen und sample.lco unverändert zu lassen. Die die Anpassung über eine
+ *.lco-Datei die letztlich auf letter.lco verlinkt ist ist aber auch möglich.
+
+
+
+ Es wird eine Datei sample_head.pdf mit ausgeliefert, diese wird nach letter_head.pdf
+ verlinkt. Damit gibt es schon mal eine Funktionsfähige Vorlage. Schau Dir nach Abschluss der Installation die Datei
+ sample_haed.pdf an und erstelle ein entsprechendes PDF passend zum Briefkopf Deiner Firma, diese dann im
+ Template Verzeichniss ablegen und statt sample_head.pdf nach letter_head.pdf
+ verlinken.
+
+
+
+ letzlich muss letter_head.pdf auf das passende Hintergrund-PDF verweisen, welches gewünschten Briefkopf
+ enthält. Bei Updates oder nach erneutem
+
+
+
+ Es wird eine Datei mydata.tex.example ausgeliefert, die nach mytdata.tex 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).
+
+
+ Alle Anpassungen zum Briefkopf, Fusszeilen, Firmenlogos, etc. sollten über die Hintergrund-PDF-Datei oder die
+ *.lco-Datei erfolgen.
+
+
+
+
+ f-tex Funktionsübersicht
+
+ 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.
+
+
+
+ Tabellen mit oder ohne Preis
+ Sprache der Tabellenüberschriften etc.
+ Anpassung der Bezugs-Zeile (z.B. Rechnungsnummer versus Angebotsnummer)
+ Darstellung von Brutto oder Netto-Preisen in der Auflistung (Endverbraucher versus Gewerblicher
+ Kunde)
+
+
+ Nachteil:
+
+
+ LaTeX hat ohnehin eine sehr steile Lehrnkurve. Die Datei letter.tex 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 häftig in den Fuss schiessen.
+
+
+ Wer nicht so tief in die Materie einsteigen will oder leicht zu frustrieren ist, sollte sein Hintergrund PDF auf Basis der
+ mitglieferten Datei sample_head.pdf erstellen, und sich an der Form der dargestellten Tabellen wie sie
+ ausgeliefert werden, erfreuen.
+
+
+ Kleiner Tipp: Nicht zu viel auf einmal wollen, lieber kleine kontinuierliche Schritte gehen.
+
+
+
+
+ Bruttopreise für Endverbraucher
+
+ Der auszuweisende Bruttopreis wird innerhalb der LaTeX-Umgebung berechnet. Es gibt zwar ein Feld, um bei Aufträgen "alle
+ Preise Brutto" auszuwählen, aber:
+
+
+ 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)
+
+
+ man darf beim Anlegen des Vorgangs nicht vergessen Dieses Häkchen zu setzen. (das ist in der Praxis wenn man sowohl
+ Endverbraucher- wie Gewerbekunden beliefert der eigentliche Knackpunkt)
+
+
+
+
+ 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:
+
+
+ Die Entscheidung, ob Netopreise ausgewiesen werden, ist nicht mehr fix mit einer Preisliste Verbunden.
+ Die Default-Zahlart kann im Kundendatensatz hinterlegt werden, und man muss nicht mehr daran denken, "alle Preise
+ Netto" auszuwählen.
+ Die Entscheidung, ob Netto- oder Bruttopreise ausgewiesen werden, kann direkt beim Drucken reviediert werden,
+ ohne dass sich der Auftragswert ändert.
+
+
+
+
+ Lieferadressen
+
+ In Lieferscheinen kommen shipto*-Variablen im Adressfeld zum Einsatz. Wenn die
+ shipto*-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.
+
+
+
+
+
+ RB
+
+ Vollständiger Dokumentensatz mit alternativem Design
- Wird garkein Fehler angezeigt sondern nur der Name des Templates,
- heiÃt das normalerweise, dass das LaTeX Binary nicht gefunden wurde.
- Prüfen Sie den Namen in der Konfiguration (Standard:
- pdflatex), und stellen Sie sicher, dass pdflatex
- (oder das von Ihnen verwendete System) vom Webserver ausgeführt werden
- darf.
+
+
+
+ Allgemeine Hinweise zu LaTeX Vorlagen
+ In den allermeisten Installationen sollte drucken jetzt schon
+ funktionieren. Sollte ein Fehler auftreten wirft TeX sehr lange
+ Fehlerbeschreibungen, der eigentliche Fehler ist immer die erste Zeite
+ die mit einem Ausrufezeichen anfängt. Häufig auftretende Fehler sind zum
+ Beispiel:
+
+
+
+ ! LaTeX Error: File `eurosym.sty' not found. Die entsprechende
+ LaTeX-Bibliothek wurde nicht gefunden. Das tritt vor allem bei
+ Vorlagen aus der Community auf. Installieren Sie die entsprechenden
+ Pakete.
+
+
+ ! Package inputenc Error: Unicode char \u8:... set up for
+ use with LaTeX. Dieser Fehler tritt auf, wenn sie versuchen mit
+ einer Standardinstallation exotische utf8 Zeichen zu drucken.
+ TeXLive unterstützt von Haus nur romanische Schriften und muss mit
+ diversen Tricks dazu gebracht werden andere Zeichen zu akzeptieren.
+ Adere TeX Systeme wie XeTeX schaffen hier Abhilfe.
+
+
+
+ Wird garkein Fehler angezeigt sondern nur der Name des Templates,
+ heiÃt das normalerweise, dass das LaTeX Binary nicht gefunden wurde.
+ Prüfen Sie den Namen in der Konfiguration (Standard:
+ pdflatex), und stellen Sie sicher, dass pdflatex
+ (oder das von Ihnen verwendete System) vom Webserver ausgeführt werden
+ darf.
+
+ Wenn sich das Problem nicht auf Grund der ausgabe im Webbrowser verifizieren lässt:
+
+
+ editiere [kivitendo-home]/config/kivitendo.conf und ändere "keep_tmp_files" auf 1
+ keep_temp_files = 1;
+
+
+ bei fastcgi oder mod_perl den Webserver neu Starten
+
+
+ Nochmal einen Druckversuch im Webfrontend auslösen
+
+
+ wechsele in das users Verzeichnis von kivitendo
+ cd [kivitendo-home]/users
+
+
+ LaTeX Suchpfad anpassen:
+ export TEXINPUTS=".:[kivitendo-home]/templates/[aktuelles_template_verzeichniss]:"
+
+
+ Finde herraus welche Datei kivitendo beim letzten Durchlauf erstellt hat
+ ls -lahtr ./1*.tex
+ Es sollte die letzte Datei ganz unten sein
+
+
+ für besseren Hinweis auf Fehler texdatei nochmals übersetzen
+ pdflatex ./1*.tex
+ in der *.tex datei nach dem Fehler suchen.
+
+
+
@@ -4137,6 +4374,18 @@ insserv kivitendo-task-server
und dem "end" werden nur ausgegeben, wenn die Variable
variablenname gesetzt und ungleich 0 ist.
+ Handelt es sich bei der benannten Variable um ein Array, also um einen Variablennamen, über den man mit
+ <%foreach variablenname%> iteriert, so wird mit diesem Konstrukt darauf getestet, ob das Array Elemente
+ enthält. Somit würde im folgenden Beispiel nur dann eine Liste von Zahlungseingängen samt ihrer Ãberschrift "Zahlungseingänge"
+ ausgegeben, wenn tatsächlich welche getätigt wurden:
+
+ <%if payment%>
+Zahlungseingänge:
+ <%foreach payment%>
+ Am <%paymentdate%>: <%payment%> â¬
+ <%end foreach%>
+<%end if%>
+
Die Bedingung kann auch negiert werden, indem das Wort
not nach dem if verwendet
wird. Beispiel:
@@ -5516,6 +5765,9 @@ filenames
Test::Deep (Debian-Paketname: libtest-deep-perl; Fedora Core:
perl-Test-Deep; openSuSE: perl-Test-Deep)
+ Test::Harness 3.0.0 oder höher. Dieses Modul ist ab Perl 5.10.1 Bestandteil der
+ Perl-Distribution und kann für frühere Versionen aus dem CPAN bezogen
+ werden.
diff --git a/doc/html/ch01.html b/doc/html/ch01.html
index 7922e2b1c..1478eb60b 100644
--- a/doc/html/ch01.html
+++ b/doc/html/ch01.html
@@ -1,4 +1,4 @@
Kapitel 1. Aktuelle Hinweise