\setkomavar{title}{\lagerliste}
\setkomavar{firsthead}{
- \normalsize
- \noindent\begin{tabular}[t]{@{}l@{}}
- <%company%>\strut\\
- <%address%>
- \end{tabular}
- \hfill
- \begin{tabular}[t]{rr@{}}
- Tel & <%tel%>\\
- Fax & <%fax%>%
- \end{tabular}
- \rule{\linewidth}{\heavyrulewidth}
+ \normalsize
+ \noindent\begin{tabular}[t]{@{}l@{}}
+ <%company%>\strut\\
+ <%address%>
+ \end{tabular}
+ \hfill
+ \begin{tabular}[t]{rr@{}}
+ Tel & < %tel%>\\
+ Fax & < %fax%>%
+ \end{tabular}
+ \rule{\linewidth}{\heavyrulewidth}
}
\makeatletter
\setkomavar{location}{
- \backaddr@format{\scriptsize\usekomafont{backaddress}%
- \strut\lieferanschrift
- }
- \par\medskip\setlength{\parskip}{\z@}
- \normalsize
- <%shiptoname%>\par
- <%if shiptocontact%> <%shiptocontact%><%end if%>\par
- <%shiptodepartment_1%>\par
- <%shiptodepartment_2%>\par
- <%shiptostreet%>\par
- <%shiptozipcode%> <%shiptocity%>%
- }
+ \backaddr@format{\scriptsize\usekomafont{backaddress}%
+ \strut\lieferanschrift
+ }
+ \par\medskip\setlength{\parskip}{\z@}
+ \normalsize
+ <%shiptoname%>\par
+ <%if shiptocontact%> <%shiptocontact%><%end if%>\par
+ <%shiptodepartment_1%>\par
+ <%shiptodepartment_2%>\par
+ <%shiptostreet%>\par
+ <%shiptozipcode%> <%shiptocity%>%
+}
\makeatother
\begin{letter}{
- <%name%>\ifhmode\\\fi
- <%street%>\ifhmode\\\fi
- <%zipcode%> <%city%>\ifhmode\\\fi
- <%country%>
- }
+<%name%>\ifhmode\\\fi
+<%street%>\ifhmode\\\fi
+<%zipcode%> <%city%>\ifhmode\\\fi
+<%country%>
+}
\opening{}
\begin{SimpleTabular}[colspec=*6X,headline={\bfseries\bestellnummer&\bfseries\datum&\bfseries\kontakt
- <%if warehouse%>%
- &\bfseries\lager%
- <%end warehouse%>%
- &\bfseries\lagerplatz&\bfseries\lieferungMit}]
+ <%if warehouse%>%
+ &\bfseries\lager%
+ <%end warehouse%>%
+ &\bfseries\lagerplatz&\bfseries\lieferungMit}]
<%ordnumber%>%
&%
<%if shippingdate%>%
- <%shippingdate%>%
+ <%shippingdate%>%
<%end shippingdate%>%
<%if not shippingdate%>%
- <%orddate%>%
+ <%orddate%>%
<%end shippingdate%>%
& <%employee%>%
<%if warehouse%>%
\bigskip
\begin{SimpleTabular}[colspec=rlXllrrll,headline={\bfseries\position&\bfseries\nummer&\bfseries\beschreibung&\bfseries\seriennummer & &\bfseries\menge&\bfseries\erh&&\bfseries\lagerplatz}]
-<%foreach number%>%
+ <%foreach number%>%
<%runningnumber%> & <%number%> & <%description%> & <%serialnumber%> &
<%deliverydate%> & <%qty%> & <%ship%> & <%unit%> & <%bin%> \\
-<%end number%>%
+ <%end number%>%
\end{SimpleTabular}
\end{letter}
\begin{document}
\begin{letter}{
- <%name%>\ifhmode\\\fi
- <%street%>\ifhmode\\\fi
- <%zipcode%> <%city%>\ifhmode\\\fi
- <%country%>%
- }
+<%name%>\ifhmode\\\fi
+<%street%>\ifhmode\\\fi
+<%zipcode%> <%city%>\ifhmode\\\fi
+<%country%>%
+}
\opening{<%company%>}
\pagestyle{empty}
<%name%> \hfill <%datepaid%> \hfill <%source%>%
\begin{SimpleTabular}[colspec=lXrr,headline={\bfseries\rechnung&\bfseries\ausgestellt&\bfseries\faellig&\bfseries\verrechnet}]
-<%foreach invnumber%>%
-<%invnumber%> & <%invdate%> & <%due%> & <%paid%> \\
-<%end invnumber%>%
+ <%foreach invnumber%>%
+ <%invnumber%> & <%invdate%> & <%due%> & <%paid%> \\
+ <%end invnumber%>%
\end{SimpleTabular}
\end{letter}
\begin{document}
\begin{letter}{
- <%name%>\strut\\
- <%if department_1%><%department_1%>\\<%end if%>%
- <%if department_2%><%department_2%>\\<%end if%>%
- <%cp_givenname%> <%cp_name%>\strut\\
- <%street%>\strut\\
- <%zipcode%> <%city%>\strut\\
- <%country%> \strut
- }
+<%name%>\strut\\
+<%if department_1%><%department_1%>\\<%end if%>%
+<%if department_2%><%department_2%>\\<%end if%>%
+<%cp_givenname%> <%cp_name%>\strut\\
+<%street%>\strut\\
+<%zipcode%> <%city%>\strut\\
+<%country%> \strut
+}
% Bei Kontaktperson Anrede nach Geschlecht unterscheiden.
% Bei natürlichen Personen persönliche Anrede, sonst allgemeine Anrede.
\opening{
- \Ifstr{<%cp_name%>}{}
- {<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
- {
- \Ifstr{<%cp_gender%>}{f}
- {\anredefrau}
- {\anredeherr}
- <%cp_title%> <%cp_name%>,
- }
- }
+\Ifstr{<%cp_name%>}{}
+{<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
+ {
+ \Ifstr{<%cp_gender%>}{f}
+ {\anredefrau}
+ {\anredeherr}
+ <%cp_title%> <%cp_name%>,
+ }
+ }
\thispagestyle{kivitendo.letter.first}
\gutschriftformel
\begin{PricingTabular*}%
-% eigentliche Tabelle%
-\FakeTable{%
- <%foreach number%>%
- <%runningnumber%> &%
- <%number%> &%
- \textbf{<%description%>}%
- <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
- <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
- <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
- <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
- &%
- <%qty%> <%unit%> &%
- <%sellprice%>&%
- \Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}%
- <%linetotal%>\tabularnewline%
- <%end number%>%
- }%
- \begin{PricingTotal}%
- % Tabellenende letzte Seite
- \nettobetrag & <%subtotal%>\\%
- <%foreach tax%>%
- <%taxdescription%> & <%tax%>\\%
- <%end tax%>%
- \bfseries\schlussbetrag & \bfseries <%ordtotal%>\\%
- \end{PricingTotal}%
+ % eigentliche Tabelle%
+ \FakeTable{%
+ <%foreach number%>%
+ <%runningnumber%> &%
+ <%number%> &%
+ \textbf{<%description%>}%
+ <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
+ <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
+ <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
+ <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
+ &%
+ <%qty%> <%unit%> &%
+ <%sellprice%>&%
+ \Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}%
+ <%linetotal%>\tabularnewline%
+ <%end number%>%
+ }%
+ \begin{PricingTotal}%
+ % Tabellenende letzte Seite
+ \nettobetrag & <%subtotal%>\\%
+ <%foreach tax%>%
+ <%taxdescription%> & <%tax%>\\%
+ <%end tax%>%
+ \bfseries\schlussbetrag & \bfseries <%ordtotal%>\\%
+ \end{PricingTotal}%
\end{PricingTabular*}
<%if notes%>%
\vspace{0.4cm}
{\color{purple} Bitte unterschreiben und faxen/mailen an:
- \begin{center} <%employee_fax%> / <%employee_email%> \end{center}}
+\begin{center} <%employee_fax%> / <%employee_email%> \end{center}}
\normalsize
\vspace{0.4cm}
<%name%>, <%street%>, <%zipcode%> <%city%>, <%country%>\hspace*{\fill}\\
im\\
\uline{ \StrGobbleLeft{<%reqdate%>}{3} \hspace*{\fill}}\\
-{\color{gray}(Monat und Jahr des Erhalts des Liefergegenstands im Mitgliedstaat, in den der Liefergegenstand gelangt ist, wenn der liefernde Unternehmer den Liefergegenstand befördert oder versendet hat oder wenn der Abnehmer den Liefergegenstand versendet hat)}\\
+ {\color{gray}(Monat und Jahr des Erhalts des Liefergegenstands im Mitgliedstaat, in den der Liefergegenstand gelangt ist, wenn der liefernde Unternehmer den Liefergegenstand befördert oder versendet hat oder wenn der Abnehmer den Liefergegenstand versendet hat)}\\
\TextField[name=delivery, bordercolor=gray, width=\linewidth]{}\\
\uline{<%country%>\hspace*{\fill}}\\
-{\color{gray}(Mitgliedstaat und Ort, wohin der Liefergegenstand im Rahmen einer Beförderung oder Versendung gelangt ist)}\\
+ {\color{gray}(Mitgliedstaat und Ort, wohin der Liefergegenstand im Rahmen einer Beförderung oder Versendung gelangt ist)}\\
erhalten habe / gelangt ist.
\vspace{0.4cm}
{\color{purple} Please sign below and send back to fax-number/mail-address:
- \begin{center} <%employee_fax%> / <%employee_email%> \end{center}}
+\begin{center} <%employee_fax%> / <%employee_email%> \end{center}}
\normalsize
\vspace{0.4cm}
in\\
\uline{ \StrGobbleLeft{<%reqdate%>}{3} \hspace*{\fill}}\\
-{\color{gray}(Month and year the object of the supply was received in the Member State of entry if the supplying trader transported or dispatched the object of the supply or if the customer dispatched the object of the supply)}\\
+ {\color{gray}(Month and year the object of the supply was received in the Member State of entry if the supplying trader transported or dispatched the object of the supply or if the customer dispatched the object of the supply)}\\
\TextField[name=delivery, bordercolor=gray, width=\linewidth]{}\\
{\color{gray}(Month and year the transportation ended if the customer transported the object of the supply himself or herself)}\\
in / at \textsuperscript{1)}\\
\uline{<%country%>\hspace*{\fill}}\\
-{\color{gray}(Member State and place of entry as part of the transport or dispatch of the object)}\\
+ {\color{gray}(Member State and place of entry as part of the transport or dispatch of the object)}\\
% X\TextField[name=delivery, bordercolor=gray, width=\linewidth]{}\\
\makeatletter
\Ifstr{\lxlangcode}{EN}{
- \main@language{english}
- \input{english.tex}}{
- \Ifstr{\lxlangcode}{DE}{
- \main@language{ngerman}
- \input{deutsch.tex}}{\input{deutsch.tex}}
+ \main@language{english}
+ \input{english.tex}}{
+ \Ifstr{\lxlangcode}{DE}{
+ \main@language{ngerman}
+ \input{deutsch.tex}}{\input{deutsch.tex}}
} % Ende EN
% Mandanten-/Firmenabhängigkeiten
% \identpath/<euro/chf/usd/default>_account.tex
\@ifundefined{lxcurrency}{}{
- \setupCurrencyConfig{\identpath}{\lxcurrency}
+ \setupCurrencyConfig{\identpath}{\lxcurrency}
}
% Befehl f. normale Schriftart und -größe
\KOMAoptions{
- fontsize=10pt,
- parskip=half-,% Absatzkennzeichnung durch Abstand statt Einzug
+ fontsize=10pt,
+ parskip=half-,% Absatzkennzeichnung durch Abstand statt Einzug
}
% Hier ist es auch möglich zusätzliche Schriftarten zu laden.
%
% % \ifoot{<inhalt innen/links>}\cfoot{<inhalt zentriert>}\ofoot{<inhalt außen/rechts>}
% dann sollte jedoch darauf geachtet werden, dass das Makro in den einzelnen Vorlagen aufgerufen wird und daher definiert sein sollte.
\newcommand{\ourhead}[5] {
- \chead{
- \makebox[\textwidth]{
- \Ifstr{#1}{}{}{#1: #2 \hspace{0.7cm}}
- #3
- \Ifstr{#4}{}{}{~\nr: #4}
- \Ifstr{#5}{}{}{\vom ~ #5}
- \hspace{0.7cm} - \seite ~ \thepage/\letterlastpage ~-%
- }
- }
+ \chead{
+ \makebox[\textwidth]{
+ \Ifstr{#1}{}{}{#1: #2 \hspace{0.7cm}}
+ #3
+ \Ifstr{#4}{}{}{~\nr: #4}
+ \Ifstr{#5}{}{}{\vom ~ #5}
+ \hspace{0.7cm} - \seite ~ \thepage/\letterlastpage ~-%
+ }
+ }
}
%Ende Anpassungen der Kopfzeile
%Box generieren, um die Höhe des Fußes zu kennen, damit ist eine automatische Anpassung des unteren Randes möglich
\if@kivi@footer
-\newsavebox\footerbox
-\begin{lrbox}\footerbox
- \usekomafont{pagefoot}%
- % Anfang des eigentlichen Inhaltes der Fußzeile
- \begin{tabular*}{\textwidth}[t]{@{\extracolsep{\fill}}p{.25\linewidth}p{.25\linewidth}r@{\extracolsep{0pt}\hspace{2\tabcolsep}}l@{}}%
- \firma & \email & \textKontonummer & \kontonummer \\
- \strasse & \homepage & \textBank & \bank \\
- \ort & \textUstid\ \ustid & \textIban & \iban \\
- \textTelefon~\telefon & \finanzamt & \textBic & \bic \\
- \Ifstr{\fax}{}{}{\textFax~\fax} & &\textBankleitzahl & \bankleitzahl
- \end{tabular*}
- % Ende des Fußzeileninhaltes.
-\end{lrbox}
-
-%Box in den Fuß eintragen, durch die zusätzliche Angabe in der eckigen Klammer, wird die Fußzeile auch auf der ersten Seite verwendet, falls für die erste Seite eine unterschiedliche Fußzeile verwendet werden soll, ist es möglich den obigen Mechanismus mit einem anderen Makronamen als footerbox zu kopieren
-\cfoot[\usebox\footerbox]{\usebox\footerbox}
-
-%Fußhöhe auf Höhe der Box
-%Automatische Anpassung des unteren Randes
-\setlength{\footheight}{\dimexpr\ht\footerbox+\dp\footerbox}
-\setlength{\footskip}{\dimexpr\footheight+\baselineskip}
-\geometry{
- includefoot,
-% bottom=1cm,% Falls der untere Rand kleiner sein soll, als die Seitenränder.
-% Weitere Anpassungen der Ränder sind hier ebenfalls möglich
-}
+ \newsavebox\footerbox
+ \begin{lrbox}\footerbox
+ \usekomafont{pagefoot}%
+ % Anfang des eigentlichen Inhaltes der Fußzeile
+ \begin{tabular*}{\textwidth}[t]{@{\extracolsep{\fill}}p{.25\linewidth}p{.25\linewidth}r@{\extracolsep{0pt}\hspace{2\tabcolsep}}l@{}}%
+ \firma & \email & \textKontonummer & \kontonummer \\
+ \strasse & \homepage & \textBank & \bank \\
+ \ort & \textUstid\ \ustid & \textIban & \iban \\
+ \textTelefon~\telefon & \finanzamt & \textBic & \bic \\
+ \Ifstr{\fax}{}{}{\textFax~\fax} & &\textBankleitzahl & \bankleitzahl
+ \end{tabular*}
+ % Ende des Fußzeileninhaltes.
+ \end{lrbox}
+
+ %Box in den Fuß eintragen, durch die zusätzliche Angabe in der eckigen Klammer, wird die Fußzeile auch auf der ersten Seite verwendet, falls für die erste Seite eine unterschiedliche Fußzeile verwendet werden soll, ist es möglich den obigen Mechanismus mit einem anderen Makronamen als footerbox zu kopieren
+ \cfoot[\usebox\footerbox]{\usebox\footerbox}
+
+ %Fußhöhe auf Höhe der Box
+ %Automatische Anpassung des unteren Randes
+ \setlength{\footheight}{\dimexpr\ht\footerbox+\dp\footerbox}
+ \setlength{\footskip}{\dimexpr\footheight+\baselineskip}
+ \geometry{
+ includefoot,
+ % bottom=1cm,% Falls der untere Rand kleiner sein soll, als die Seitenränder.
+ % Weitere Anpassungen der Ränder sind hier ebenfalls möglich
+ }
\fi
% Ende Anpassungen der Fußzeile
\begin{document}
\begin{letter}{
- <%name%>\strut\\
- <%if department_1%><%department_1%>\\<%end if%>%
- <%if department_2%><%department_2%>\\<%end if%>%
- <%cp_givenname%> <%cp_name%>\strut\\
- <%street%>\strut\\
- <%zipcode%> <%city%>\strut\\
- <%country%> \strut
- }
+<%name%>\strut\\
+<%if department_1%><%department_1%>\\<%end if%>%
+<%if department_2%><%department_2%>\\<%end if%>%
+<%cp_givenname%> <%cp_name%>\strut\\
+<%street%>\strut\\
+<%zipcode%> <%city%>\strut\\
+<%country%> \strut
+}
% Bei Kontaktperson Anrede nach Geschlecht unterscheiden.
% Bei natürlichen Personen persönliche Anrede, sonst allgemeine Anrede.
\opening{
- \Ifstr{<%cp_name%>}{}
- {<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
- {
- \Ifstr{<%cp_gender%>}{f}
- {\anredefrau}
- {\anredeherr}
- <%cp_title%> <%cp_name%>,
- }
- }
+\Ifstr{<%cp_name%>}{}
+{<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
+ {
+ \Ifstr{<%cp_gender%>}{f}
+ {\anredefrau}
+ {\anredeherr}
+ <%cp_title%> <%cp_name%>,
+ }
+ }
\thispagestyle{kivitendo.letter.first}
<%if notes%>%
- <%notes%>%
- \vspace{0.5cm}
+<%notes%>%
+\vspace{0.5cm}
<%end if%>%
% amount = 1cm, % Setzt die Breite der Mengenspalte auf 1cm
% desc/header = Artikelbeschreibung, %Ändert die Überschrift der Bezeichnunsspalte in „Artikelbeschreibung”
\begin{PricingTabular*}%
- % eigentliche Tabelle
- \FakeTable{%
- <%foreach number%>%
- <%runningnumber%> &%
- <%number%> &%
- \textbf{<%description%>}%
- <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
- <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
- <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
- <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
- &%
- <%qty%> <%unit%> &%
- <%sellprice%>&%
- \Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}%
- <%linetotal%>\tabularnewline%
- <%end number%>%
- }%
- \begin{PricingTotal}%
- % Tabellenende letzte Seite
- \nettobetrag & <%subtotal%>\\%
- <%foreach tax%>%
- <%taxdescription%> & <%tax%>\\%
- <%end tax%>%
- \bfseries\schlussbetrag & \bfseries <%invtotal%>\\%
- \end{PricingTotal}%
+ % eigentliche Tabelle
+ \FakeTable{%
+ <%foreach number%>%
+ <%runningnumber%> &%
+ <%number%> &%
+ \textbf{<%description%>}%
+ <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
+ <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
+ <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
+ <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
+ &%
+ <%qty%> <%unit%> &%
+ <%sellprice%>&%
+ \Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}%
+ <%linetotal%>\tabularnewline%
+ <%end number%>%
+ }%
+ \begin{PricingTotal}%
+ % Tabellenende letzte Seite
+ \nettobetrag & <%subtotal%>\\%
+ <%foreach tax%>%
+ <%taxdescription%> & <%tax%>\\%
+ <%end tax%>%
+ \bfseries\schlussbetrag & \bfseries <%invtotal%>\\%
+ \end{PricingTotal}%
\end{PricingTabular*}
\vspace{0.2cm}
\Ifstr{<%deliverydate%>}{}{}{%
- \leistungsdatumGleichRechnungsdatum%
+ \leistungsdatumGleichRechnungsdatum%
}{
- \lieferungErfolgtAm ~<%deliverydate%>.
+ \lieferungErfolgtAm ~<%deliverydate%>.
}\\
<%if payment_terms%>%
- \zahlung ~<%payment_terms%>\\
+\zahlung ~<%payment_terms%>\\
<%end payment_terms%>%
<%if delivery_term%>%
- \lieferung ~<%delivery_term.description_long%>\\
+\lieferung ~<%delivery_term.description_long%>\\
<%end delivery_term%>%
<%if ustid%>\ihreustid ~<%ustid%>.\\<%end if%>%
\ifnum<%taxzone_id%>=1
- \steuerfreiEU\\ % EU mit USt-ID Nummer
+\steuerfreiEU\\ % EU mit USt-ID Nummer
\else
- \ifnum<%taxzone_id%>=3
- \steuerfreiAUS\\ % Außerhalb EU
- \fi
+\ifnum<%taxzone_id%>=3
+\steuerfreiAUS\\ % Außerhalb EU
+\fi
\fi
\closing{\gruesse}
\KOMAoptions{fontsize=12pt}
% Schriftart, Eingabelayout der Tastatur
\ifPDFTeX
- \RequirePackage[utf8]{inputenc}% Nur notwendig, wenn Basis älter als TL2018
- \RequirePackage[T1]{fontenc}
- \RequirePackage{lmodern}
+ \RequirePackage[utf8]{inputenc}% Nur notwendig, wenn Basis älter als TL2018
+ \RequirePackage[T1]{fontenc}
+ \RequirePackage{lmodern}
- \RequirePackage{eurosym}
- \DeclareUnicodeCharacter{20AC}{\euro}
+ \RequirePackage{eurosym}
+ \DeclareUnicodeCharacter{20AC}{\euro}
\else
- \RequirePackage{fontspec}
+ \RequirePackage{fontspec}
\fi
\RequirePackage{xltabular}
\RequirePackage[fromlogo,fromalign=right,
firstfoot=false,%Für einheitliche Randeinstellungen
refline=nodate,
- ]{scrletter}
+]{scrletter}
\LoadLetterOption{DIN}
\newkomavar{transaction}
\DeclareNewLayer[
-foreground,
-hoffset=\useplength{toaddrhpos},
-voffset=\dimexpr\useplength{toaddrvpos}+\useplength{toaddrheight}+4\baselineskip,%sep to shippingaddressbox
-contents={\usebox\shippingAddressBox}
+ foreground,
+ hoffset=\useplength{toaddrhpos},
+ voffset=\dimexpr\useplength{toaddrvpos}+\useplength{toaddrheight}+4\baselineskip,%sep to shippingaddressbox
+ contents={\usebox\shippingAddressBox}
]{kivitendo.shippingaddress}
\newpairofpagestyles{kivitendo.letter}{}
\renewcommand*{\letterpagestyle}{kivitendo.letter}
\DeclareNewPageStyleByLayers{kivitendo.letter.first}{
- kivitendo.shippingaddress,
- plain.kivitendo.letter.head.odd,plain.kivitendo.letter.head.even,plain.kivitendo.letter.head.oneside,%
- plain.kivitendo.letter.foot.odd,plain.kivitendo.letter.foot.even,plain.kivitendo.letter.foot.oneside,%
+ kivitendo.shippingaddress,
+ plain.kivitendo.letter.head.odd,plain.kivitendo.letter.head.even,plain.kivitendo.letter.head.oneside,%
+ plain.kivitendo.letter.foot.odd,plain.kivitendo.letter.foot.even,plain.kivitendo.letter.foot.oneside,%
}
\setkomavar{backaddress}{\firma\ $\cdot$ \strasse\ $\cdot$ \ort}
\setkomavar{firsthead}{
- \if@logo
- \rlap{\usekomavar{fromlogo}}%
- \fi
+ \if@logo
+ \rlap{\usekomavar{fromlogo}}%
+ \fi
}
\@setplength{locwidth}{6cm}
\cs_new:Nn \__kivi_set_colwidth:nn {
- \dim_set:cn {l_kivi_tab_#1_dim} {#2}
+ \dim_set:cn {l_kivi_tab_#1_dim} {#2}
}
\cs_new:Nn \__kivi_initialize_columns: {
- \clist_map_inline:Nn \g_kivi_pricingtable_col_clist {
- \bool_if_exist:cF {l_kivi_col_##1_bool}
- {
- \bool_new:c {l_kivi_col_##1_bool}
- \dim_new:c {l_kivi_tab_##1_dim}
- \keys_define:nn {kivi/PricingTable} {
- ##1 .choice:,
- ##1 / true .code:n = \bool_set_true:c {l_kivi_col_##1_bool},
- ##1 / false .code:n = \bool_set_false:c {l_kivi_col_##1_bool},
- ##1 / unknown .code:n = {
- \bool_set_true:c {l_kivi_col_##1_bool}
- \dim_set:cn {l_kivi_tab_##1_dim} {####1}
- },
- ##1 .default:n = true,
- ##1 .initial:n = true,
- ##1 / header .prop_put:c = {l_kivi_col_##1_prop},
- ##1 / colspec .prop_put:c = {l_kivi_col_##1_prop},
- }
- }
- }
+ \clist_map_inline:Nn \g_kivi_pricingtable_col_clist {
+ \bool_if_exist:cF {l_kivi_col_##1_bool}
+ {
+ \bool_new:c {l_kivi_col_##1_bool}
+ \dim_new:c {l_kivi_tab_##1_dim}
+ \keys_define:nn {kivi/PricingTable} {
+ ##1 .choice:,
+ ##1 / true .code:n = \bool_set_true:c {l_kivi_col_##1_bool},
+ ##1 / false .code:n = \bool_set_false:c {l_kivi_col_##1_bool},
+ ##1 / unknown .code:n = {
+ \bool_set_true:c {l_kivi_col_##1_bool}
+ \dim_set:cn {l_kivi_tab_##1_dim} {####1}
+ },
+ ##1 .default:n = true,
+ ##1 .initial:n = true,
+ ##1 / header .prop_put:c = {l_kivi_col_##1_prop},
+ ##1 / colspec .prop_put:c = {l_kivi_col_##1_prop},
+ }
+ }
+ }
}
\clist_new:N \g_kivi_pricingtable_col_clist
\keys_define:nn {kivi/PricingTable} {
- columns .code:n =
- \clist_gset:Nn \g_kivi_pricingtable_col_clist {#1}
- \__kivi_initialize_columns:,
- columns .initial:n = {pos, id, desc, amount, price, pricetotal},
- unknown .code:n = \keys_set:no {kivi/Tabular} {\l_keys_key_str=#1}
+ columns .code:n =
+ \clist_gset:Nn \g_kivi_pricingtable_col_clist {#1}
+ \__kivi_initialize_columns:,
+ columns .initial:n = {pos, id, desc, amount, price, pricetotal},
+ unknown .code:n = \keys_set:no {kivi/Tabular} {\l_keys_key_str=#1}
}
% set default values for colwidth
\keys_set:nn {kivi/PricingTable} {
- pos=5ex,
- id=4em,
- amount=5em,
- price=7em,
- pricetotal=7em,
-% desc=auto,
- pos/header=\position,
- id/header=\artikelnummer,
- desc/header=\bezeichnung,
- amount/header=\menge,
- price/header=\einzelpreis,
- pricetotal/header=\gesamtpreis,
- price / colspec = Price,
- pricetotal / colspec = Price ,
+ pos=5ex,
+ id=4em,
+ amount=5em,
+ price=7em,
+ pricetotal=7em,
+ % desc=auto,
+ pos/header=\position,
+ id/header=\artikelnummer,
+ desc/header=\bezeichnung,
+ amount/header=\menge,
+ price/header=\einzelpreis,
+ pricetotal/header=\gesamtpreis,
+ price / colspec = Price,
+ pricetotal / colspec = Price ,
}
\dim_new:N \g_kivi_tabcolsep_dim
\setlength\tabcolsep{.5\tabcolsep}
\prg_new_conditional:Nnn \kivi_if_Price_col:n {T} {
- \prop_get:cnN {l_kivi_col_#1_prop} {colspec} \l_tmpa_tl
- \exp_args:NV \tl_if_eq:nnTF \l_tmpa_tl {Price}
- {\prg_return_true:}
- {\prg_return_false:}
+ \prop_get:cnN {l_kivi_col_#1_prop} {colspec} \l_tmpa_tl
+ \exp_args:NV \tl_if_eq:nnTF \l_tmpa_tl {Price}
+ {\prg_return_true:}
+ {\prg_return_false:}
}
\cs_new:Nn \__kivi_calc_desc_column: {
- \bool_if:NTF \g__kivi_Tabular_rowcolor_bool
- {\dim_set:Nn \l_kivi_tab_desc_leftskip_dim {2\g_kivi_tabcolsep_dim}}
- {\dim_zero:N \l_kivi_tab_desc_leftskip_dim}
- \dim_zero:N \l_kivi_tab_desc_dim
- \bool_set_false:N \l_tmpa_bool
- \tl_gclear:N \g_kivi_Pricing_colspec_tl
- \clist_map_inline:Nn \g_kivi_pricingtable_col_clist {
- \tl_if_eq:nnTF {##1} {desc} {
- \dim_set:Nn \l_kivi_tab_desc_dim {
- \textwidth-\l_kivi_tab_desc_leftskip_dim
- }
- \bool_set_true:N \l_tmpa_bool
- \tl_gput_right:Nn \g_kivi_Pricing_colspec_tl {p{\l_kivi_tab_desc_dim}}
- }{
- \bool_if:cT {l_kivi_col_##1_bool} {
- \bool_if:NTF \l_tmpa_bool {
- \dim_sub:Nn \l_kivi_tab_desc_dim {
- \dim_use:c {l_kivi_tab_##1_dim}+2\g_kivi_tabcolsep_dim
- }
- }{
- \dim_add:Nn \l_kivi_tab_desc_leftskip_dim {
- \dim_use:c {l_kivi_tab_##1_dim}+2\g_kivi_tabcolsep_dim
- }
- }
- \tl_gput_right:Nn \g_kivi_Pricing_colspec_tl {K{\dim_use:c {l_kivi_tab_##1_dim}}}
- \kivi_if_Price_col:nT {##1} {\tl_gput_right:Nn \g_kivi_Pricing_colspec_tl {<{\__kivi_tab_column_currency:}}}
- }
- }
- }
- \bool_if:NF \g__kivi_Tabular_rowcolor_bool {
- \tl_gput_left:Nn \g_kivi_Pricing_colspec_tl {@{}}
- \tl_gput_right:Nn \g_kivi_Pricing_colspec_tl {@{}}
- }
+ \bool_if:NTF \g__kivi_Tabular_rowcolor_bool
+ {\dim_set:Nn \l_kivi_tab_desc_leftskip_dim {2\g_kivi_tabcolsep_dim}}
+ {\dim_zero:N \l_kivi_tab_desc_leftskip_dim}
+ \dim_zero:N \l_kivi_tab_desc_dim
+ \bool_set_false:N \l_tmpa_bool
+ \tl_gclear:N \g_kivi_Pricing_colspec_tl
+ \clist_map_inline:Nn \g_kivi_pricingtable_col_clist {
+ \tl_if_eq:nnTF {##1} {desc} {
+ \dim_set:Nn \l_kivi_tab_desc_dim {
+ \textwidth-\l_kivi_tab_desc_leftskip_dim
+ }
+ \bool_set_true:N \l_tmpa_bool
+ \tl_gput_right:Nn \g_kivi_Pricing_colspec_tl {p{\l_kivi_tab_desc_dim}}
+ }{
+ \bool_if:cT {l_kivi_col_##1_bool} {
+ \bool_if:NTF \l_tmpa_bool {
+ \dim_sub:Nn \l_kivi_tab_desc_dim {
+ \dim_use:c {l_kivi_tab_##1_dim}+2\g_kivi_tabcolsep_dim
+ }
+ }{
+ \dim_add:Nn \l_kivi_tab_desc_leftskip_dim {
+ \dim_use:c {l_kivi_tab_##1_dim}+2\g_kivi_tabcolsep_dim
+ }
+ }
+ \tl_gput_right:Nn \g_kivi_Pricing_colspec_tl {K{\dim_use:c {l_kivi_tab_##1_dim}}}
+ \kivi_if_Price_col:nT {##1} {\tl_gput_right:Nn \g_kivi_Pricing_colspec_tl {<{\__kivi_tab_column_currency:}}}
+ }
+ }
+ }
+ \bool_if:NF \g__kivi_Tabular_rowcolor_bool {
+ \tl_gput_left:Nn \g_kivi_Pricing_colspec_tl {@{}}
+ \tl_gput_right:Nn \g_kivi_Pricing_colspec_tl {@{}}
+ }
}
\newcolumntype{K}[1]{>{\raggedleft\arraybackslash}p{#1}}
\tcbuselibrary{breakable, skins}
\tcb@new@skin{kivi@LT}{base@unbroken,%
- frame~engine=empty,interior~titled~engine=empty,interior~engine=empty,segmentation~engine=empty,title~engine=empty,%
- skin~first=kivi@LT@first,skin~middle=kivi@LT@middle,skin~last=kivi@LT@last,
- underlay~first~and~middle={
- \node[anchor=north] at (interior.north) {\csname box_use:c\endcsname {g_kivi_LT@head_box}};
- \node[anchor=south] at (interior.south) {\csname box_use:c\endcsname {g_kivi_LT@foot_box}};
- },
- underlay~unbroken~and~last={
- \node[anchor=north] at (interior.north) {\csname box_use:c\endcsname {g_kivi_LT@head_box}};
- \node[anchor=south] at (interior.south) {\csname box_use:c\endcsname {g_kivi_LT@lastfoot_box}};
- },
- boxsep=0pt,
- boxrule=0pt,
- left=0pt,
- right=0pt,
- bottom=\box_ht:N \g_kivi_LT@foot_box+\box_dp:N \g_kivi_LT@foot_box + \aboverulesep,
- top=\box_ht:N \g_kivi_LT@head_box+\box_dp:N \g_kivi_LT@head_box +\belowrulesep,
- parbox=false,
+frame~engine=empty,interior~titled~engine=empty,interior~engine=empty,segmentation~engine=empty,title~engine=empty,%
+skin~first=kivi@LT@first,skin~middle=kivi@LT@middle,skin~last=kivi@LT@last,
+underlay~first~and~middle={
+\node[anchor=north] at (interior.north) {\csname box_use:c\endcsname {g_kivi_LT@head_box}};
+\node[anchor=south] at (interior.south) {\csname box_use:c\endcsname {g_kivi_LT@foot_box}};
+},
+underlay~unbroken~and~last={
+\node[anchor=north] at (interior.north) {\csname box_use:c\endcsname {g_kivi_LT@head_box}};
+\node[anchor=south] at (interior.south) {\csname box_use:c\endcsname {g_kivi_LT@lastfoot_box}};
+},
+boxsep=0pt,
+boxrule=0pt,
+left=0pt,
+right=0pt,
+bottom=\box_ht:N \g_kivi_LT@foot_box+\box_dp:N \g_kivi_LT@foot_box + \aboverulesep,
+top=\box_ht:N \g_kivi_LT@head_box+\box_dp:N \g_kivi_LT@head_box +\belowrulesep,
+parbox=false,
}
\tcb@new@skin{kivi@LT@first}{base@first,%
- frame~engine=empty,interior~titled~engine=empty,interior~engine=empty,segmentation~engine=empty,title~engine=empty,%
- skin~first=kivi@LT@first,skin~middle=kivi@LT@middle,skin~last=kivi@LT@middle,
+ frame~engine=empty,interior~titled~engine=empty,interior~engine=empty,segmentation~engine=empty,title~engine=empty,%
+ skin~first=kivi@LT@first,skin~middle=kivi@LT@middle,skin~last=kivi@LT@middle,
}
\tcb@new@skin{kivi@LT@middle}{base@middle,%
- frame~engine=empty,interior~titled~engine=empty,interior~engine=empty,segmentation~engine=empty,title~engine=empty,%
- skin~first=kivi@LT@middle,skin~middle=kivi@LT@middle,skin~last=kivi@LT@middle,
+ frame~engine=empty,interior~titled~engine=empty,interior~engine=empty,segmentation~engine=empty,title~engine=empty,%
+ skin~first=kivi@LT@middle,skin~middle=kivi@LT@middle,skin~last=kivi@LT@middle,
}
\tcb@new@skin{kivi@LT@last}{base@last,%
- frame~engine=empty,interior~titled~engine=empty,interior~engine=empty,segmentation~engine=empty,title~engine=empty,%
- skin~first=kivi@LT@middle,skin~middle=kivi@LT@middle,skin~last=kivi@LT@last,
+ frame~engine=empty,interior~titled~engine=empty,interior~engine=empty,segmentation~engine=empty,title~engine=empty,%
+ skin~first=kivi@LT@middle,skin~middle=kivi@LT@middle,skin~last=kivi@LT@last,
}
\tcbset{kivi@LT/.style={skin=kivi@LT}}%
\seq_new:N \g_kivi_extraDescription_seq
\int_new:N \l__kivi_PricingTable_rowcolor_int
-\dim_new:N \l__kivi_fboxsep_dim
+\dim_new:N \l__kivi_fboxsep_dim
\dim_set:Nn \l__kivi_fboxsep_dim {\g_kivi_tabcolsep_dim}
%colorbox variant to only add vertical spacing
\def\kivi@tabcolorbox#1#{\protect\kivi@tabcolor@box{#1}}
\def\kivi@tabcolor@box#1#2{
- \tl_if_empty:oTF {#2}
- \kivi@nocolor@b@x
- \kivi@color@b@x
- \relax{\color#1{#2}}
+ \tl_if_empty:oTF {#2}
+ \kivi@nocolor@b@x
+ \kivi@color@b@x
+ \relax{\color#1{#2}}
}
\long\def\kivi@color@b@x#1#2#3%
{\leavevmode
- \setbox\z@\hbox{{\set@color#3}}%
- \dimen@\ht\z@\advance\dimen@\l__kivi_fboxsep_dim\ht\z@\dimen@
- \dimen@\dp\z@\advance\dimen@\l__kivi_fboxsep_dim\dp\z@\dimen@
- {#1{#2\color@block{\wd\z@}{\ht\z@}{\dp\z@}\box\z@}}}
+ \setbox\z@\hbox{{\set@color#3}}%
+ \dimen@\ht\z@\advance\dimen@\l__kivi_fboxsep_dim\ht\z@\dimen@
+ \dimen@\dp\z@\advance\dimen@\l__kivi_fboxsep_dim\dp\z@\dimen@
+ {#1{#2\color@block{\wd\z@}{\ht\z@}{\dp\z@}\box\z@}}}
\long\def\kivi@nocolor@b@x#1#2#3%
{\leavevmode
- \setbox\z@\hbox{#3}%
- \dimen@\ht\z@\advance\dimen@\l__kivi_fboxsep_dim\ht\z@\dimen@
- \dimen@\dp\z@\advance\dimen@\l__kivi_fboxsep_dim\dp\z@\dimen@
- {\box\z@}}
+ \setbox\z@\hbox{#3}%
+ \dimen@\ht\z@\advance\dimen@\l__kivi_fboxsep_dim\ht\z@\dimen@
+ \dimen@\dp\z@\advance\dimen@\l__kivi_fboxsep_dim\dp\z@\dimen@
+ {\box\z@}}
%%%
\newcommand{\FakeTable}[1]{
- \par
- \seq_set_split:Nnn \l_kivi_PricingTable_seq {\tabularnewline} {#1}
- \seq_remove_all:Nn \l_kivi_PricingTable_seq {}
- \begingroup
- \setlength{\parskip}{\c_zero_dim}
- \let\ExtraDescription\__kivi_addExtraDescription:n
- \setlength{\tabcolsep}{\g_kivi_tabcolsep_dim}
- \seq_map_inline:Nn \l_kivi_PricingTable_seq {
- \bool_if:NT \g__kivi_Tabular_rowcolor_bool {
- \int_gincr:N \g__kivi_PricingTable_rowcolor_int
- \int_if_odd:nTF {\g__kivi_PricingTable_rowcolor_int}
- {\nointerlineskip\kivi@tabcolorbox{\g__kivi_Tabular_rowcolor_odd_tl}}
- {\nointerlineskip\kivi@tabcolorbox{\g__kivi_Tabular_rowcolor_even_tl}}
- }
- {\parbox{\linewidth}{
- \seq_set_split:Nnn \l_kivi_columns_seq {&} {##1}
- \seq_gclear:N \g_kivi_extraDescription_seq
- \exp_args:Nnx \use:n {\tabular[t]}\g_kivi_Pricing_colspec_tl
- \seq_pop_left:NN \__l_FakeTable_columns_seq \l_tmpa_tl
- \seq_item:Nn \l_kivi_columns_seq {\l_tmpa_tl}
- \seq_map_inline:Nn \__l_FakeTable_columns_seq {
- &\seq_item:Nn \l_kivi_columns_seq {####1}
- }
- \endtabular
- \seq_if_empty:NTF \g_kivi_extraDescription_seq
- {\par}
- {\par\nopagebreak
- \begingroup
- \setlength{\leftskip}{\dim_eval:n {\bool_if:NT \g__kivi_Tabular_rowcolor_bool {-\tabcolsep} +\l_kivi_tab_desc_leftskip_dim}}
- \setlength{\hsize}{\dim_eval:n {\l_kivi_tab_desc_dim+\leftskip}}
- \usekomafont{extraDescription}
- \seq_use:Nn \g_kivi_extraDescription_seq {\\}
- \par
- \endgroup
- }
- }}
- }
- \endgroup\par
+ \par
+ \seq_set_split:Nnn \l_kivi_PricingTable_seq {\tabularnewline} {#1}
+ \seq_remove_all:Nn \l_kivi_PricingTable_seq {}
+ \begingroup
+ \setlength{\parskip}{\c_zero_dim}
+ \let\ExtraDescription\__kivi_addExtraDescription:n
+ \setlength{\tabcolsep}{\g_kivi_tabcolsep_dim}
+ \seq_map_inline:Nn \l_kivi_PricingTable_seq {
+ \bool_if:NT \g__kivi_Tabular_rowcolor_bool {
+ \int_gincr:N \g__kivi_PricingTable_rowcolor_int
+ \int_if_odd:nTF {\g__kivi_PricingTable_rowcolor_int}
+ {\nointerlineskip\kivi@tabcolorbox{\g__kivi_Tabular_rowcolor_odd_tl}}
+ {\nointerlineskip\kivi@tabcolorbox{\g__kivi_Tabular_rowcolor_even_tl}}
+ }
+ {\parbox{\linewidth}{
+ \seq_set_split:Nnn \l_kivi_columns_seq {&} {##1}
+ \seq_gclear:N \g_kivi_extraDescription_seq
+ \exp_args:Nnx \use:n {\tabular[t]}\g_kivi_Pricing_colspec_tl
+ \seq_pop_left:NN \__l_FakeTable_columns_seq \l_tmpa_tl
+ \seq_item:Nn \l_kivi_columns_seq {\l_tmpa_tl}
+ \seq_map_inline:Nn \__l_FakeTable_columns_seq {
+ &\seq_item:Nn \l_kivi_columns_seq {####1}
+ }
+ \endtabular
+ \seq_if_empty:NTF \g_kivi_extraDescription_seq
+ {\par}
+ {\par\nopagebreak
+ \begingroup
+ \setlength{\leftskip}{\dim_eval:n {\bool_if:NT \g__kivi_Tabular_rowcolor_bool {-\tabcolsep} +\l_kivi_tab_desc_leftskip_dim}}
+ \setlength{\hsize}{\dim_eval:n {\l_kivi_tab_desc_dim+\leftskip}}
+ \usekomafont{extraDescription}
+ \seq_use:Nn \g_kivi_extraDescription_seq {\\}
+ \par
+ \endgroup
+ }
+ }}
+ }
+ \endgroup\par
}
\seq_new:N \__l_FakeTable_columns_seq
\cs_new:Nn \__kivi_setup_FakeTable: {
- \seq_clear:N \__l_FakeTable_columns_seq
- \int_zero:N \l_tmpa_int
- \clist_map_inline:Nn \g_kivi_pricingtable_col_clist {
- \int_incr:N \l_tmpa_int
- \bool_if:cT {l_kivi_col_##1_bool} {\seq_put_right:Nx \__l_FakeTable_columns_seq {\int_use:N \l_tmpa_int}}
- }
+ \seq_clear:N \__l_FakeTable_columns_seq
+ \int_zero:N \l_tmpa_int
+ \clist_map_inline:Nn \g_kivi_pricingtable_col_clist {
+ \int_incr:N \l_tmpa_int
+ \bool_if:cT {l_kivi_col_##1_bool} {\seq_put_right:Nx \__l_FakeTable_columns_seq {\int_use:N \l_tmpa_int}}
+ }
}
\tl_new:N \g_kivi_Pricing_colspec_tl
\tl_gset:Nn \g_kivi_Pricing_colspec_tl {
- \bool_if:NF \g__kivi_Tabular_rowcolor_bool {@{}}
- \bool_if:NT \l_kivi_col_pos_bool {p{\l_kivi_tab_pos_dim}}
- \bool_if:NT \l_kivi_col_id_bool {p{\l_kivi_tab_id_dim}}
- p{\l_kivi_tab_desc_dim}
- \bool_if:NT \l_kivi_col_amount_bool {\exp_not:n {>{\raggedleft\arraybackslash}p{\l_kivi_tab_amount_dim}}}
- \bool_if:NT \l_kivi_col_price_bool {\exp_not:n {>{\raggedleft\arraybackslash}p{\l_kivi_tab_price_dim}<{\__kivi_tab_column_currency:}}}
- \bool_if:NT \l_kivi_col_pricetotal_bool {\exp_not:n {>{\raggedleft\arraybackslash}p{\l_kivi_tab_pricetotal_dim}<{\__kivi_tab_column_currency:}}}
- \bool_if:NF \g__kivi_Tabular_rowcolor_bool {@{}}
+\bool_if:NF \g__kivi_Tabular_rowcolor_bool {@{}}
+\bool_if:NT \l_kivi_col_pos_bool {p{\l_kivi_tab_pos_dim}}
+\bool_if:NT \l_kivi_col_id_bool {p{\l_kivi_tab_id_dim}}
+p{\l_kivi_tab_desc_dim}
+\bool_if:NT \l_kivi_col_amount_bool {\exp_not:n {>{\raggedleft\arraybackslash}p{\l_kivi_tab_amount_dim}}}
+\bool_if:NT \l_kivi_col_price_bool {\exp_not:n {>{\raggedleft\arraybackslash}p{\l_kivi_tab_price_dim}<{\__kivi_tab_column_currency:}}}
+\bool_if:NT \l_kivi_col_pricetotal_bool {\exp_not:n {>{\raggedleft\arraybackslash}p{\l_kivi_tab_pricetotal_dim}<{\__kivi_tab_column_currency:}}}
+\bool_if:NF \g__kivi_Tabular_rowcolor_bool {@{}}
}
\cs_new_protected:Nn \__kivi_tab_column_currency: {\,\currency}
\cs_set_eq:NN \__kivi_tab_column_body_currency: \__kivi_tab_column_currency:
\clist_map_inline:nn {head, foot, firsthead, lastfoot} {%TODO reduce
- \box_new:c {g_kivi_LT@#1_box}
+ \box_new:c {g_kivi_LT@#1_box}
}
\newkomafont{PricingTableHeader}{\bfseries}
\cs_new:Nn \__kivi_setup_LT_boxes: {
-% \bool_show:N \g__kivi_Tabular_rowcolor_bool
- \__kivi_calc_desc_column:
- \hbox_gset:Nn \g_kivi_LT@head_box {
- \setlength{\tabcolsep}{\g_kivi_tabcolsep_dim}
- \bool_if:NT \g__kivi_Tabular_rowcolor_bool {\kivi@tabcolorbox{\g__kivi_Tabular_rowcolor_header_tl}}%
- {
- \exp_args:Nnx \use:n {\tabular[b]}\g_kivi_Pricing_colspec_tl
- \__kivi_PricingTabular_header:
- \endtabular
- }
- }
- \hbox_gset:Nn \g_kivi_LT@foot_box {
-% \parbox{\linewidth}{
-% \leavevmode\color{red}\rule{\linewidth}{1pt}\par\nointerlineskip
-% \leavevmode\color{blue}\rule{\linewidth}{1cm}
-% }
-% \raisebox{\depth}{
- \begin{tabular*}{\textwidth}[t]{@{\extracolsep{\fill}}r@{\bool_if:NT \g__kivi_Tabular_rowcolor_bool {\hskip\tabcolsep}}}
- \bool_if:NTF \g__kivi_Tabular_rowcolor_bool
- {\hline\noalign{\vskip1pt}}%\noalign{\nointerlineskip\vskip\z@}\noalign{\nointerlineskip\rule{\linewidth}{\arrayrulewidth}}}%\leavevmode\rule{\linewidth}{\arrayrulewidth}}}
- \midrule
- \strut\weiteraufnaechsterseite
- \end{tabular*}
-% }
- }
- \hbox_gset:Nn \g_kivi_LT@lastfoot_box {
- \raisebox{\dimexpr\depth+\baselineskip}[0pt][0pt]{
- \begin{tabular*}{\textwidth}{@{\bool_if:NT \g__kivi_Tabular_rowcolor_bool {\hskip\tabcolsep}\extracolsep{\fill}}r@{\bool_if:NT \g__kivi_Tabular_rowcolor_bool {\hskip\tabcolsep}}}
- \bool_if:NF \g__kivi_Tabular_rowcolor_bool \bottomrule
- \end{tabular*}
- }
- }
+ % \bool_show:N \g__kivi_Tabular_rowcolor_bool
+ \__kivi_calc_desc_column:
+ \hbox_gset:Nn \g_kivi_LT@head_box {
+ \setlength{\tabcolsep}{\g_kivi_tabcolsep_dim}
+ \bool_if:NT \g__kivi_Tabular_rowcolor_bool {\kivi@tabcolorbox{\g__kivi_Tabular_rowcolor_header_tl}}%
+ {
+ \exp_args:Nnx \use:n {\tabular[b]}\g_kivi_Pricing_colspec_tl
+ \__kivi_PricingTabular_header:
+ \endtabular
+ }
+ }
+ \hbox_gset:Nn \g_kivi_LT@foot_box {
+ % \parbox{\linewidth}{
+ % \leavevmode\color{red}\rule{\linewidth}{1pt}\par\nointerlineskip
+ % \leavevmode\color{blue}\rule{\linewidth}{1cm}
+ % }
+ % \raisebox{\depth}{
+ \begin{tabular*}{\textwidth}[t]{@{\extracolsep{\fill}}r@{\bool_if:NT \g__kivi_Tabular_rowcolor_bool {\hskip\tabcolsep}}}
+ \bool_if:NTF \g__kivi_Tabular_rowcolor_bool
+ {\hline\noalign{\vskip1pt}}%\noalign{\nointerlineskip\vskip\z@}\noalign{\nointerlineskip\rule{\linewidth}{\arrayrulewidth}}}%\leavevmode\rule{\linewidth}{\arrayrulewidth}}}
+ \midrule
+ \strut\weiteraufnaechsterseite
+ \end{tabular*}
+ % }
+ }
+ \hbox_gset:Nn \g_kivi_LT@lastfoot_box {
+ \raisebox{\dimexpr\depth+\baselineskip}[0pt][0pt]{
+ \begin{tabular*}{\textwidth}{@{\bool_if:NT \g__kivi_Tabular_rowcolor_bool {\hskip\tabcolsep}\extracolsep{\fill}}r@{\bool_if:NT \g__kivi_Tabular_rowcolor_bool {\hskip\tabcolsep}}}
+ \bool_if:NF \g__kivi_Tabular_rowcolor_bool \bottomrule
+ \end{tabular*}
+ }
+ }
}
%Macht es sinn hier eine Variante zu machen, in der alle Spalten Belegbar sind?
\NewDocumentEnvironment{PricingTotal}{+b}{
- \par\nointerlineskip
+\par\nointerlineskip
% \unskip
}{
- \bool_if:NT \g__kivi_Tabular_rowcolor_bool {\nointerlineskip\kivi@tabcolorbox{\g__kivi_Tabular_rowcolor_PricingTotal_tl}}
- {
- \tabular[t]{@{\bool_if:NT \g__kivi_Tabular_rowcolor_bool {\hskip\tabcolsep}}
- p{\dim_eval:n {\linewidth-\l_kivi_tab_pricetotal_dim-\bool_if:NTF \g__kivi_Tabular_rowcolor_bool {4}{2}\tabcolsep}}P{\l_kivi_tab_pricetotal_dim}@{\bool_if:NT \g__kivi_Tabular_rowcolor_bool {\hskip\tabcolsep}}}
- \l__kivi_Tabular_PricingTotal_topsep_tl
- #1
- \endtabular
- }
+\bool_if:NT \g__kivi_Tabular_rowcolor_bool {\nointerlineskip\kivi@tabcolorbox{\g__kivi_Tabular_rowcolor_PricingTotal_tl}}
+{
+\tabular[t]{@{\bool_if:NT \g__kivi_Tabular_rowcolor_bool {\hskip\tabcolsep}}
+p{\dim_eval:n {\linewidth-\l_kivi_tab_pricetotal_dim-\bool_if:NTF \g__kivi_Tabular_rowcolor_bool {4}{2}\tabcolsep}}P{\l_kivi_tab_pricetotal_dim}@{\bool_if:NT \g__kivi_Tabular_rowcolor_bool {\hskip\tabcolsep}}}
+\l__kivi_Tabular_PricingTotal_topsep_tl
+#1
+\endtabular
+}
}
\tl_new:N \l__kivi_Tabular_PricingTotal_topsep_tl
\tl_set:Nn \l__kivi_Tabular_PricingTotal_topsep_tl {\bool_if:NF \g__kivi_Tabular_rowcolor_bool \midrule}
\newcommand*\ExtraDescription{
- \PackageError{kiviletter}{The~command~\string\ExtraDescription\space~may~be~only~used~inside~the~\string\FakeTable\space~environment.}{See~documentation~for~details}
+ \PackageError{kiviletter}{The~command~\string\ExtraDescription\space~may~be~only~used~inside~the~\string\FakeTable\space~environment.}{See~documentation~for~details}
}
\cs_new:Nn \__kivi_addExtraDescription:n {\seq_gput_right:Nn \g_kivi_extraDescription_seq {#1}}
\newenvironment{PricingTabular}[1][]{
- \begingroup
- \dim_set:Nn \parskip {\c_zero_dim}
- \tl_if_empty:nF {#1} {\keys_set:nn {kivi/PricingTable} {#1}}
- \setlength{\tabcolsep}{\g_kivi_tabcolsep_dim}
- \__kivi_calc_desc_column:
- \exp_args:Nx \longtable \g_kivi_Pricing_colspec_tl
- % Tabellenkopf
- \__kivi_PricingTabular_header:
- \endhead
- \midrule
- \rlap{\makebox[\textwidth][r]{\weiteraufnaechsterseite}}\\
- \endfoot
- \bool_if:NF \g__kivi_Tabular_rowcolor_bool \bottomrule
- \endlastfoot
+ \begingroup
+ \dim_set:Nn \parskip {\c_zero_dim}
+ \tl_if_empty:nF {#1} {\keys_set:nn {kivi/PricingTable} {#1}}
+ \setlength{\tabcolsep}{\g_kivi_tabcolsep_dim}
+ \__kivi_calc_desc_column:
+ \exp_args:Nx \longtable \g_kivi_Pricing_colspec_tl
+ % Tabellenkopf
+ \__kivi_PricingTabular_header:
+ \endhead
+ \midrule
+ \rlap{\makebox[\textwidth][r]{\weiteraufnaechsterseite}}\\
+ \endfoot
+ \bool_if:NF \g__kivi_Tabular_rowcolor_bool \bottomrule
+ \endlastfoot
}{
- \endlongtable
- \endgroup
+ \endlongtable
+ \endgroup
}
\cs_set:Nn \__kivi_PricingTabular_header: {
- \bool_if:NTF \g__kivi_Tabular_rowcolor_bool {\noalign{\skip_vertical:n {\dp\strutbox}}}\toprule
- \cs_gset_eq:NN \__kivi_tab_column_currency: \__kivi_tab_column_header_currency:
- \bool_set_false:N \l_tmpa_bool
- \clist_map_inline:Nn \g_kivi_pricingtable_col_clist {
- \bool_if:cT {l_kivi_col_##1_bool} {
- \bool_if:NT \l_tmpa_bool {&}
- \bool_set_true:N \l_tmpa_bool
- \usekomafont{PricingTableHeader}
- \prop_item:cn {l_kivi_col_##1_prop} {header}
- }
- }
- \cs_gset_eq:NN \__kivi_tab_column_currency: \__kivi_tab_column_body_currency:
- \\
- \bool_if:NF \g__kivi_Tabular_rowcolor_bool \midrule
+ \bool_if:NTF \g__kivi_Tabular_rowcolor_bool {\noalign{\skip_vertical:n {\dp\strutbox}}}\toprule
+ \cs_gset_eq:NN \__kivi_tab_column_currency: \__kivi_tab_column_header_currency:
+ \bool_set_false:N \l_tmpa_bool
+ \clist_map_inline:Nn \g_kivi_pricingtable_col_clist {
+ \bool_if:cT {l_kivi_col_##1_bool} {
+ \bool_if:NT \l_tmpa_bool {&}
+ \bool_set_true:N \l_tmpa_bool
+ \usekomafont{PricingTableHeader}
+ \prop_item:cn {l_kivi_col_##1_prop} {header}
+ }
+ }
+ \cs_gset_eq:NN \__kivi_tab_column_currency: \__kivi_tab_column_body_currency:
+ \\
+ \bool_if:NF \g__kivi_Tabular_rowcolor_bool \midrule
}
\newkomafont{tablehead}{\bfseries}
\keys_define:nn {kivi/SimpleTabular} {
- colspec .tl_set:N =\l_kivi_SimpleTabular_colspec_tl,
- colspec .initial:n = {rrX},
- headline .tl_set:N = \l_kivi_SimpleTabular_headline_tl,
- headline .initial:n = {\usekomafont{tablehead}\position & \usekomafont{tablehead}\menge & \usekomafont{tablehead}\bezeichnung},
+ colspec .tl_set:N =\l_kivi_SimpleTabular_colspec_tl,
+ colspec .initial:n = {rrX},
+ headline .tl_set:N = \l_kivi_SimpleTabular_headline_tl,
+ headline .initial:n = {\usekomafont{tablehead}\position & \usekomafont{tablehead}\menge & \usekomafont{tablehead}\bezeichnung},
}
\keys_define:nn {kivi/Tabular} {
- color-rows .bool_gset:N = \g__kivi_Tabular_rowcolor_bool ,
- color-rows .initial:n = false,
- color-rows .default:n = true,
- rowcolor-odd .tl_gset:N = \g__kivi_Tabular_rowcolor_odd_tl,
- rowcolor-odd .initial:n = black!10,
- rowcolor-even .tl_gset:N = \g__kivi_Tabular_rowcolor_even_tl,
- rowcolor-even .initial:n =,
- rowcolor-header .tl_gset:N = \g__kivi_Tabular_rowcolor_header_tl,
- rowcolor-header .initial:n = black!35,
- rowcolor-total .tl_gset:N = \g__kivi_Tabular_rowcolor_PricingTotal_tl,
- rowcolor-total .initial:n = black!35,
- rowsep .tl_set:N =\g__kivi_Tabular_rowsep_tl,
- hrule .meta:n = {rowsep=\midrule}
+ color-rows .bool_gset:N = \g__kivi_Tabular_rowcolor_bool ,
+ color-rows .initial:n = false,
+ color-rows .default:n = true,
+ rowcolor-odd .tl_gset:N = \g__kivi_Tabular_rowcolor_odd_tl,
+ rowcolor-odd .initial:n = black!10,
+ rowcolor-even .tl_gset:N = \g__kivi_Tabular_rowcolor_even_tl,
+ rowcolor-even .initial:n =,
+ rowcolor-header .tl_gset:N = \g__kivi_Tabular_rowcolor_header_tl,
+ rowcolor-header .initial:n = black!35,
+ rowcolor-total .tl_gset:N = \g__kivi_Tabular_rowcolor_PricingTotal_tl,
+ rowcolor-total .initial:n = black!35,
+ rowsep .tl_set:N =\g__kivi_Tabular_rowsep_tl,
+ hrule .meta:n = {rowsep=\midrule}
}
\newcommand*{\SetupSimpleTabular}[1]{\keys_set:nn {kivi/SimpleTabular} {#1}}
\newenvironment{SimpleTabular}[1][]
{
- \tl_if_in:nnTF {#1} {=} {\keys_set:nn {kivi/SimpleTabular} {#1}} {\tl_if_empty:nF {#1} {\tl_set:Nn \l_kivi_SimpleTabular_headline_tl {#1}}}
- \setlength{\tabcolsep}{\g_kivi_tabcolsep_dim}
- \dim_set:Nn \parskip {\c_zero_dim}
- \bool_if:NF \g__kivi_Tabular_rowcolor_bool {
- \tl_put_right:Nn \l_kivi_SimpleTabular_colspec_tl {@{}}
- \tl_put_left:Nn \l_kivi_SimpleTabular_colspec_tl {@{}}
- }
- \exp_args:NnV \xltabular{\linewidth}\l_kivi_SimpleTabular_colspec_tl
- \toprule
- \cs_gset_eq:NN \__kivi_tab_column_currency: \__kivi_tab_column_header_currency:
- \l_kivi_SimpleTabular_headline_tl
- \\
- \noalign{\cs_gset_eq:NN \__kivi_tab_column_currency: \__kivi_tab_column_body_currency:}
- \midrule
- \endhead
- \midrule
- \rlap{\makebox[\textwidth][r]{\weiteraufnaechsterseite}}\\
- \endfoot
- \bool_if:NF \g__kivi_Tabular_rowcolor_bool \bottomrule
- \endlastfoot
- \ignorespaces
+ \tl_if_in:nnTF {#1} {=} {\keys_set:nn {kivi/SimpleTabular} {#1}} {\tl_if_empty:nF {#1} {\tl_set:Nn \l_kivi_SimpleTabular_headline_tl {#1}}}
+ \setlength{\tabcolsep}{\g_kivi_tabcolsep_dim}
+ \dim_set:Nn \parskip {\c_zero_dim}
+ \bool_if:NF \g__kivi_Tabular_rowcolor_bool {
+ \tl_put_right:Nn \l_kivi_SimpleTabular_colspec_tl {@{}}
+ \tl_put_left:Nn \l_kivi_SimpleTabular_colspec_tl {@{}}
+ }
+ \exp_args:NnV \xltabular{\linewidth}\l_kivi_SimpleTabular_colspec_tl
+ \toprule
+ \cs_gset_eq:NN \__kivi_tab_column_currency: \__kivi_tab_column_header_currency:
+ \l_kivi_SimpleTabular_headline_tl
+ \\
+ \noalign{\cs_gset_eq:NN \__kivi_tab_column_currency: \__kivi_tab_column_body_currency:}
+ \midrule
+ \endhead
+ \midrule
+ \rlap{\makebox[\textwidth][r]{\weiteraufnaechsterseite}}\\
+ \endfoot
+ \bool_if:NF \g__kivi_Tabular_rowcolor_bool \bottomrule
+ \endlastfoot
+ \ignorespaces
}{
- \def\@currenvir{tabularx}
- \endxltabular
+ \def\@currenvir{tabularx}
+ \endxltabular
}
%PricingTabular* kann automatisch spalten ignorieren
% analog ist dies für pos, amount, price, pricetotal möglich.
% Die Spalte der Bezeichnung ist nicht deaktivierbar
\newenvironment{PricingTabular*}[1][]{
- \int_gzero:N \g__kivi_PricingTable_rowcolor_int
- \tl_if_empty:nF {#1} {\keys_set:nn {kivi/PricingTable} {#1}}
- \__kivi_setup_LT_boxes:
- \__kivi_setup_FakeTable:
- \dim_set:Nn \parskip {\c_zero_dim}
- \PricingTabularBox\ignorespaces
+ \int_gzero:N \g__kivi_PricingTable_rowcolor_int
+ \tl_if_empty:nF {#1} {\keys_set:nn {kivi/PricingTable} {#1}}
+ \__kivi_setup_LT_boxes:
+ \__kivi_setup_FakeTable:
+ \dim_set:Nn \parskip {\c_zero_dim}
+ \PricingTabularBox\ignorespaces
}{\endPricingTabularBox
- %compensate footer spacing
- \skip_vertical:n {-\box_ht:N \g_kivi_LT@foot_box-\box_dp:N \g_kivi_LT@foot_box}
+ %compensate footer spacing
+ \skip_vertical:n {-\box_ht:N \g_kivi_LT@foot_box-\box_dp:N \g_kivi_LT@foot_box}
}
\newtcolorbox{PricingTabularBox}{breakable,skin=kivi@LT}
\if@kivi@infobox
- \def\locationsep{:}
-
- \NewDocumentCommand{\locationentry}{som}{
- \Ifkomavarempty{#3}{}{
- \IfBooleanTF {#1} {
- \strut
- \IfNoValueTF {#2}
- {\usekomavar*{#3}}
- {#2}
- \locationsep
- \hfill\strut\space
- \hbox_set:Nn \l_tmpa_box {\usekomavar{#3}}
- \dim_compare:nTF {\box_wd:N \l_tmpa_box>\linewidth}
- {\newline\hspace*{\fill}\llap}
- {\hspace*{\fill}}
- {\box_use:N \l_tmpa_box\strut}
- }{
- \@hangfrom{\strut
- \IfNoValueTF {#2}
- {\usekomavar*{#3}}
- {#2}\locationsep~
- }{
- \parbox[t]{\dimexpr\linewidth-\hangindent}{
- \raggedleft
- \usekomavar{#3}\strut
- }
- }
- }
- }
- \par
- }
-
-\newkomafont{transaction}{\bfseries}
-
-\setkomavar{location}{
- \Ifkomavarempty{transaction}{}{{
- \usekomafont{transaction}
- \usekomavar{transaction}
- }
- }
- \par
- \medskip
- \parbox{\useplength{locwidth}}{
- \locationentry{date}
- \locationentry{myref}
- \locationentry{customer}
- \locationentry{yourref}
- \locationentry{delivery}
- \locationentry{quote}
- \locationentry{orderID}
- \locationentry{projectID}
- \locationentry[\ansprechpartner]{fromname}
- \locationentry{fromphone}
- \locationentry*{fromemail}
- }
-}
-\removereffields
-\AtBeginLetter{
- \ifdim\ht\shippingAddressBox>\z@
- \@addtoplength{refvpos}{\dimexpr\ht\shippingAddressBox+\dp\shippingAddressBox}
- \@addtoplength{refvpos}{4\baselineskip}%sep between address boxes
- \fi
-}
+ \def\locationsep{:}
+
+ \NewDocumentCommand{\locationentry}{som}{
+ \Ifkomavarempty{#3}{}{
+ \IfBooleanTF {#1} {
+ \strut
+ \IfNoValueTF {#2}
+ {\usekomavar*{#3}}
+ {#2}
+ \locationsep
+ \hfill\strut\space
+ \hbox_set:Nn \l_tmpa_box {\usekomavar{#3}}
+ \dim_compare:nTF {\box_wd:N \l_tmpa_box>\linewidth}
+ {\newline\hspace*{\fill}\llap}
+ {\hspace*{\fill}}
+ {\box_use:N \l_tmpa_box\strut}
+ }{
+ \@hangfrom{\strut
+ \IfNoValueTF {#2}
+ {\usekomavar*{#3}}
+ {#2}\locationsep~
+ }{
+ \parbox[t]{\dimexpr\linewidth-\hangindent}{
+ \raggedleft
+ \usekomavar{#3}\strut
+ }
+ }
+ }
+ }
+ \par
+ }
+
+ \newkomafont{transaction}{\bfseries}
+
+ \setkomavar{location}{
+ \Ifkomavarempty{transaction}{}{{
+ \usekomafont{transaction}
+ \usekomavar{transaction}
+ }
+ }
+ \par
+ \medskip
+ \parbox{\useplength{locwidth}}{
+ \locationentry{date}
+ \locationentry{myref}
+ \locationentry{customer}
+ \locationentry{yourref}
+ \locationentry{delivery}
+ \locationentry{quote}
+ \locationentry{orderID}
+ \locationentry{projectID}
+ \locationentry[\ansprechpartner]{fromname}
+ \locationentry{fromphone}
+ \locationentry*{fromemail}
+ }
+ }
+ \removereffields
+ \AtBeginLetter{
+ \ifdim\ht\shippingAddressBox>\z@
+ \@addtoplength{refvpos}{\dimexpr\ht\shippingAddressBox+\dp\shippingAddressBox}
+ \@addtoplength{refvpos}{4\baselineskip}%sep between address boxes
+ \fi
+ }
\fi
%Definitionen für die insettings.tex
\newcommand*{\setupIdentpath}[1]{
- \int_set:Nn \l_kivi_tmp_int {1}
- \bool_set_true:N \l_kivi_tmp_bool
- \bool_while_do:Nn \l_kivi_tmp_bool {
- \file_if_exist:nTF {firma\int_use:N \l_kivi_tmp_int/ident.tex}
- {
- \exp_args:Nf \str_if_in:nnTF {#1} {Firma\int_use:N \l_kivi_tmp_int}
- {
- \newcommand*{\identpath}{firma\int_use:N \l_kivi_tmpa_int}
- \bool_set_false:N \l_kivi_tmp_bool
- }
- {\int_incr:N \l_kivi_tmp_int}
- }
- {
- \bool_set_false:N \l_kivi_tmp_bool
- \newcommand*{\identpath}{firma}
- }
- }
+ \int_set:Nn \l_kivi_tmp_int {1}
+ \bool_set_true:N \l_kivi_tmp_bool
+ \bool_while_do:Nn \l_kivi_tmp_bool {
+ \file_if_exist:nTF {firma\int_use:N \l_kivi_tmp_int/ident.tex}
+ {
+ \exp_args:Nf \str_if_in:nnTF {#1} {Firma\int_use:N \l_kivi_tmp_int}
+ {
+ \newcommand*{\identpath}{firma\int_use:N \l_kivi_tmpa_int}
+ \bool_set_false:N \l_kivi_tmp_bool
+ }
+ {\int_incr:N \l_kivi_tmp_int}
+ }
+ {
+ \bool_set_false:N \l_kivi_tmp_bool
+ \newcommand*{\identpath}{firma}
+ }
+ }
}
\newcommand*{\setupCurrencyConfig}[2]{
- \tl_new:N \g_kivi_currency_tl
- \exp_args:Nf \str_if_in:nnT {#2} {USD} {\tl_gset:Nn \g_kivi_currency_tl {usd}}
- \exp_args:Nf \str_if_in:nnT {#2} {CHF} {\tl_gset:Nn \g_kivi_currency_tl {chf}}
- \exp_args:Nf \str_if_in:nnT {#2} {EUR} {\tl_gset:Nn \g_kivi_currency_tl {euro}}
- \tl_if_empty:NT \g_kivi_currency_tl {
- \tl_gset:Nn \g_kivi_currency_tl {default}
- \edef \currency {\tl_to_str:N \lxcurrency}
- }
- \input{#1/\g_kivi_currency_tl _account.tex}
+ \tl_new:N \g_kivi_currency_tl
+ \exp_args:Nf \str_if_in:nnT {#2} {USD} {\tl_gset:Nn \g_kivi_currency_tl {usd}}
+ \exp_args:Nf \str_if_in:nnT {#2} {CHF} {\tl_gset:Nn \g_kivi_currency_tl {chf}}
+ \exp_args:Nf \str_if_in:nnT {#2} {EUR} {\tl_gset:Nn \g_kivi_currency_tl {euro}}
+ \tl_if_empty:NT \g_kivi_currency_tl {
+ \tl_gset:Nn \g_kivi_currency_tl {default}
+ \edef \currency {\tl_to_str:N \lxcurrency}
+ }
+ \input{#1/\g_kivi_currency_tl _account.tex}
}
\ExplSyntaxOff
\usepackage{iftex}
%Compilerunabhängigkeit
\ifPDFTeX
- \usepackage[utf8]{inputenc}
- \usepackage[T1]{fontenc}
+ \usepackage[utf8]{inputenc}
+ \usepackage[T1]{fontenc}
\fi
\usepackage{latexsym}
\usepackage{longtable}
\renewcommand*{\familydefault}{\sfdefault}
\ifPDFTeX
\else
-\usepackage{fontspec}
+ \usepackage{fontspec}
\fi
%% Checkboxen
% Abschnitte mit Kasten hinterlegt
\newcommand{\reqspecsectionstyle}{%
-\renewcommand{\thesection}{\alph{section}}
-\makeatletter
-\def\section{\@ifstar\unnumberedsection\numberedsection}
-\makeatother
+ \renewcommand{\thesection}{\alph{section}}
+ \makeatletter
+ \def\section{\@ifstar\unnumberedsection\numberedsection}
+ \makeatother
}
\makeatletter
\def\numberedsection{\@ifnextchar[%]
- \numberedsectionwithtwoarguments\numberedsectionwithoneargument}
+\numberedsectionwithtwoarguments\numberedsectionwithoneargument}
\def\unnumberedsection{\@ifnextchar[%]
- \unnumberedsectionwithtwoarguments\unnumberedsectionwithoneargument}
+\unnumberedsectionwithtwoarguments\unnumberedsectionwithoneargument}
\def\numberedsectionwithoneargument#1{\numberedsectionwithtwoarguments[#1]{#1}}
\def\unnumberedsectionwithoneargument#1{\unnumberedsectionwithtwoarguments[#1]{#1}}
\def\numberedsectionwithtwoarguments[#1]#2{%
\endgroup
\vskip 2ex\nobreak
\addcontentsline{toc}{section}{\protect\numberline{\thesection{}.}#1}%
- }
+}
\def\unnumberedsectionwithtwoarguments[#1]#2{%
\ifhmode\par\fi
\removelastskip
$( END )$
\begin{letter}{
- $( KiviLatex.filter(customer.name) )$\strut\\
- $( KiviLatex.filter(letter.contact.formal_greeting) )$\strut\\
- $( KiviLatex.filter(customer.street) )$\strut\\
- $( KiviLatex.filter(customer.zipcode) )$ $( KiviLatex.filter(customer.city) )$\strut\\
- $( KiviLatex.filter(customer.country) )$%
- }
+$( KiviLatex.filter(customer.name) )$\strut\\
+$( KiviLatex.filter(letter.contact.formal_greeting) )$\strut\\
+$( KiviLatex.filter(customer.street) )$\strut\\
+$( KiviLatex.filter(customer.zipcode) )$ $( KiviLatex.filter(customer.city) )$\strut\\
+$( KiviLatex.filter(customer.country) )$%
+}
\opening{$( KiviLatex.filter(letter.greeting) )$}
\setkomavar{title}{\sammelliste}
\setkomavar{firsthead}{
- \normalsize
- \noindent\begin{tabular}[t]{@{}l@{}}
- <%company%>\strut\\
- <%address%>
- \end{tabular}
- \hfill
- \begin{tabular}[t]{rr@{}}
- Tel & <%tel%>\\
- Fax & <%fax%>%
- \end{tabular}
- \rule{\linewidth}{\heavyrulewidth}
+ \normalsize
+ \noindent\begin{tabular}[t]{@{}l@{}}
+ <%company%>\strut\\
+ <%address%>
+ \end{tabular}
+ \hfill
+ \begin{tabular}[t]{rr@{}}
+ Tel & < %tel%>\\
+ Fax & < %fax%>%
+ \end{tabular}
+ \rule{\linewidth}{\heavyrulewidth}
}
\makeatletter
\setkomavar{location}{
- \normalsize
- <%shiptocontact%>%
- <%if shiptophone%>%
- \\\textTelefon : <%shiptophone%>
- <%end shiptophone%>%
- <%if shiptofax%>%
- \\\textFax : <%shiptofax%>
- <%end shiptofax%>%
- \\%
- <%shiptoemail%>%
- }
+ \normalsize
+ <%shiptocontact%>%
+ <%if shiptophone%>%
+ \\\textTelefon : <%shiptophone%>
+ <%end shiptophone%>%
+ <%if shiptofax%>%
+ \\\textFax : <%shiptofax%>
+ <%end shiptofax%>%
+ \\%
+ <%shiptoemail%>%
+}
\makeatother
\setkomavar{backaddress}{\lieferanschrift}
\begin{letter}{\strut%
- <%shiptoname%>\ifhmode\\\fi
- <%shiptostreet%>\ifhmode\\\fi
- <%shiptozipcode%>\ifhmode\\\fi
- <%shiptocity%>\ifhmode\\\fi
- <%shiptocountry%>%
+<%shiptoname%>\ifhmode\\\fi
+<%shiptostreet%>\ifhmode\\\fi
+<%shiptozipcode%>\ifhmode\\\fi
+<%shiptocity%>\ifhmode\\\fi
+<%shiptocountry%>%
}
\opening{}
\begin{SimpleTabular}[colspec=*6X,headline={\bfseries\bestellnummer&\bfseries\datum&\bfseries\kontakt
- <%if warehouse%>%
- &\bfseries\lager%
- <%end warehouse%>%
- &\bfseries\lagerplatz&\bfseries\lieferungMit}]
+ <%if warehouse%>%
+ &\bfseries\lager%
+ <%end warehouse%>%
+ &\bfseries\lagerplatz&\bfseries\lieferungMit}]
<%ordnumber%>%
&%
<%if shippingdate%>%
- <%shippingdate%>%
+ <%shippingdate%>%
<%end shippingdate%>%
<%if not shippingdate%>%
- <%orddate%>%
+ <%orddate%>%
<%end shippingdate%>%
& <%employee%>%
<%if warehouse%>%
\bigskip
\begin{SimpleTabular}[colspec=rlXrcll,headline={\bfseries\position&\bfseries\nummer&\bfseries\beschreibung&\bfseries\menge&\bfseries\lagerausgang&&\bfseries\lagerplatz}]%
-<%foreach number%>%
-<%runningnumber%> & <%number%> & <%description%> &%
-<%qty%> & [\hspace{1cm}] & <%unit%> & <%bin%> \\%
-<%end number%>%
+ <%foreach number%>%
+ <%runningnumber%> & <%number%> & <%description%> &%
+ <%qty%> & [\hspace{1cm}] & <%unit%> & <%bin%> \\%
+ <%end number%>%
\end{SimpleTabular}
\end{letter}
\begin{document}
-
+
\setkomavar{title}{
- \proformarechnung~
- \nr ~<%ordnumber%>%
+ \proformarechnung~
+ \nr ~<%ordnumber%>%
}
\setkomavar*{date}{\datum}
\setkomavar{date}{<%orddate%>}
\setkomavar{customer}{<%customernumber%>}
<%if cusordnumber%>%
- \setkomavar*{yourref}{\ihreBestellnummer}
- \setkomavar{yourref}{<%cusordnumber%>}
+\setkomavar*{yourref}{\ihreBestellnummer}
+\setkomavar{yourref}{<%cusordnumber%>}
<%end if%>%
<%if quonumber%>\setkomavar{quote}{<%quonumber%>}<%end if%>%
\setkomavar{fromname}{<%employee_name%>}
\setkomavar{fromphone}{<%employee_tel%>}
\setkomavar{fromemail}{<%employee_email%>}
\setkomavar{transaction}{<%transaction_description%>}
-
+
<%if shiptoname%>%
\makeatletter
\begin{lrbox}\shippingAddressBox
- \parbox{\useplength{toaddrwidth}}{
- \backaddr@format{\scriptsize\usekomafont{backaddress}%
- \strut\abweichendeLieferadresse
- }
- \par\smallskip
- \setlength{\parskip}{\z@}
- \par
- \normalsize
- <%shiptoname%>\par
- <%if shiptocontact%> <%shiptocontact%><%end if%>\par
- <%shiptodepartment_1%>\par
- <%shiptodepartment_2%>\par
- <%shiptostreet%>\par
- <%shiptozipcode%> <%shiptocity%>%
- }
+ \parbox{\useplength{toaddrwidth}}{
+ \backaddr@format{\scriptsize\usekomafont{backaddress}%
+ \strut\abweichendeLieferadresse
+ }
+ \par\smallskip
+ \setlength{\parskip}{\z@}
+ \par
+ \normalsize
+ <%shiptoname%>\par
+ <%if shiptocontact%> <%shiptocontact%><%end if%>\par
+ <%shiptodepartment_1%>\par
+ <%shiptodepartment_2%>\par
+ <%shiptostreet%>\par
+ <%shiptozipcode%> <%shiptocity%>%
+ }
\end{lrbox}
\makeatother
<%end if%>%
\begin{letter}{
- <%name%>\strut\\
- <%if department_1%><%department_1%>\\<%end if%>%
- <%if department_2%><%department_2%>\\<%end if%>%
- <%cp_givenname%> <%cp_name%>\strut\\
- <%street%>\strut\\
- <%zipcode%> <%city%>\strut\\
- <%country%> \strut
- }
+<%name%>\strut\\
+<%if department_1%><%department_1%>\\<%end if%>%
+<%if department_2%><%department_2%>\\<%end if%>%
+<%cp_givenname%> <%cp_name%>\strut\\
+<%street%>\strut\\
+<%zipcode%> <%city%>\strut\\
+<%country%> \strut
+}
% Bei Kontaktperson Anrede nach Geschlecht unterscheiden.
% Bei natürlichen Personen persönliche Anrede, sonst allgemeine Anrede.
\opening{
- \Ifstr{<%cp_name%>}{}
- {<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
- {
- \Ifstr{<%cp_gender%>}{f}
- {\anredefrau}
- {\anredeherr}
- <%cp_title%> <%cp_name%>,
- }
- }
- \thispagestyle{kivitendo.letter.first}
+\Ifstr{<%cp_name%>}{}
+{<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
+ {
+ \Ifstr{<%cp_gender%>}{f}
+ {\anredefrau}
+ {\anredeherr}
+ <%cp_title%> <%cp_name%>,
+ }
+ }
+\thispagestyle{kivitendo.letter.first}
\auftragsformel
-
+
\begin{PricingTabular*}%
-% eigentliche Tabelle
-\FakeTable{%
- <%foreach number%>%
- <%runningnumber%> &%
- <%number%> &%
- \textbf{<%description%>}%
- <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
- <%if reqdate%>\ExtraDescription{\lieferdatum: <%reqdate%>}<%end reqdate%>%
- <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
- <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
- <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
- &%
- <%qty%> <%unit%> &%
- <%sellprice%>&%
- \Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}%
- <%linetotal%>\tabularnewline%
- <%end number%>%
-}%
-\begin{PricingTotal}%
- % Tabellenende letzte Seite%
- \nettobetrag & <%subtotal%>\\%
- <%foreach tax%>%
- <%taxdescription%> & <%tax%>\\%
- <%end tax%>%
- \bfseries\schlussbetrag & \bfseries <%invtotal%>\\%
-\end{PricingTotal}%
+ % eigentliche Tabelle
+ \FakeTable{%
+ <%foreach number%>%
+ <%runningnumber%> &%
+ <%number%> &%
+ \textbf{<%description%>}%
+ <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
+ <%if reqdate%>\ExtraDescription{\lieferdatum: <%reqdate%>}<%end reqdate%>%
+ <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
+ <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
+ <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
+ &%
+ <%qty%> <%unit%> &%
+ <%sellprice%>&%
+ \Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}%
+ <%linetotal%>\tabularnewline%
+ <%end number%>%
+ }%
+ \begin{PricingTotal}%
+ % Tabellenende letzte Seite%
+ \nettobetrag & <%subtotal%>\\%
+ <%foreach tax%>%
+ <%taxdescription%> & <%tax%>\\%
+ <%end tax%>%
+ \bfseries\schlussbetrag & \bfseries <%invtotal%>\\%
+ \end{PricingTotal}%
\end{PricingTabular*}
<%if notes%>%
\begin{letter}{
- <%name%>\strut\\
- <%if department_1%><%department_1%>\\<%end if%>%
- <%if department_2%><%department_2%>\\<%end if%>%
- <%cp_givenname%> <%cp_name%>\strut\\
- <%street%>\strut\\
- <%zipcode%> <%city%>\strut\\
- <%country%> \strut
+<%name%>\strut\\
+<%if department_1%><%department_1%>\\<%end if%>%
+<%if department_2%><%department_2%>\\<%end if%>%
+<%cp_givenname%> <%cp_name%>\strut\\
+<%street%>\strut\\
+<%zipcode%> <%city%>\strut\\
+<%country%> \strut
}
\thispagestyle{kivitendo.letter.first}
\begin{PricingTabular*}[columns={pos,amount,desc}]
-% eigentliche Tabelle
-\FakeTable{
-<%foreach number%>%
- <%runningnumber%> &
- <%qty%> <%unit%> &
- \textbf{<%description%>}
- <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
- <%if reqdate%>\ExtraDescription{\lieferdatum: <%reqdate%>}<%end reqdate%>%
- <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
- <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
- <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
- <%foreach si_number%>%
- <%if si_chargenumber%>\ExtraDescription{\charge: <%si_chargenumber%> <%if si_bestbefore%> \mhd: <%si_bestbefore%><%end if%><%si_qty%>~<%si_unit%><%end si_chargenumber%>}%
- <%end si_number%>%
- \tabularnewline
-<%end number%>%
-}
+ % eigentliche Tabelle
+ \FakeTable{
+ <%foreach number%>%
+ <%runningnumber%> &
+ <%qty%> <%unit%> &
+ \textbf{<%description%>}
+ <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
+ <%if reqdate%>\ExtraDescription{\lieferdatum: <%reqdate%>}<%end reqdate%>%
+ <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
+ <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
+ <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
+ <%foreach si_number%>%
+ <%if si_chargenumber%>\ExtraDescription{\charge: <%si_chargenumber%> <%if si_bestbefore%> \mhd: <%si_bestbefore%><%end if%><%si_qty%>~<%si_unit%><%end si_chargenumber%>}%
+ <%end si_number%>%
+ \tabularnewline
+ <%end number%>%
+ }
\end{PricingTabular*}
\medskip
<%end if%>%
<%if delivery_term%>%
- \lieferung ~<%delivery_term.description_long%>\\
+\lieferung ~<%delivery_term.description_long%>\\
<%end delivery_term%>%
\end{letter}
\begin{document}
\begin{letter}{
- <%name%>\strut\\
- <%if department_1%><%department_1%>\\<%end if%>%
- <%if department_2%><%department_2%>\\<%end if%>%
- <%cp_givenname%> <%cp_name%>\strut\\
- <%street%>\strut\\
- <%zipcode%> <%city%>\strut\\
- <%country%> \strut
- }
+<%name%>\strut\\
+<%if department_1%><%department_1%>\\<%end if%>%
+<%if department_2%><%department_2%>\\<%end if%>%
+<%cp_givenname%> <%cp_name%>\strut\\
+<%street%>\strut\\
+<%zipcode%> <%city%>\strut\\
+<%country%> \strut
+}
% Bei Kontaktperson Anrede nach Geschlecht unterscheiden.
% Bei natürlichen Personen persönliche Anrede, sonst allgemeine Anrede.
\opening{
- \Ifstr{<%cp_name%>}{}
- {<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
- {
- \Ifstr{<%cp_gender%>}{f}
- {\anredefrau}
- {\anredeherr}
- <%cp_title%> <%cp_name%>,
- }
-}
+\Ifstr{<%cp_name%>}{}
+{<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
+ {
+ \Ifstr{<%cp_gender%>}{f}
+ {\anredefrau}
+ {\anredeherr}
+ <%cp_title%> <%cp_name%>,
+ }
+ }
\thispagestyle{kivitendo.letter.first}
\bestellformel
\begin{PricingTabular*}
- % eigentliche Tabelle
- \FakeTable{
- <%foreach number%>%
- <%runningnumber%> &%
- <%number%> &%
- \textbf{<%description%>}%
- <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
- <%if reqdate%>\ExtraDescription{\lieferdatum: <%reqdate%>}<%end reqdate%>%
- <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
- <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
- <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
- &%
- <%qty%> <%unit%> &%
- <%sellprice%>&%
- \Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}%
- <%linetotal%>\tabularnewline
- <%end number%>%
- }%
- \begin{PricingTotal}%
- % Tabellenende letzte Seite
- \nettobetrag & <%subtotal%>\\%
- <%foreach tax%>%
- <%taxdescription%> & <%tax%>\\%
- <%end tax%>%
- \bfseries\schlussbetrag & \bfseries <%ordtotal%>\\%
- \end{PricingTotal}
+ % eigentliche Tabelle
+ \FakeTable{
+ <%foreach number%>%
+ <%runningnumber%> &%
+ <%number%> &%
+ \textbf{<%description%>}%
+ <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
+ <%if reqdate%>\ExtraDescription{\lieferdatum: <%reqdate%>}<%end reqdate%>%
+ <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
+ <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
+ <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
+ &%
+ <%qty%> <%unit%> &%
+ <%sellprice%>&%
+ \Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}%
+ <%linetotal%>\tabularnewline
+ <%end number%>%
+ }%
+ \begin{PricingTotal}%
+ % Tabellenende letzte Seite
+ \nettobetrag & <%subtotal%>\\%
+ <%foreach tax%>%
+ <%taxdescription%> & <%tax%>\\%
+ <%end tax%>%
+ \bfseries\schlussbetrag & \bfseries <%ordtotal%>\\%
+ \end{PricingTotal}
\end{PricingTabular*}
<%if notes%>%
<%end if%>%
<%if delivery_term%>%
- \lieferung ~<%delivery_term.description_long%>\\
+\lieferung ~<%delivery_term.description_long%>\\
<%end delivery_term%>%
\closing{\gruesse}
\begin{document}
\begin{letter}{
- <%name%>\ifhmode\\\fi
- <%street%>\ifhmode\\\fi
- <%zipcode%> <%city%>\ifhmode\\\fi
- <%country%>%
- }
+<%name%>\ifhmode\\\fi
+<%street%>\ifhmode\\\fi
+<%zipcode%> <%city%>\ifhmode\\\fi
+<%country%>%
+}
\opening{<%company%>}
\pagestyle{empty}
<%name%> \hfill <%datepaid%> \hfill <%source%>%
\begin{SimpleTabular}[colspec=lXrr,headline={\bfseries\rechnung&\bfseries\ausgestellt&\bfseries\faellig&\bfseries\verrechnet}]
-<%foreach invnumber%>%
-<%invnumber%> & <%invdate%> & <%due%> & <%paid%> \\
-<%end invnumber%>%
+ <%foreach invnumber%>%
+ <%invnumber%> & <%invdate%> & <%due%> & <%paid%> \\
+ <%end invnumber%>%
\end{SimpleTabular}
\end{letter}
\begin{document}
\begin{letter}{
- <%name%>\strut\\
- <%if department_1%><%department_1%>\\<%end if%>%
- <%if department_2%><%department_2%>\\<%end if%>%
- <%cp_givenname%> <%cp_name%>\strut\\
- <%street%>\strut\\
- <%zipcode%> <%city%>\strut\\
- <%country%> \strut
- }
+<%name%>\strut\\
+<%if department_1%><%department_1%>\\<%end if%>%
+<%if department_2%><%department_2%>\\<%end if%>%
+<%cp_givenname%> <%cp_name%>\strut\\
+<%street%>\strut\\
+<%zipcode%> <%city%>\strut\\
+<%country%> \strut
+}
% Bei Kontaktperson Anrede nach Geschlecht unterscheiden.
% Bei natürlichen Personen persönliche Anrede, sonst allgemeine Anrede.
\opening{
- \Ifstr{<%cp_name%>}{}
- {<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
- {
- \Ifstr{<%cp_gender%>}{f}
- {\anredefrau}
- {\anredeherr}
- <%cp_title%> <%cp_name%>,
- }
-}
+\Ifstr{<%cp_name%>}{}
+{<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
+ {
+ \Ifstr{<%cp_gender%>}{f}
+ {\anredefrau}
+ {\anredeherr}
+ <%cp_title%> <%cp_name%>,
+ }
+ }
\thispagestyle{kivitendo.letter.first}
\anfrageformel
\begin{PricingTabular*}[columns={pos,amount,desc}]
-% eigentliche Tabelle
-\FakeTable{
-<%foreach number%>%
- <%runningnumber%> &
- <%qty%> <%unit%> &
- \textbf{<%description%>}
- <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
- <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
- <%if make%>%
- <%foreach make%>%
- \Ifstr{<%make%>}{<%name%>}{\ExtraDescription{\artikelnummer: <%model%>}}{}
- <%end foreach%>%
- <%end if%>%
- \tabularnewline
-<%end number%>%
-}%
+ % eigentliche Tabelle
+ \FakeTable{
+ <%foreach number%>%
+ <%runningnumber%> &
+ <%qty%> <%unit%> &
+ \textbf{<%description%>}
+ <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
+ <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
+ <%if make%>%
+ <%foreach make%>%
+ \Ifstr{<%make%>}{<%name%>}{\ExtraDescription{\artikelnummer: <%model%>}}{}
+ <%end foreach%>%
+ <%end if%>%
+ \tabularnewline
+ <%end number%>%
+ }%
\end{PricingTabular*}
<%if delivery_term%>%
- \lieferung ~<%delivery_term.description_long%>\\
+\lieferung ~<%delivery_term.description_long%>\\
<%end delivery_term%>%
<%if reqdate%>%
\Large
$( KiviLatex.filter(rspec.title) )$
\normalsize
-%$( IF rspec.version )$
+ %$( IF rspec.version )$
- Version $( KiviLatex.filter(rspec.version.version_number) )$
-%$( END )$
+ Version $( KiviLatex.filter(rspec.version.version_number) )$
+ %$( END )$
\end{minipage}%
}
\end{picture}
%$( SET working_copy = rspec.working_copy_id ? rspec.working_copy : rspec )$
%$( SET versioned_copies = rspec.version ? working_copy.versioned_copies_sorted(max_version_number = rspec.version.version_number) : working_copy.versioned_copies_sorted )$
%$( IF !versioned_copies.size )$
- Bisher wurden noch keine Versionen angelegt.
+Bisher wurden noch keine Versionen angelegt.
%$( ELSE )$
\begin{longtable}{|p{2cm}|p{2cm}|p{12cm}|}
\hline
- \multicolumn{1}{|r}{\small Version} &
- \multicolumn{1}{|r|}{\small Datum} &
- \small Beschreibung\\
+ \multicolumn{1}{|r}{\small Version} &
+ \multicolumn{1}{|r|}{\small Datum} &
+ \small Beschreibung \\
\hline
-%$( FOREACH versioned_copy = versioned_copies )$
- \multicolumn{1}{|r}{\small $( KiviLatex.filter(versioned_copy.version.version_number) )$} &
- \multicolumn{1}{|r|}{\small $( KiviLatex.filter(versioned_copy.version.itime.to_kivitendo(precision='minute')) )$} &
- \small $( KiviLatex.filter(versioned_copy.version.description) )$\\
-%$( END )$
+ %$( FOREACH versioned_copy = versioned_copies )$
+ \multicolumn{1}{|r}{\small $( KiviLatex.filter(versioned_copy.version.version_number) )$} &
+ \multicolumn{1}{|r|}{\small $( KiviLatex.filter(versioned_copy.version.itime.to_kivitendo(precision='minute')) )$} &
+ \small $( KiviLatex.filter(versioned_copy.version.description) )$ \\
+ %$( END )$
\hline
\end{longtable}
%$( END )$
\centering
\includegraphics[width=$( width_cm )$cm,keepaspectratio]{$( picture.print_file_name )$}
-\mbox{Abbildung $( picture.number )$: $( KiviLatex.filter(picture.description ? picture.description : picture.picture_file_name) )$}
+ \mbox{Abbildung $( picture.number )$: $( KiviLatex.filter(picture.description ? picture.description : picture.picture_file_name) )$}
\end{figure}
%$( END )$
% $( SET text_blocks = rspec.text_blocks_sorted(output_position=output_position) )$
% $( IF text_blocks.size )$
- \newpage
+\newpage
- \section{$( heading )$}
+\section{$( heading )$}
% $( FOREACH text_block = text_blocks )$
- \subsection{$( KiviLatex.filter(text_block.title) )$}
+\subsection{$( KiviLatex.filter(text_block.title) )$}
$( KiviLatex.filter_html(text_block.text_as_restricted_html) )$
%$( FOREACH top_item = rspec.sections_sorted )$
- \subsection{Abschnitt $( KiviLatex.filter(top_item.fb_number) )$: $( KiviLatex.filter(top_item.title) )$}
+\subsection{Abschnitt $( KiviLatex.filter(top_item.fb_number) )$: $( KiviLatex.filter(top_item.title) )$}
% $( IF top_item.description )$
- $( KiviLatex.filter_html(top_item.description_as_restricted_html.replace('\r', '').replace('\n+\Z', '')) )$
+$( KiviLatex.filter_html(top_item.description_as_restricted_html.replace('\r', '').replace('\n+\Z', '')) )$
- \vspace{0.5cm}
+\vspace{0.5cm}
% $( END )$
% $( FOREACH item = top_item.children_sorted )$
\parbox[t]{1.0cm}{\textcolor{kivitendodarkred}{$>>>$}}%
\parbox[t]{15.0cm}{%
-\begin{longtable}{p{2.8cm}p{11.7cm}}
- Funktionsblock & $( KiviLatex.filter(item.fb_number) )$\\
- Beschreibung & $( KiviLatex.filter_html(item.description_as_restricted_html) )$\\
- Abhängigkeiten & $( KiviLatex.filter(item.presenter.requirement_spec_item_dependency_list) )$
-\end{longtable}}
+ \begin{longtable}{p{2.8cm}p{11.7cm}}
+ Funktionsblock & $( KiviLatex.filter(item.fb_number) )$ \\
+ Beschreibung & $( KiviLatex.filter_html(item.description_as_restricted_html) )$ \\
+ Abhängigkeiten & $( KiviLatex.filter(item.presenter.requirement_spec_item_dependency_list) )$
+ \end{longtable}}
% $( FOREACH sub_item = item.children_sorted )$
\hspace*{1.15cm}\rule{15.2cm}{0.2pt}\\
\hspace*{1.0cm}%
\parbox[t]{15.0cm}{%
-\begin{longtable}{p{2.8cm}p{11.7cm}}
- Unterfunktionsblock & $( KiviLatex.filter(sub_item.fb_number) )$\\
- Beschreibung & $( KiviLatex.filter_html(sub_item.description_as_restricted_html) )$\\
- Abhängigkeiten & $( KiviLatex.filter(sub_item.presenter.requirement_spec_item_dependency_list) )$
-\end{longtable}}
+ \begin{longtable}{p{2.8cm}p{11.7cm}}
+ Unterfunktionsblock & $( KiviLatex.filter(sub_item.fb_number) )$ \\
+ Beschreibung & $( KiviLatex.filter_html(sub_item.description_as_restricted_html) )$ \\
+ Abhängigkeiten & $( KiviLatex.filter(sub_item.presenter.requirement_spec_item_dependency_list) )$
+ \end{longtable}}
% $( END )$
\begin{document}
\begin{letter}{
- \Ifstr{<%shiptoname%>}{}{ % KEINE ABWEICHENDE LIEFERADRESSE
- <%name%>\strut\\
- <%if department_1%><%department_1%>\\<%end if%>%
- <%if department_2%><%department_2%>\\<%end if%>%
- <%cp_givenname%> <%cp_name%>\strut\\
- <%street%>\strut\\
- <%zipcode%> <%city%>\strut\\
- <%country%> \strut
- }{ % ABWEICHENDE LIEFERADRESSE (Aus Stammdaten oder Beleg)
- <%shiptoname%>\strut\\
- <%if shiptocontact%> <%shiptocontact%><%end if%>\strut\\
- <%shiptodepartment_1%>\strut\\
- <%shiptodepartment_2%>\strut\\
- <%shiptostreet%>\strut\\
- <%shiptozipcode%> <%shiptocity%>\strut
- } % ende ifthenelse LIEFERADRESSE
+\Ifstr{<%shiptoname%>}{}{ % KEINE ABWEICHENDE LIEFERADRESSE
+ <%name%>\strut\\
+ <%if department_1%><%department_1%>\\<%end if%>%
+ <%if department_2%><%department_2%>\\<%end if%>%
+ <%cp_givenname%> <%cp_name%>\strut\\
+ <%street%>\strut\\
+ <%zipcode%> <%city%>\strut\\
+ <%country%> \strut
+}{ % ABWEICHENDE LIEFERADRESSE (Aus Stammdaten oder Beleg)
+ <%shiptoname%>\strut\\
+ <%if shiptocontact%> <%shiptocontact%><%end if%>\strut\\
+ <%shiptodepartment_1%>\strut\\
+ <%shiptodepartment_2%>\strut\\
+ <%shiptostreet%>\strut\\
+ <%shiptozipcode%> <%shiptocity%>\strut
+} % ende ifthenelse LIEFERADRESSE
}
\opening{}
\thispagestyle{kivitendo.letter.first}
\begin{PricingTabular*}[columns={pos, id, desc, amount}]
-% eigentliche Tabelle
-\FakeTable{
-<%foreach number%>%
- <%runningnumber%> &
- <%number%> &
- \textbf{<%description%>}
- <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
- <%if reqdate%>\ExtraDescription{\lieferdatum: <%reqdate%>}<%end reqdate%>%
- <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
- <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
- <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
- <%foreach si_number%>%
- <%if si_chargenumber%>\ExtraDescription{\charge: <%si_chargenumber%> <%if si_bestbefore%> \mhd: <%si_bestbefore%><%end if%><%si_qty%>~<%si_unit%><%end si_chargenumber%>}%
- <%end si_number%>%
- &
- <%qty%> <%unit%>%
- \tabularnewline
-<%end number%>%
-}
+ % eigentliche Tabelle
+ \FakeTable{
+ <%foreach number%>%
+ <%runningnumber%> &
+ <%number%> &
+ \textbf{<%description%>}
+ <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
+ <%if reqdate%>\ExtraDescription{\lieferdatum: <%reqdate%>}<%end reqdate%>%
+ <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
+ <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
+ <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
+ <%foreach si_number%>%
+ <%if si_chargenumber%>\ExtraDescription{\charge: <%si_chargenumber%> <%if si_bestbefore%> \mhd: <%si_bestbefore%><%end if%><%si_qty%>~<%si_unit%><%end si_chargenumber%>}%
+ <%end si_number%>%
+ &
+ <%qty%> <%unit%>%
+ \tabularnewline
+ <%end number%>%
+ }
\end{PricingTabular*}
\medskip
<%end if%>%
<%if delivery_term%>%
- \lieferung ~<%delivery_term.description_long%>\\
+\lieferung ~<%delivery_term.description_long%>\\
<%end delivery_term%>%
\end{letter}
\begin{document}
\begin{letter}{
- <%name%>\strut\\
- <%if department_1%><%department_1%>\\<%end if%>%
- <%if department_2%><%department_2%>\\<%end if%>%
- <%cp_givenname%> <%cp_name%>\strut\\
- <%street%>\strut\\
- <%zipcode%> <%city%>\strut\\
- <%country%> \strut
- }
+<%name%>\strut\\
+<%if department_1%><%department_1%>\\<%end if%>%
+<%if department_2%><%department_2%>\\<%end if%>%
+<%cp_givenname%> <%cp_name%>\strut\\
+<%street%>\strut\\
+<%zipcode%> <%city%>\strut\\
+<%country%> \strut
+}
% Bei Kontaktperson Anrede nach Geschlecht unterscheiden.
% Bei natürlichen Personen persönliche Anrede, sonst allgemeine Anrede.
\opening{
- \Ifstr{<%cp_name%>}{}
- {<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
- {
- \Ifstr{<%cp_gender%>}{f}
- {\anredefrau}
- {\anredeherr}
- <%cp_title%> <%cp_name%>,
- }
-}
+\Ifstr{<%cp_name%>}{}
+{<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
+ {
+ \Ifstr{<%cp_gender%>}{f}
+ {\anredefrau}
+ {\anredeherr}
+ <%cp_title%> <%cp_name%>,
+ }
+ }
\thispagestyle{kivitendo.letter.first}
\auftragsformel
\begin{PricingTabular*}
- % eigentliche Tabelle
- \FakeTable{
- <%foreach number%>%
- <%runningnumber%> &%
- <%number%> &%
- \textbf{<%description%>}%
- <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
- <%if reqdate%>\ExtraDescription{\lieferdatum: <%reqdate%>}<%end reqdate%>%
- <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
- <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
- <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
- &%
- <%qty%> <%unit%> &%
- <%sellprice%>&%
- \Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}%
- <%linetotal%>\tabularnewline
- <%end number%>%
- }%
- \begin{PricingTotal}%
- % Tabellenende letzte Seite
- \nettobetrag & <%subtotal%>\\%
- <%foreach tax%>%
- <%taxdescription%> & <%tax%>\\%
- <%end tax%>%
- \bfseries\schlussbetrag & \bfseries <%ordtotal%>\\%
- \end{PricingTotal}
+ % eigentliche Tabelle
+ \FakeTable{
+ <%foreach number%>%
+ <%runningnumber%> &%
+ <%number%> &%
+ \textbf{<%description%>}%
+ <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
+ <%if reqdate%>\ExtraDescription{\lieferdatum: <%reqdate%>}<%end reqdate%>%
+ <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
+ <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
+ <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
+ &%
+ <%qty%> <%unit%> &%
+ <%sellprice%>&%
+ \Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}%
+ <%linetotal%>\tabularnewline
+ <%end number%>%
+ }%
+ \begin{PricingTotal}%
+ % Tabellenende letzte Seite
+ \nettobetrag & <%subtotal%>\\%
+ <%foreach tax%>%
+ <%taxdescription%> & <%tax%>\\%
+ <%end tax%>%
+ \bfseries\schlussbetrag & \bfseries <%ordtotal%>\\%
+ \end{PricingTotal}
\end{PricingTabular*}
<%if notes%>%
<%end if%>%
<%if delivery_term%>%
- \lieferung ~<%delivery_term.description_long%>\\
+\lieferung ~<%delivery_term.description_long%>\\
<%end delivery_term%>%
<%if reqdate%>%
\begin{document}
\setkomavar{signature}{%
-<%employee_company%>%
-\ifhmode\\\fi
-<%salesman_name%>%
+ <%employee_company%>%
+ \ifhmode\\\fi
+ <%salesman_name%>%
}
\setkomavar*{date}{\datum}
\setkomavar{fromphone}{<%employee_tel%>}
\setkomavar{fromemail}{<%employee_email%>}
\setkomavar{title}{
- \angebot~
- <%quonumber%>%
+ \angebot~
+ <%quonumber%>%
}
\setkomavar{transaction}{<%transaction_description%>}
<%if shiptoname%>%
\makeatletter
- \begin{lrbox}\shippingAddressBox
+\begin{lrbox}\shippingAddressBox
\parbox{\useplength{toaddrwidth}}{
- \backaddr@format{\scriptsize\usekomafont{backaddress}%
- \strut\abweichendeLieferadresse
- }
- \par\smallskip
- \setlength{\parskip}{\z@}
- \par
- \normalsize
- <%shiptoname%>\par
- <%if shiptocontact%> <%shiptocontact%><%end if%>\par
- <%shiptodepartment_1%>\par
- <%shiptodepartment_2%>\par
- <%shiptostreet%>\par
- <%shiptozipcode%> <%shiptocity%>%
- }
+ \backaddr@format{\scriptsize\usekomafont{backaddress}%
+ \strut\abweichendeLieferadresse
+ }
+ \par\smallskip
+ \setlength{\parskip}{\z@}
+ \par
+ \normalsize
+ <%shiptoname%>\par
+ <%if shiptocontact%> <%shiptocontact%><%end if%>\par
+ <%shiptodepartment_1%>\par
+ <%shiptodepartment_2%>\par
+ <%shiptostreet%>\par
+ <%shiptozipcode%> <%shiptocity%>%
+ }
\end{lrbox}
\makeatother
<%end if%>%
\begin{letter}{
- <%name%>\strut\\
- <%if department_1%><%department_1%>\\<%end if%>%
- <%if department_2%><%department_2%>\\<%end if%>%
- <%cp_givenname%> <%cp_name%>\strut\\
- <%street%>\strut\\
- <%zipcode%> <%city%>\strut\\
- <%country%> \strut
+<%name%>\strut\\
+<%if department_1%><%department_1%>\\<%end if%>%
+<%if department_2%><%department_2%>\\<%end if%>%
+<%cp_givenname%> <%cp_name%>\strut\\
+<%street%>\strut\\
+<%zipcode%> <%city%>\strut\\
+<%country%> \strut
}
% Bei Kontaktperson Anrede nach Geschlecht unterscheiden.
% Bei natürlichen Personen persönliche Anrede, sonst allgemeine Anrede.
\opening{
- \Ifstr{<%cp_name%>}{}
- {<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
- {
- \Ifstr{<%cp_gender%>}{f}
- {\anredefrau}
- {\anredeherr}
- <%cp_title%> <%cp_name%>,
- }
-}
+\Ifstr{<%cp_name%>}{}
+{<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
+ {
+ \Ifstr{<%cp_gender%>}{f}
+ {\anredefrau}
+ {\anredeherr}
+ <%cp_title%> <%cp_name%>,
+ }
+ }
\thispagestyle{kivitendo.letter.first}
\angebotsformel
\begin{PricingTabular*}
-% eigentliche Tabelle
-\FakeTable{
-<%foreach number%>%
-<%runningnumber%> &%
-<%number%> &%
-\textbf{<%description%>}%
- <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
- <%if reqdate%>\ExtraDescription{\lieferdatum: <%reqdate%>}<%end reqdate%>%
- <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
- <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
- <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
- &%
- <%qty%> <%unit%> &%
- <%sellprice%>&%
- \Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}%
- <%linetotal%>\tabularnewline
-<%end number%>%
-}
- \begin{PricingTotal}
- % Tabellenende letzte Seite
- \nettobetrag & <%subtotal%>\\
- <%foreach tax%>%
- <%taxdescription%> & <%tax%>\\
- <%end tax%>%
- \bfseries\schlussbetrag & \bfseries <%ordtotal%>\\
- \end{PricingTotal}
+ % eigentliche Tabelle
+ \FakeTable{
+ <%foreach number%>%
+ <%runningnumber%> &%
+ <%number%> &%
+ \textbf{<%description%>}%
+ <%if longdescription%>\ExtraDescription{<%longdescription%>}<%end longdescription%>%
+ <%if reqdate%>\ExtraDescription{\lieferdatum: <%reqdate%>}<%end reqdate%>%
+ <%if serialnumber%>\ExtraDescription{\seriennummer: <%serialnumber%>}<%end serialnumber%>%
+ <%if ean%>\ExtraDescription{\ean: <%ean%>}<%end ean%>%
+ <%if projectnumber%>\ExtraDescription{\projektnummer: <%projectnumber%>}<%end projectnumber%>%
+ &%
+ <%qty%> <%unit%> &%
+ <%sellprice%>&%
+ \Ifstr{<%p_discount%>}{0}{}{\sffamily\scriptsize{(-<%p_discount%>\,\%)}}%
+ <%linetotal%>\tabularnewline
+ <%end number%>%
+ }
+ \begin{PricingTotal}
+ % Tabellenende letzte Seite
+ \nettobetrag & <%subtotal%>\\
+ <%foreach tax%>%
+ <%taxdescription%> & <%tax%>\\
+ <%end tax%>%
+ \bfseries\schlussbetrag & \bfseries <%ordtotal%>\\
+ \end{PricingTotal}
\end{PricingTabular*}
<%if notes%>%
- <%notes%>%
- \medskip
+<%notes%>%
+\medskip
<%end if%>%
<%if delivery_term%>%
- \lieferung ~<%delivery_term.description_long%>\\
+\lieferung ~<%delivery_term.description_long%>\\
<%end delivery_term%>%
\angebotdanke\\
\closing{\gruesse}
\begin{minipage}{\textwidth}
-\rule{\linewidth}{.2pt}\par
-\auftragerteilt\par\bigskip
-\nurort:\rule[-.5ex]{8cm}{.2pt}\ ,\den\ \rule[-.5ex]{5cm}{.2pt}\par\bigskip
+ \rule{\linewidth}{.2pt}\par
+ \auftragerteilt\par\bigskip
+ \nurort:\rule[-.5ex]{8cm}{.2pt}\ ,\den\ \rule[-.5ex]{5cm}{.2pt}\par\bigskip
-\unterschrift/\stempel:\rule[-.5ex]{6cm}{.2pt}
+ \unterschrift/\stempel:\rule[-.5ex]{6cm}{.2pt}
\end{minipage}
\begin{document}
\begin{letter}{
- <%name%>\strut\\
- <%if department_1%><%department_1%>\\<%end if%>%
- <%if department_2%><%department_2%>\\<%end if%>%
- <%cp_givenname%> <%cp_name%>\strut\\
- <%street%>\strut\\
- <%zipcode%> <%city%>\strut\\
- <%country%> \strut
- }
+<%name%>\strut\\
+<%if department_1%><%department_1%>\\<%end if%>%
+<%if department_2%><%department_2%>\\<%end if%>%
+<%cp_givenname%> <%cp_name%>\strut\\
+<%street%>\strut\\
+<%zipcode%> <%city%>\strut\\
+<%country%> \strut
+}
% Bei Kontaktperson Anrede nach Geschlecht unterscheiden.
% Bei natürlichen Personen persönliche Anrede, sonst allgemeine Anrede.
\opening{
- \Ifstr{<%cp_name%>}{}
- {<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
- {
- \Ifstr{<%cp_gender%>}{f}
- {\anredefrau}
- {\anredeherr}
- <%cp_title%> <%cp_name%>,
- }
-}
+\Ifstr{<%cp_name%>}{}
+{<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
+ {
+ \Ifstr{<%cp_gender%>}{f}
+ {\anredefrau}
+ {\anredeherr}
+ <%cp_title%> <%cp_name%>,
+ }
+ }
\thispagestyle{kivitendo.letter.first}
\sammelrechnungsformel
\begin{SimpleTabular}[
- colspec=l*6X,
- headline={\bfseries\rechnung~\nr & \bfseries\datum & \bfseries\faellig &
- \bfseries\aktuell & \bfseries\asDreissig & \bfseries\asSechzig & \bfseries\asNeunzig}
-]
-% eigentliche Tabelle
-<%foreach invnumber%>%
- <%invnumber%> & <%invdate%> & <%duedate%> &
- <%c0%> & <%c30%> & <%c60%> & <%c90%> \\
-<%end invnumber%>%
-% Tabellenende letzte Seite
-\midrule[\heavyrulewidth]
-\multicolumn{3}{@{}l}{\bfseries\zwischensumme} & \bfseries<%c0total%> & \bfseries<%c30total%> & \bfseries<%c60total%> & \bfseries<%c90total%>\\*
-\midrule
-\multicolumn{3}{@{}l}{\bfseries\schlussbetrag} & &&&\bfseries<%total%> \\
+ colspec=l*6X,
+ headline={\bfseries\rechnung~\nr & \bfseries\datum & \bfseries\faellig &
+ \bfseries\aktuell & \bfseries\asDreissig & \bfseries\asSechzig & \bfseries\asNeunzig}
+ ]
+ % eigentliche Tabelle
+ <%foreach invnumber%>%
+ <%invnumber%> & <%invdate%> & <%duedate%> &
+ <%c0%> & <%c30%> & <%c60%> & <%c90%> \\
+ <%end invnumber%>%
+ % Tabellenende letzte Seite
+ \midrule[\heavyrulewidth]
+ \multicolumn{3}{@{}l}{\bfseries\zwischensumme} & \bfseries<%c0total%> & \bfseries<%c30total%> & \bfseries<%c60total%> & \bfseries<%c90total%>\\*
+ \midrule
+ \multicolumn{3}{@{}l}{\bfseries\schlussbetrag} & &&&\bfseries<%total%> \\
\end{SimpleTabular}
\closing{\gruesse}
\begin{document}
\begin{letter}{
- <%name%>\strut\\
- <%if department_1%><%department_1%>\\<%end if%>%
- <%if department_2%><%department_2%>\\<%end if%>%
- <%cp_givenname%> <%cp_name%>\strut\\
- <%street%>\strut\\
- <%zipcode%> <%city%>\strut\\
- <%country%> \strut
- }
+<%name%>\strut\\
+<%if department_1%><%department_1%>\\<%end if%>%
+<%if department_2%><%department_2%>\\<%end if%>%
+<%cp_givenname%> <%cp_name%>\strut\\
+<%street%>\strut\\
+<%zipcode%> <%city%>\strut\\
+<%country%> \strut
+}
% Bei Kontaktperson Anrede nach Geschlecht unterscheiden.
% Bei natürlichen Personen persönliche Anrede, sonst allgemeine Anrede.
\opening{
- \Ifstr{<%cp_name%>}{}
- {<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
- {
- \Ifstr{<%cp_gender%>}{f}
- {\anredefrau}
- {\anredeherr}
- <%cp_title%> <%cp_name%>,
- }
-}
+\Ifstr{<%cp_name%>}{}
+{<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
+ {
+ \Ifstr{<%cp_gender%>}{f}
+ {\anredefrau}
+ {\anredeherr}
+ <%cp_title%> <%cp_name%>,
+ }
+ }
\thispagestyle{kivitendo.letter.first}
\mahnungsformel
\begin{SimpleTabular}[headline=\bfseries\rechnung~\nr&\bfseries\datum&\bfseries\betrag,colspec=rXr<{\tabcurrency}]
-% eigentliche Tabelle
-<%foreach dn_invnumber%>%
- <%dn_invnumber%> & <%dn_transdate%> & <%dn_amount%> \\[0.1cm]
-<%end dn_invnumber%>%
+ % eigentliche Tabelle
+ <%foreach dn_invnumber%>%
+ <%dn_invnumber%> & <%dn_transdate%> & <%dn_amount%> \\[0.1cm]
+ <%end dn_invnumber%>%
\end{SimpleTabular}
\begin{letter}{
- <%name%>\strut\\
- <%if department_1%><%department_1%>\\<%end if%>%
- <%if department_2%><%department_2%>\\<%end if%>%
- <%cp_givenname%> <%cp_name%>\strut\\
- <%street%>\strut\\
- <%zipcode%> <%city%>\strut\\
- <%country%> \strut
- }
+<%name%>\strut\\
+<%if department_1%><%department_1%>\\<%end if%>%
+<%if department_2%><%department_2%>\\<%end if%>%
+<%cp_givenname%> <%cp_name%>\strut\\
+<%street%>\strut\\
+<%zipcode%> <%city%>\strut\\
+<%country%> \strut
+}
% Bei Kontaktperson Anrede nach Geschlecht unterscheiden.
% Bei natürlichen Personen persönliche Anrede, sonst allgemeine Anrede.
\opening{
- \Ifstr{<%cp_name%>}{}
- {<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
- {
- \Ifstr{<%cp_gender%>}{f}
- {\anredefrau}
- {\anredeherr}
- <%cp_title%> <%cp_name%>,
- }
-}
+\Ifstr{<%cp_name%>}{}
+{<%if natural_person%><%greeting%> <%name%>,<%else%>\anrede<%end if%>}
+ {
+ \Ifstr{<%cp_gender%>}{f}
+ {\anredefrau}
+ {\anredeherr}
+ <%cp_title%> <%cp_name%>,
+ }
+ }
\thispagestyle{kivitendo.letter.first}
\mahnungsrechnungsformel
\begin{SimpleTabular}[colspec=Xr<{\tabcurrency},headline={\bfseries\posten& \bfseries\betrag}]
- Mahngebühren & <%fee%> \\
- Zinsen & <%interest%> \\
- \midrule[\heavyrulewidth]
- \multicolumn{1}{@{}l}{\schlussbetrag}& <%invamount%>\\
+ Mahngebühren & <%fee%> \\
+ Zinsen & <%interest%> \\
+ \midrule[\heavyrulewidth]
+ \multicolumn{1}{@{}l}{\schlussbetrag}& <%invamount%>\\
\end{SimpleTabular}
\smallskip