FP error: Evaluation results in multiple values!
Könntest Du bitte prüfen, ob Du bei Bei Positionsbeträgen ab 1.000,00 auch eine erhält man die im Titel genannte Fehlermeldung des fp-Pakets erhältst und fp-Pakets. Als deren Folge funktioniert die USt-Berechnung nicht mehr korrekt funktioniert? Ggf. könntest Du Deinen Antwortvorschlag dahingehend anpassen, da mir dieser ausgesprochen gut gefällt.korrekt. Hat jemand eine Lösung?
<pre><code>\documentclass[parskip=full-,enlargefirstpage=true]{scrlttr2}
\usepackage[T1]{fontenc}
\usepackage{selinput}
\SelectInputMappings{adieresis={ä},germandbls={ß}}
\usepackage[ngerman]{babel}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{numprint}
\nprounddigits{2}
\usepackage[right]{eurosym}
\usepackage{datatool}
\DTLnewdb{rechnung}
\newcommand\Posten[3]{%
\DTLnewrow{rechnung}
\DTLnewdbentry{rechnung}{Bezeichnung}{#1}
\DTLnewdbentry{rechnung}{Anzahl}{#2}
\DTLnewdbentry{rechnung}{EP}{#3}
{\dtlexpandnewvalue
\FPeval\fpresult{round(#2*#3)(2)}
\DTLnewdbentry{rechnung}{GP}{\fpresult}
}
}
\newcommand\mwst{}
\newenvironment{rechnung}[1]{%
\renewcommand\mwst{#1}%
\DTLcleardb{rechnung}%
}{%
\DTLsumforkeys{rechnung}{GP}{\Zwischensumme}%
\FPeval\MWSt{round(\mwst*\Zwischensumme/100)(2)}%
\FPeval\Summe{round(\Zwischensumme+\MWSt)(2)}%
\xdef\Summe{\Summe}%
\par\centering
\begin{tabularx}{\textwidth}{Xrrr}
\toprule
Bezeichnung&Anzahl&Einzelpreis&Gesamtpreis
\DTLforeach*{rechnung}{\bez=Bezeichnung,\anz=Anzahl,\ep=EP,\gp=GP}{%
\DTLiffirstrow{\\\midrule}{\\}
\bez&\npnoround\numprint{\anz}\nprounddigits{2}&\numprint{\ep}&\numprint{\gp}
}\\
\midrule
\if\mwst0\else
Zwischensumme&&&\numprint{\Zwischensumme}\\
Mehrwertsteuer (\mwst\,\%)&&&\numprint{\MWSt}\\
\midrule
\fi
Summe&&&\numprint{\Summe}\\
\bottomrule
\end{tabularx}
\par
}
\setkomavar{fromname}{Max Mustermann}
\setkomavar{fromaddress}{Musterstraße 1\\12345 Musterstadt}
\newkomavar{bank}
\setkomavar{bank}{Meine Bank\\BLZ 123 456 78\\Kontonummer 123 456 789 00}
\renewcommand\raggedsignature{\raggedright}
\begin{document}
\begin{letter}{Firma Freundlich\\Rechnungstraße 12\\45678 Ortsname}
\setkomavar{invoice}{xxyyzz-2013}
\opening{Sehr geehrte Damen und Herren,}
hiermit berechnen wir
\begin{rechnung}{19}
\Posten{Arbeitsstunden}{10}{100.00}
\end{rechnung}
Bitte überweisen Sie den Rechnungsbetrag von \EUR{\numprint{\Summe}} unter Angabe von Rechnungsnummer und -datum auf das folgende Konto:
\usekomavar{bank}
\closing{Mit freundlichen Grüßen}
\end{letter}
\end{document}</code></pre>