X-Git-Url: http://wagnertech.de/git?p=kivitendo-erp.git;a=blobdiff_plain;f=templates%2Fprint%2Ff-tex%2Fdefault.tex;fp=templates%2Fprint%2Ff-tex%2Fdefault.tex;h=0000000000000000000000000000000000000000;hp=07def34f488bf5a1b137985c27d604a406751790;hb=53593baa211863fbf66540cf1bcc36c8fb37257f;hpb=deb4d2dbb676d7d6f69dfe7815d6e0cb09bd4a44 diff --git a/templates/print/f-tex/default.tex b/templates/print/f-tex/default.tex deleted file mode 100644 index 07def34f4..000000000 --- a/templates/print/f-tex/default.tex +++ /dev/null @@ -1,568 +0,0 @@ -% ---------------------------------------------------------- -% letter.tex -% Globale Vorlage fuer Briefartige Documente LX-Office 2.6 -% -% Changelog: see gitlog - \newcommand{\ftLetterVersion}{1.2-u (05.12.2012)} -% -% Lizenz -% http://www.gnu.de/licenses/gpl-3.0.html -% -% Siehe ./README -% -% Autor: Wulf Coulmann scripts_at_gpl.coulmann.de -% Aufgebaut auf invoice.tex 0.1 kmk@lilalaser.de -% -% ---------------------------------------------------------- - -\documentclass[letter,fontsize=11pt]{scrlttr2} - - -\begingroup - \makeatletter - \@latex@warning@no@line{ #### this is default.tex \ftLetterVersion #####} -\endgroup - - -\usepackage{ifpdf} -\usepackage{graphicx} -\usepackage{german} -\usepackage{textcomp} -\usepackage{lastpage} -\usepackage{filecontents} -\usepackage{etex} -\usepackage{ltxtable} -\usepackage{tabularx} -\usepackage{longtable} -\usepackage{booktabs} -\usepackage{numprint} -\usepackage{xstring} -\newcommand{\leer}{} -\usepackage{zwischensumme} -\ifthenelse{\isundefined{\employeecountry}}{\input{mydata}}{} - -%% meta infos -\newcommand{\docname}{<%template_meta.formname NOESCAPE%>} -\newcommand{\TemplateMetaLanguageDescription}{<%template_meta.language.description NOESCAPE%>} -\newcommand{\LangCode}{<%template_meta.language.template_code NOESCAPE%>} -\newcommand{\TemplateMetaLanguageOutputNumberformat}{<%template_meta.language.output_numberformat NOESCAPE%>} -\newcommand{\TemplateMetaLanguageOutputDateformat}{<%template_meta.language.output_dateformat NOESCAPE%>} -\newcommand{\TemplateMetaFormat}{<%template_meta.format NOESCAPE%>} -\newcommand{\TemplateMetaExtension}{<%template_meta.extension NOESCAPE%>} -\newcommand{\TemplateMetaMedia}{<%template_meta.media NOESCAPE%>} -\newcommand{\TemplateMetaPrinterDescription}{<%template_meta.printer.description NOESCAPE%>} -\newcommand{\TemplateMetaPrinterTemplateCode}{<%template_meta.printer.template_code NOESCAPE%>} - -%%%%%%%%% Report-Variablen umsetzen, damit latex sie in lxbriefkopf.tex sieht. -%%%% Die eigenen Daten -\newcommand{\employeename}{<%employee_name%>} -\newcommand{\employeecompany}{<%employee_company%>} -\newcommand{\employeeaddress}{<%employee_address%>} -\newcommand{\employeetel}{<%employee_tel%>} -\newcommand{\employeefax}{<%employee_fax%>} -\newcommand{\employeecoustid}{<%employee_co_ustid%>} -\newcommand{\employeetaxnumber}{<%employee_taxnumber%>} -\newcommand{\media}{<%media%>} - - -%%%% Adressat -\newcommand{\name}{<%name%>} -\newcommand{\Shipname}{\ifthenelse{\equal{<%shiptoname%>}{\leer}}{<%name%>}{<%shiptoname%>}} -\newcommand{\departmentone}{<%department_1%>} -\newcommand{\departmenttwo}{<%department_2%>} -\newcommand{\cpgreeting}{<%cp_greeting%>} -\newcommand{\cptitle}{<%cp_title%>} -\newcommand{\cpgivenname}{<%cp_givenname%>} -\newcommand{\cpname}{<%cp_name%>} -\newcommand{\street}{<%street%>} -\newcommand{\Shipstreet}{\ifthenelse{\equal{<%shiptostreet%>}{\leer}}{<%street%>}{<%shiptostreet%>}} -\newcommand{\country}{<%country%>} -\newcommand{\Shipcountry}{<%shiptocountry%>} -\newcommand{\UstId}{<%ustid%>} -\newcommand{\zipcode}{<%zipcode%>} -\newcommand{\Shipzipcode}{\ifthenelse{\equal{<%shiptozipcode%>}{\leer}}{<%zipcode%>}{<%shiptozipcode%>}} -\newcommand{\city}{<%city%>} -\newcommand{\Shipcity}{\ifthenelse{\equal{<%shiptocity%>}{\leer}}{<%city%>}{<%shiptocity%>}} -\newcommand{\phone}{<%customerphone%>} -\newcommand{\fax}{<%customerfax%>} - -%%%% Variablen, die sich auf das ganze Dokument beziehen -\newcommand{\kundennummer}{<%customernumber%>} -\newcommand{\vendornumber}{<%vendornumber%>} -\newcommand{\quonumber}{<%quonumber%>} % Angebotsnummer -\newcommand{\ordnumber}{<%ordnumber%>} % Auftragsnummer bei uns -\newcommand{\cusordnumber}{<%cusordnumber%>} % Auftragsnummer beim Kunden -\newcommand{\invnumber}{<%invnumber%>} % Rechnungsnummer -\newcommand{\donumber}{<%donumber%>} % Lieferscheinnummer -%\newcommand{\docnumber}{Rechnungsnummer: \invnumber} -\newcommand{\quodate}{<%quodate%>} % Angebotsdatum -\newcommand{\orddate}{<%orddate%>} % Auftragsdatum -\newcommand{\reqdate}{<%reqdate%>} % gewuenschtes Lieferdatum -\newcommand{\deliverydate}{<%deliverydate%>} % Lieferdatum -\newcommand{\invdate}{<%invdate%>} % Rechnungsdatum -\newcommand{\transdate}{<%transdate%>} % Lieferscheindatum -\newcommand{\terms}{<%terms%>} % Zahlungsfrist -\newcommand{\duedate}{<%duedate%>} % Fälligkeitsdatum -\newcommand{\invtotal}{<%invtotal NOFORMAT%>} % Gesamtbetrag -\newcommand{\paid}{<%paid NOFORMAT%>} % Schon bezahlt -\newcommand{\total}{<%total NOFORMAT%>} % Restbetrag -\newcommand{\subtotal}{<%subtotal NOFORMAT%>} % Restbetrag -\newcommand{\paymentterms}{<%payment_terms%>} % Zahlungsbedingungen -\newcommand{\paymentPrivatEnd}{E} % Endung bei Privatkunden -\newcommand{\paymenttype}{<%payment_description%>} % name der Zahlungs-art - fuer Steuerung brutto/netto - - -%%%% Lieferadresse -\newcommand{\shiptoname}{<%shiptoname%>} -\newcommand{\shiptocontact}{<%shiptocontact%>} -\newcommand{\shiptodepartmentone}{<%shiptodepartment_1%>} -\newcommand{\shiptodepartmenttwo}{<%shiptodepartment_2%>} -\newcommand{\shiptostreet}{<%shiptostreet%>} -\newcommand{\shiptocity}{<%shiptocity%>} -\newcommand{\shiptocountry}{<%shiptocountry%>} -\newcommand{\shiptophone}{<%shiptophone%>} -\newcommand{\shiptozipcode}{<%shiptozipcode%>} -\newcommand{\shiptofax}{<%shiptofax%>} - -%%%% Die Waehrungsvariable in Waehrunszeichen umsetzen -\newcommand{\currency}{<%currency%>} -\ifthenelse{\equal{\currency}{EUR}}{\let\currency\euro}{} -\ifthenelse{\equal{\currency}{YEN}}{\let\currency\textyen}{} -\ifthenelse{\equal{\currency}{GBP}}{\let\currency\pounds}{} -\ifthenelse{\equal{\currency}{USD}}{\let\currency\$}{} - -%%%%%%%%%%%%% Ende Reportvariablen-Umsetzung - -\newcommand{\NoValue}{0} -\newcommand{\Picklist}{0} -\newcommand{\PurchaseOrder}{0} -\newcommand{\trash}{0} -\newcommand{\nonemptyline}[2]{\ifthenelse{\equal{#2}{\leer}}{}{#1#2~\\}} -\newcommand{\MyAdress}{\IfStrEq{\docname}{sales_delivery_order}{\Shipname~\\ - % lieferadresse wenn Lieferschein - \nonemptyline{\cpgreeting{ }\cpgivenname{ }}{\cpname} - \nonemptyline{}{\departmentone} - \Shipstreet ~\\ - \Shipzipcode{ }\Shipcity - \ifthenelse{\equal{\Shipcountry}{\employeecountry}}{}{~\\ \Shipcountry} % Laenderangabe wird nur gedruckt, - ~ % wenn der Empfaenger nicht im eigenen Land sitzt. - }{ - \name~\\ - \nonemptyline{\cpgreeting{ }\cpgivenname{ }}{\cpname} - \nonemptyline{}{\departmentone} - \street ~\\ - \zipcode{ }\city - \ifthenelse{\equal{\country} {\employeecountry}}{}{ - \ifthenelse{\equal{\country}{\leer}}{}{ ~\\ \country} } % Laenderangabe wird nur gedruckt, - ~ % wenn der Empfaenger nicht im eigenen Land sitzt. - } -} - - - -\begin{document} - -%%% dei folgenden Funktionen lesen den Dokumentennamen aus und _muessen_nach_ \begin{dokument} stehen. - -% ==== statische Begriffe in der aktuellen Sprache einlesen -\input{translations} - - -\ifthenelse{\bgPdfEmailOnly = 1 }{ - \ifthenelse{\equal{\media}{email}}{ - }{ - \firsthead{} - \watermark{} - } -}{} - - -% ==== dokumenttyp ermitteln -\IfStrEq{\docname}{pick_list}{ - % Sammelliste - \setkomavar{backaddress}{\DeliveryAddress} - \firsthead{ - \hspace{-3mm} - \resizebox{\useplength{firstheadwidth}-50mm}{!}{% - \huge \TitlePicklist - } - } - \renewcommand{\NoValue}{1} - \renewcommand{\Picklist}{1} - \newcommand{\doctype}{} - \newcommand{\MyDocdate}{\transdate} - \newcommand{\DocNoTitle}{\DelorderNumber} - \newcommand{\docnumber}{\donumber} - \renewcommand{\deliverydate}{\transdate} - % 2. Documentnummer - \ifthenelse{\equal{\ordnumber}{\leer}}{ - % wenn keine Auftragsnummer -> Angebotsnummer - \newcommand{\SecNoTitle}{\QuotationNumber} - \newcommand{\secnumber}{\quonumber} - }{ - \newcommand{\SecNoTitle}{\OrderNumber} - \newcommand{\secnumber}{\ordnumber} - } -}{} -\IfStrEq{\docname}{sales_delivery_order}{ - % Lieferschein - \renewcommand{\NoValue}{1} - \newcommand{\doctype}{\TitleDelorder} - \newcommand{\MyDocdate}{\transdate} - \newcommand{\DocNoTitle}{\DelorderNumber} - \newcommand{\docnumber}{\donumber} - \renewcommand{\deliverydate}{\transdate} - % 2. Documentnummer - \ifthenelse{\equal{\ordnumber}{\leer}}{ - % wenn keine Auftragsnummer -> Angebotsnummer - \newcommand{\SecNoTitle}{\QuotationNumber} - \newcommand{\secnumber}{\quonumber} - }{ - \newcommand{\SecNoTitle}{\OrderNumber} - \newcommand{\secnumber}{\ordnumber} - } -}{} -\IfStrEq{\docname}{invoice}{ - % Rechnung - \newcommand{\doctype}{\TitleInv} - \newcommand{\MyDocdate}{\invdate} - \newcommand{\DocNoTitle}{\InvNumber} - \newcommand{\docnumber}{\invnumber} - % 2. Documentnummer - \ifthenelse{\equal{\ordnumber}{\leer}}{ - % wenn keine Auftragsnummer -> Angebotsnummer - \newcommand{\SecNoTitle}{\QuotationNumber} - \newcommand{\secnumber}{\quonumber} - }{ - \newcommand{\SecNoTitle}{\OrderNumber} - \newcommand{\secnumber}{\ordnumber} - } -}{} -\IfStrEq{\docname}{proforma}{ - \newcommand{\doctype}{\TitleProforma} - \newcommand{\MyDocdate}{\invdate} - \newcommand{\DocNoTitle}{\InvNumber} - \newcommand{\docnumber}{\invnumber} - % 2. Documentnummer - \ifthenelse{\equal{\ordnumber}{\leer}}{ - % wenn keine Auftragsnummer -> Angebotsnummer - \newcommand{\SecNoTitle}{\QuotationNumber} - \newcommand{\secnumber}{\quonumber} - }{ - \newcommand{\SecNoTitle}{\OrderNumber} - \newcommand{\secnumber}{\ordnumber} - } -}{} -\IfStrEq{\docname}{purchase_order}{ - \renewcommand{\PurchaseOrder}{1} - \newcommand{\doctype}{\TitlePurchaseOrder} - \newcommand{\MyDocdate}{\orddate} - \newcommand{\DocNoTitle}{\RequestOrderNumber} - \newcommand{\docnumber}{\ordnumber} - \renewcommand{\deliverydate}{\reqdate} - \renewcommand{\DelDate}{\ReqByTitle} - \renewcommand{\CustomerID}{\VendorID} - \renewcommand{\kundennummer}{\vendornumber} - \newcommand{\SecNoTitle}{} - \newcommand{\secnumber}{} -}{} -\IfStrEq{\docname}{credit_note}{ - \newcommand{\doctype}{\TitleCreditNote} - \newcommand{\MyDocdate}{\invdate} - \newcommand{\DocNoTitle}{\CredNumber} - \newcommand{\docnumber}{\invnumber} - % keine 2. Documentnummer - \newcommand{\SecNoTitle}{} - \newcommand{\secnumber}{} -}{} -\IfStrEq{\docname}{sales_order}{ - % Auftragsbestaetigung - \newcommand{\doctype}{\TitleSalesOrder} - \newcommand{\MyDocdate}{\orddate} - \renewcommand{\deliverydate}{\reqdate} - \newcommand{\DocNoTitle}{\OrderNumber} - \newcommand{\docnumber}{\ordnumber} - % 2. Documentnummer - \ifthenelse{\equal{\ordnumber}{\leer}}{ - % wenn keine Angebotsnummer -> leer - \newcommand{\SecNoTitle}{} - \newcommand{\secnumber}{} - }{ - \newcommand{\SecNoTitle}{\QuotationNumber} - \newcommand{\secnumber}{\quonumber} - } -}{ } -\IfStrEq{\docname}{sales_quotation}{ - % Angebot - \newcommand{\doctype}{\TitleSalesQuotation} - \newcommand{\MyDocdate}{\quodate} - \renewcommand{\DelDate}{\ValidUntil} - \renewcommand{\deliverydate}{\reqdate} - \newcommand{\DocNoTitle}{\QuotationNumber} - \newcommand{\docnumber}{\quonumber} - % 2. Documentnummer - \newcommand{\SecNoTitle}{} - \newcommand{\secnumber}{} -}{ } - - - -% ==== \paid auf 0.00 falls leer -\IfSubStr{\paid}{\DecimalSign}{}{\renewcommand{\paid}{0{\DecimalSign}00}} - - - -\setkomavar{date}{} - - -\begin{letter}{{\ifthenelse{\isnamedefined{MyAdressfield}}{\MyAdressfield - }{\MyAdress - }} -} -\opening{} - -%========Datum und Nummern==================================================== - -\newcommand{\DocId}{ - \begin{tabular*}{\textwidth+1em }{@{\extracolsep{\fill}}llllr} - \MakeUppercase{\tiny \DocNoTitle} & - \MakeUppercase{\tiny \CustomerID} & - \MakeUppercase{\tiny \SecNoTitle } & - \MakeUppercase{\tiny \DelDate } & - \MakeUppercase{\tiny \Date}~\\ - \mainfont\docnumber & - \mainfont\kundennummer & - \mainfont\secnumber & - \mainfont\deliverydate & - \mainfont\MyDocdate~\\ -\end{tabular*} ~\\ -} - -\hspace{-0.5em} \DocId - - - - -\nexthead{ - \ifthenelse{\bgPdfFirstPageOnly = 1 }{ - \hspace{-4mm} \DocId - }{} -} -\vspace{ 5mm} - -{\noindent\textbf\doctype}~\\ -\IfEndWith{\paymenttype}{\paymentPrivatEnd}{\PriceInclTax }{ } - - -%======Die eigentliche-Tabelle======================================== - -% temporaere Datei mit Tabelle anlegen -\begin{filecontents}{<%template_meta.tmpfile NOESCAPE%>.table.tex} -\mainfont -\resetlaufsumme - - - - \ifthenelse{\NoValue > 0 } - { % Tabelle ohne Preisen - \ifthenelse{\Picklist = 1 }{ - - \begin{longtable}{@{}rlX@{ }rlrrrl@{}} - }{ - \begin{longtable}{@{}rlX@{ }rlrr@{}} - - } - % Kopfzeile der Tabelle - - {\Pos} & - {\Number} & - {\ItemNo} & - {\Count} & - {\Unit} \hspace{2mm} - \ifthenelse{\Picklist = 1 }{& {\Take} & {\Storage} }{} - ~\\ - \midrule - \endfirsthead - - % Tabellenkopf nach dem Umbruch - {\Pos} & - {\Number} & - {\ItemNo} & - {\Count} & - {\Unit} \hspace{2mm} - \ifthenelse{\Picklist = 1 }{& {\Take} & {\Storage} }{} - ~\\ - - \midrule - \endhead - - <%foreach number%> - <%runningnumber%> % Laufende Positionsnummer - & - <%number%> % Artikelnummer - & - <%description%> % Kurzbeschreibung des Artikels - \ifthenelse{\equal{<%longdescription%>}{\leer}}{}{ \newline <%longdescription%>} - % Ein zeilenweises Auslieferdatum, wenn es gesetzt bei der Position hinterlegt ist. - \ifthenelse{\equal{<%deliverydate_oe%>}{\leer}}{}{ - \newline \DelDate:~<%deliverydate_oe%>} - & - <%qty NOFORMAT%> % Menge - & - <%unit%> % Einheit - %\ifthenelse{\Picklist = 1 }{& {x} & {x} }{} - %\ifthenelse{\Picklist = 1 }{& {x} & {x} \hhline{~~~~~--} }{~\\} - \ifthenelse{\Picklist = 1 }{& {\underline{;~~~~~~~~~}} & {\underline{;~~~~~~~~~}}~\\ }{~\\} - %~\\ % - <%end number%> - \end{longtable} % Ende der zentralen Tabelle - }{ % Tabelle mit Preisen - \begin{longtable}{@{}rlX@{ }rlrrr@{}} - % Kopfzeile der Tabelle - - {\Pos} & - {\Number} & - {\ItemNo} & - {\Count} & - {\Unit} & - {\Fee} & - {\Dis} & - {\Total} \hspace{2mm} ~\\ - \midrule - \endfirsthead - - % Tabellenkopf nach dem Umbruch - {\Pos} & - {\Number} & - {\ItemNo} & - {\Count} & - {\Unit} & - {\Fee} & - {\Dis} & - {\Total} \hspace{2mm} ~\\ - \midrule - \multicolumn{7}{r}{ \rule{0mm}{5mm} \TabCarry{:} \MarkZwsumPos} - \endhead - - - % Fuss der Teiltabellen - \multicolumn{7}{r}{ \rule{0mm}{5mm} \TabSubTotal{:} \MarkZwsumPos } ~\\ - \endfoot - - % Das Ende der Tabelle - \midrule - \multicolumn{7}{r}{ \rule{0mm}{5mm} \TabSubTotal{:} \MarkZwsumPos} ~\\ - \endlastfoot - - <%foreach number%> - <%runningnumber%> % Laufende Positionsnummer - & - <%number%> % Artikelnummer - & - <%description%> % Kurzbeschreibung des Artikels - \ifthenelse{\equal{<%longdescription%>}{\leer}}{}{ \newline <%longdescription%>} - % Ein zeilenweises Auslieferdatum, wenn es gesetzt ist. - \ifthenelse{\equal{<%reqdate%>}{\leer}}{}{ - \newline \DelDate:~<%reqdate%>} - & - <%qty NOFORMAT%> % Menge - & - <%unit%> % Einheit - & - %\IfEndWith{\paymentterms}{_e}{EN}{\brutto{<%sellprice NOFORMAT%>}{<%qty NOFORMAT%>}{<%p_discount%>}} - \IfEndWith{\paymenttype}{\paymentPrivatEnd}{ - \BruttoSellPrice{<%sellprice NOFORMAT%>}{<%tax_rate%>} - & - \ifthenelse{\equal{<%p_discount%>}{0}}{}{ -<%p_discount%>\%} - & - \BruttoWert{<%linetotal NOFORMAT%>}{<%tax_rate%>} - }{ - \numprint{<%sellprice NOFORMAT%>} - & - \ifthenelse{\equal{<%p_discount%>}{0}}{}{ -<%p_discount%>\%} - & - \Wert{<%linetotal NOFORMAT%>} % Zeilensumme addieren - } - ~\\ % - <%end number%> - \end{longtable} % Ende der zentralen Tabelle - } -\end{filecontents} % Ende der Hilfsdatei. - -\LTXtable{\textwidth}{<%template_meta.tmpfile NOESCAPE%>.table.tex} - -\rule{\textwidth}{0pt} % Ein (unsichtbarer) Strich quer ueber die Seite -\vspace{ 5mm} -\vspace{-2em plus 10em minus 2em}~\\ -\ifthenelse{\NoValue > 0 } -{ % wenn keine Zahlen -}{ % Wenn Zahlen - \parbox{\textwidth}{ - \mainfont - % - % - \setlength{\tabcolsep}{0.2em} - \ifthenelse{\equal{\paid}{0{\DecimalSign}00} } - { % Wenn noch nichts gezahlt wurde - \IfSubStr{\invtotal}{\DecimalSign}{}{ - \fpAdd{\invtotal}{0}{<%subtotal NOFORMAT%>} - <%foreach tax%> - \fpAdd{\invtotal}{\invtotal}{<%tax NOFORMAT%>} - <%end tax%> - } - \hfill - \begin{tabular}{@{}rrr@{}} - %{Summe vor Steuern:}& {\numprint{<%subtotal NOFORMAT%>}} & ~\\ - - % Die unterschiedlichen Steueranteile getrennt ausweisen - <%foreach tax%> - { \IfEndWith{\paymenttype}{\paymentPrivatEnd}{\TaxInc }{ } <%taxdescription%>} - & - {\numprint{<%tax NOFORMAT%>}}& ~\\ - <%end tax%> - \midrule[1pt] - {\Sum~ \currency:} & \textbf{\numprint{\invtotal}} - \end{tabular} - } - { % Wenn bereits etwas gezahlt wurde - \hfill - \begin{tabular}{@{}rrr@{}} - - {\EbT}& {\numprint{<%subtotal NOFORMAT%>}} & ~\\ - - % Die unterschiedlichen Steueranteile getrennt ausweisen - <%foreach tax%> - {<%taxdescription%>} - & - {\numprint{<%tax NOFORMAT%>}}& ~\\ - <%end tax%> - - \midrule % Ein dünner Strich - \Sum & \numprint{\invtotal} & ~\\ - - <%foreach payment%> - \AlreadyPayed~ {<%paymentdate%>}:& -{\numprint{<%payment%>}} & ~\\ - <%end paymentdate%> - - \midrule[2pt] % Ein etwas dickerer Strich - {\Left~ \currency:} & \numprint{\total} - \end{tabular} - }% ende ithenelse - - } %Ende des Summenkasten -} - -\vfill % Den Rest-Text soweit wie möglich nach unten schieben -\ifthenelse{\isempty{<%notes%>}}{}{ - \mainfont -\noindent <%notes%> ~\\[2em] - }% -\small -\noindent \YourOrder -\ifthenelse{\Picklist = 0}{\noindent \ifthenelse{\equal{<%ustid%>}{\leer}}{}{\UstidTitle} \UstId}{} -\noindent \paymenthints % ist in translations.tex deffiniert -\ifthenelse{\PurchaseOrder = 0}{\noindent \paymentterms}{} - - -\end{letter} -\end{document}