Kivitendo Rechnung produziert Fehler nach Umzug.

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


Syon
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Di 17. Jan 2017, 09:25

Kivitendo Rechnung produziert Fehler nach Umzug.

Beitrag von Syon »

Hallo,
ich habe vor Jahren die Formulare für ein ERP-System (Kivitendo) eingepflegt.
Nun ist der Server neu aufgesetzt worden (vom alten Server mit Kivitendo 3.1.0 auf einen neuen mit jetzt 3.4.1)
Es läuft alles bis auf die LaTeX Vorlagen.
An diesen ist nichts verändert worden, sodass ich davon ausgehe etwas bei der Installation vergessen zu haben.
Kann ich herausfinden welche Pakete installiert sind?

Vielen Dank im voraus.

PS: Da ich nicht weiß, ob und wenn ja welcher Teil des Codes relevant für eine Beurteilung ist,habe ich die Daten zu pastebin kopiert.

Hier einmal der Fehleroutput:

http://pastebin.com/SJicdbVa

Sowie hier das Formular:

http://pastebin.com/CT3wtBex

Gast

Beitrag von Gast »

(/var/www/kivitendo-erp/templates/micha/kivitendobriefkopf.tex
 
 
 
! LaTeX Error: There's no line here to end.
 
See the LaTeX manual or LaTeX Companion for explanation.
Type H for immediate help.
...
 
l.110 }
%Ende sbox
 
)
In der Datei kivitendobriefkopf.tex ist vermutlich ein Fehler. Möglicherweise wurde ein \\ an einer Stelle verwendet, an der es (zumindest in dieser Form) nichts verloren hat. Allerdings ist auch verwunderlich, dass in der Datei überhaupt etwas gesetzt wird, bevor alle Pakete geladen sind, also wohl nicht in der Dokumentpräambel.

Es gibt weitere derartige Fehler in anderen Dateien.

Die Formulardatei ist für uns weitgehend unnütz, da sie unaufgelöste Variablen enthält. Wir bräuchten schon die Ergebnis-TeX-Datei, also invoice.tex mit allen aufgelösten Variablen reduziert zu einem Minimalbeispiel (unbedingt den Link beachten!). Allerdings sieht es so aus, als würde in der Datei \\ als Absatzende missgedeutet. Die Verwendung von \\ im Text ist fast immer falsch. Absätze macht man mit Leerzeile oder mit \par. Will man generell Absatzabstand verwendet man bei scrartcl Option parskip (es gibt verschiedene Werte dazu, siehe KOMA-Script-Anleitung oder KOMA-Script-Buch). Will man ausnahmsweise einen Abstand, verwendet man \smallskip, \medskip oder \bigskip oder notfalls \vspace{…}.

Für einige Pakete gibt es übrigens in der Datei keine erkennbare Verwendung. Alleine das Laden von fancyhdr führt allerdings zu der Warnung
Class scrartcl Warning: Usage of package `fancyhdr' together
(scrartcl) with a KOMA-Script class is not recommended.
(scrartcl) I'd suggest to use
(scrartcl) package `scrpage2' or `scrlayer-scrpage'.
(scrartcl) Nevertheless, using requested
(scrartcl) package `fancyhdr' on input line 13.
Briefkopf etc. kann man übriges sehr gut machen, wenn man das Paket scrletter verwendet, das Briefe im Stil von scrlttr2 innerhalb eines Dokuments beispielsweise mit scrartcl ermöglicht. Ob das allerdings in der total veralteten TeX-Live-Version (aktuell ist TeX Live 2016 mit diversen Updates), die da verwendet wird, bereits funktioniert, ist schwer zu sagen.

Syon
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Di 17. Jan 2017, 09:25

Beitrag von Syon »

Hallo,
die invoice.tex ist doch das Formular:
http://pastebin.com/CT3wtBex

Das Minimalbeispiel hatte ich gelesen, aber da ich ja nicht weiß woran es liegt hatte ich nichts gekürzt.
Aber so richtig verstehen tue ich das nicht,
In der alten Installation läuft das ohne Probleme.

:cry:

Die includierten Dateien (um einige Kommentare gekürzt):

kivitendobriefkopf.tex:

\fancypagestyle{plain}{%
	
	\fancyhf{}   										% Erstmal alles löschen
	\fancyhead[L]{\usebox{\plainpages}\helv\footnotesize \docnumber}
	\fancyhead[C]{\helv\footnotesize Seite \thepage/\pageref{LastPage}\hspace*{12mm}}
	\renewcommand{\headrulewidth}{0pt}
	\renewcommand{\footrulewidth}{0pt}
	\fancyfootoffset{10mm}
	\fancyheadoffset{10mm}
	}

\fancypagestyle{briefkopf}{%
	\fancyhf{}  			 							% Erstmal alles löschen
	\fancyhead[L]{\usebox{\kopf}}
	\renewcommand{\headrulewidth}{0pt}
	\renewcommand{\footrulewidth}{0pt}
    \fancyfootoffset{10mm}
	\fancyheadoffset{10mm}
	}
	
\pagestyle{plain}     									% Alle Seiten bekommen plain als Default-Stil


\newsavebox{\kopf}
\sbox{\kopf}{
	\setlength{\unitlength}{1mm}	 					% In der picture-Umgebung sollen alle Zahlen die Einheit 1mm haben.

\begin{picture}(0,0) 


    \put(-12.5,-288){\includegraphics*{kivitendo-seite1.pdf}}
  


	\put(10,-52){
		\parbox[tt]{8cm}{   
			\normalsize 
			\greeting \par
                        \name \par
			\nonemptyline{\cpgreeting{ }\cptitle{ }\cpgivenname{ }}{\cpname}
			\nonemptyline{}{\departmentone}
			\nonemptyline{}{\departmenttwo}
			\street \\
			\country{ }\zipcode{ }\city\par
		}%Ende parbox
	}%Ende put
\end{picture}	
}%Ende sbox
    

\newsavebox{\plainpages}
\sbox{\plainpages}{
	\setlength{\unitlength}{1mm}	 					% In der picture-Umgebung sollen alle Zahlen die Einheit 1mm haben.
	\begin{picture}(0,0) 
	 \put(-12.5,-288){\includegraphics*{kivitendo-seiteff.pdf}}
	\end{picture}	
}%Ende Sbox
Die kivitendobasis
% kivitendobasis.tex

\usepackage {color}
% ---------- Farbe für die Falzmarkierung ----------
\definecolor{linecolor}{gray}{.75}  	
\definecolor{rulerlineFirst}{RGB}{95,115,5} % Linienfarben Seite 1
\definecolor{rulerlinePages}{rgb}{0,0,0} % Linienfarben Folgeseiten
% ---------- Helvetica-Font für Fancyhdr -------------------------
\newcommand{\helv}{%
\fontfamily{phv}\fontsize{8}{11}\selectfont}
% ---------- Helvetica Font einstellen ----------------------------
\renewcommand{\familydefault}{\sfdefault}
\fontfamily{phv}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont{}
% Modern
% \fontfamily{cmss}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
% ---------- Basiseinheiten für die Positionierung -----------------
\newcommand{\vlogospacing}{45mm} % Erste Zeile unterhalb des Anschrift-Blocks
\newcommand{\hlogospacing}{45mm} % Logo-Breite für Ausrichtung
\newcommand{\heightstartbox}{45mm} % Höhe Minipage für Details und Formulartitel
% ---------- Bankverbindung des Unternehmens ---------- 
\newcommand{\companybank}{Bankname}
\newcommand{\companybankcode}{xxx xxx xx}
\newcommand{\companyaccountnumber}{xx xxx xxx xx}
% ---------- Elemente nur dann ausgeben, wenn ein Wert gesetzt ist ---------- 
\newcommand{\leer}{}
\newcommand{\nonemptyline}[2]{\ifthenelse{\equal{#2}{\leer}}{}{#1#2\\}}
\newcommand{\hasvalue}[2]{\ifthenelse{\equal{#1}{\leer}}{}{#2}}
% ---------- Seitendefinition A4 ---------- 
\setlength{\voffset}{-2.0cm}
\setlength{\hoffset}{-2.0cm}
\setlength{\topmargin}{0cm}
\setlength{\headheight}{0.5cm}
\setlength{\headsep}{1cm}
\setlength{\topskip}{0cm}
\setlength{\oddsidemargin}{1.5cm}
\setlength{\evensidemargin}{1.5cm}
\setlength{\textwidth}{174mm}
\setlength{\textheight}{24cm}
\setlength{\footskip}{1cm}
\setlength{\parindent}{0cm}
\renewcommand{\baselinestretch}{1}
% ---------- Abstand Tabellenzeilen erhöhen ---------- 
\renewcommand{\arraystretch}{1.3}
% ---------- Seitenköpfe und -Füße ----------

\newsavebox{\fusszeile}
\sbox{\fusszeile}{
	\tiny
	\begin{minipage}[t]{\textwidth}
	\renewcommand{\arraystretch}{0.9}
	\hspace*{5mm}
	\begin{tabular}[t]{l}		
		Firmenname 1 \\
		Firmenname 2\\
		Straße Nr\\
		Plz Ort\\
	\end{tabular}
	\hfill
	\begin{tabular}[t]{l}		
		\textbf{Sitz der Gesellschaft}\\
		Plz Ort\\
                \textbf{Geschäftsführer}\\
                Vorname Name\\
	\end{tabular}
	\hfill
	\begin{tabular}[t]{l}		
		\textbf{Handesregistereintrag}\\
		Amtsgericht Woshaltis\\
		HRB xxx\\
	\end{tabular}
	\hfill
	\begin{tabular}[t]{l}		
		USt-ID-Nr. DE xxxxxxxxx\\
		Steuer Nr. xx xxx xxxxx\\
	\end{tabular}
	\hfill
	 \begin{tabular}[t]{l}		
			\textbf{Bankverbindung}\\
			\companybank\\
			BLZ \companybankcode\\
			Konto \companyaccountnumber\\
	 \end{tabular}
	 \renewcommand{\arraystretch}{1}
	\end{minipage}
}%Ende sbox
kivitendoblanko
% ---------- Seitenstil-Definitionen ----------
% pagestyle "plain" umdefinieren:
\fancypagestyle{plain}{%
	
	\fancyhf{}   										% Erstmal alles löschen

	\fancyhead[L]{\usebox{\plainpages}\helv\footnotesize \docnumber}
	\fancyhead[C]{\helv\footnotesize Seite \thepage/\pageref{LastPage}\hspace*{12mm}}
	\renewcommand{\headrulewidth}{0pt}
	\renewcommand{\footrulewidth}{0pt}
	\fancyfootoffset{10mm}
	\fancyheadoffset{10mm}
	}

%  pagestyle "briefkopf" definieren:
\fancypagestyle{briefkopf}{%
	\fancyhf{}  			 							% Erstmal alles löschen
	\fancyhead[L]{\usebox{\kopf}}
	\renewcommand{\headrulewidth}{0pt}
	\renewcommand{\footrulewidth}{0pt}
    \fancyfootoffset{10mm}
	\fancyheadoffset{10mm}
	}
	
\pagestyle{plain}     									% Alle Seiten bekommen plain als Default-Stil

% ---------- Briefkopf ----------
\newsavebox{\kopf}
\sbox{\kopf}{
	\setlength{\unitlength}{1mm}	 					% In der picture-Umgebung sollen alle Zahlen die Einheit 1mm haben.

\begin{picture}(0,0) 

	\put(10,-52){
		\parbox[tt]{8cm}{   
			\normalsize 
			\name \\
			\nonemptyline{\cpgreeting{ }\cptitle{ }\cpgivenname{ }}{\cpname}
			\nonemptyline{}{\departmentone}
			\nonemptyline{}{\departmenttwo}
			\street \\
			\country{ }\zipcode{ }\city\par
		}%Ende parbox
	}%Ende put
	% Falzlinien - Werte ergeben sich aus topoffset etc. - im PDF ausgemessen und für gut befunden	
\end{picture}	
}%Ende sbox
    
%%%%%%%%%%%%%  Ende des Briefkopfes  %%%%%%%%%%%
% ---------- Gestaltungselemente Plainseiten ----------
\newsavebox{\plainpages}
\sbox{\plainpages}{
	\setlength{\unitlength}{1mm}	 					% In der picture-Umgebung sollen alle Zahlen die Einheit 1mm haben.
	\begin{picture}(0,0) 
	\end{picture}	
}%Ende Sbox

Gast

Beitrag von Gast »

Die Minimalbeispiel-Anleitung erklärt genau, was man tun soll, wenn man nicht weiß, woran es liegt.

Und nein, das, was du gepostet hattest ist nicht die Datei, die pdflatex zu sehen bekommt. Das kann gar nicht sein, wie du selbst testen könntest, indem du einen LaTeX-Lauf für eben diese Datei machst, wie in der Minimalbeispiel-Anleitung erklärt.

Wenn du jemanden suchst, der erst einmal deinen kompletten Build-Prozess nachvollzieht, dann bist du hier falsch. Dann musst du dir kommerziellen Support suchen.

Syon
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Di 17. Jan 2017, 09:25

Beitrag von Syon »

Das ist vielleicht wirklich besser....
Das original, so wie es z.Z. ja auch in der alten Version arbeitet, habe ich ja auch erstellen lassen. Ich habe einfach zu wenig Ahnung von der Materie.
PS: in der kivitendobriefkopf.tex sind gar keine //
Ich habe da jetzt wirklich lange dran herumgebastelt ohne Erfolg.

Aber vielen Dank für Deine Zeit.
Zuletzt geändert von Syon am Di 17. Jan 2017, 17:41, insgesamt 1-mal geändert.

Gast

Beitrag von Gast »

\\ und // sind zwei vollkommen unterschiedliche Dinge.

Syon
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Di 17. Jan 2017, 09:25

Beitrag von Syon »

Richtig, mein Fehler.
Aber auch die \\ gibts da nicht. :lol:

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Nun, ich sehe schon auf den ersten Blick einige. Z.B.
\name \\ 

Syon
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Di 17. Jan 2017, 09:25

Beitrag von Syon »

Hallo u_fischer,
Sie haben Recht, ich habe wirklich die Einzigen \\ in der kivitendobriefkopf.tex übersehen.
\street \\
habe ich jetzt durch
\street \par
ersetzt.
Fehler Nummer eins gelöst. Vielen Dank.

Aber ich werde für heute die Arbeit ruhen lassen. Offenbar bin ich nicht mehr konzentriert genug. :oops:

Antworten