198 lines
5.8 KiB
Plaintext
198 lines
5.8 KiB
Plaintext
9 years ago
|
<#@ template language="C#" #>
|
||
|
<#@ output extension=".tex" #>
|
||
|
<#@ assembly name="System.Core" #>
|
||
|
<#@ assembly name="$(SolutionDir)/web/bin/YavscModel.dll" #>
|
||
|
<#@ import namespace="System.Linq" #>
|
||
|
<#@ import namespace="System.Text" #>
|
||
|
<#@ import namespace="System.Collections.Generic" #>
|
||
|
<#@ import namespace="Yavsc.Model.WorkFlow" #>
|
||
|
<#@ import namespace="Yavsc.Model.RolesAndMembers" #>
|
||
|
|
||
|
<#@ parameter type="Estimate" name="estim" #>
|
||
|
<#@ parameter type="Profile" name="from" #>
|
||
|
<#@ parameter type="Profile" name="to" #>
|
||
|
<#@ parameter type="String" name="efrom" #>
|
||
|
<#@ parameter type="String" name="eto" #>
|
||
|
|
||
|
\documentclass[french,11pt]{article}
|
||
|
\usepackage{babel}
|
||
|
\usepackage[T1]{fontenc}
|
||
|
\usepackage[utf8]{inputenc}
|
||
|
\usepackage[a4paper]{geometry}
|
||
|
\usepackage{units}
|
||
|
\usepackage{bera}
|
||
|
\usepackage{graphicx}
|
||
|
\usepackage{fancyhdr}
|
||
|
\usepackage{fp}
|
||
|
|
||
|
\def\TVA{20} % Taux de la TVA
|
||
|
|
||
|
\def\TotalHT{0}
|
||
|
\def\TotalTVA{0}
|
||
|
|
||
|
\newcommand{\AjouterService}[3]{% Arguments : Désignation, quantité, prix
|
||
|
\FPround{\prix}{#3}{2}
|
||
|
\FPeval{\montant}{#2 * #3}
|
||
|
\FPround{\montant}{\montant}{2}
|
||
|
\FPadd{\TotalHT}{\TotalHT}{\montant}
|
||
|
|
||
|
\eaddto\ListeProduits{#1 & \prix & #2 & \montant \cr}
|
||
|
}
|
||
|
|
||
|
|
||
|
\newcommand{\AfficheResultat}{%
|
||
|
\ListeProduits
|
||
|
|
||
|
\FPeval{\TotalTVA}{\TotalHT * \TVA / 100}
|
||
|
\FPadd{\TotalTTC}{\TotalHT}{\TotalTVA}
|
||
|
\FPround{\TotalHT}{\TotalHT}{2}
|
||
|
\FPround{\TotalTVA}{\TotalTVA}{2}
|
||
|
\FPround{\TotalTTC}{\TotalTTC}{2}
|
||
|
\global\let\TotalHT\TotalHT
|
||
|
\global\let\TotalTVA\TotalTVA
|
||
|
\global\let\TotalTTC\TotalTTC
|
||
|
|
||
|
|
||
|
\cr
|
||
|
\hline
|
||
|
\textbf{Total} & & & \TotalHT
|
||
|
}
|
||
|
|
||
|
\newcommand*\eaddto[2]{% version développée de \addto
|
||
|
\edef\tmp{#2}%
|
||
|
\expandafter\addto
|
||
|
\expandafter#1%
|
||
|
\expandafter{\tmp}%
|
||
|
}
|
||
|
|
||
|
\newcommand{\ListeProduits}{}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
%%%%%%%%%%%%%%%%%%%%% A MODIFIER DANS LA FACTURE %%%%%%%%%%%%%%%%%%%%%
|
||
|
|
||
|
\def\FactureNum {<#= estim.Id.ToString() #>} % Numéro de facture
|
||
|
\def\FactureAcquittee {non} % Facture acquittée : oui/non
|
||
|
\def\FactureLieu {<#= from.CityAndState #>} % Lieu de l'édition de la facture
|
||
|
\def\FactureObjet {Facture : <#= estim.Title #>} % Objet du document
|
||
|
% Description de la facture
|
||
|
\def\FactureDescr {%
|
||
|
<#= estim.Description #>
|
||
|
}
|
||
|
|
||
|
% Infos Client
|
||
|
\def\ClientNom{<#= to.Name #>} % Nom du client
|
||
|
\def\ClientAdresse{% % Adresse du client
|
||
|
<# if (!string.IsNullOrWhiteSpace(to.Address)) { #>
|
||
|
<#= to.Address #>\\
|
||
|
<# } #> <# if (!string.IsNullOrWhiteSpace(to.ZipCode)) { #>
|
||
|
<#= to.ZipCode #> <# } #> <# if (!string.IsNullOrWhiteSpace(to.ZipCode)) { #>
|
||
|
<#= to.CityAndState #>\\ <# } #>
|
||
|
<# if (!string.IsNullOrWhiteSpace(to.Phone)) { #>
|
||
|
Téléphone fixe: <#= to.Phone #>\\
|
||
|
<# } #>
|
||
|
<# if (!string.IsNullOrWhiteSpace(to.Mobile)) { #>
|
||
|
Mobile: <#= to.Mobile #>\\
|
||
|
<# } #>
|
||
|
<# if (!string.IsNullOrWhiteSpace(eto)) { #>
|
||
|
E-mail: <#= eto #><# } #>
|
||
|
}
|
||
|
|
||
|
% Liste des produits facturés : Désignation, prix
|
||
|
|
||
|
<# foreach (Writting wr in estim.Lines) { #>
|
||
|
\AjouterService {<#=wr.Description#> <# if (!string.IsNullOrWhiteSpace(wr.ProductReference)) { #>
|
||
|
(<#=wr.ProductReference#>)<# } #>} {<#=wr.Count#>} {<#=wr.UnitaryCost#>}
|
||
|
<# } #>
|
||
|
|
||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
|
|
||
|
\geometry{verbose,tmargin=4em,bmargin=8em,lmargin=6em,rmargin=6em}
|
||
|
\setlength{\parindent}{0pt}
|
||
|
\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}
|
||
|
|
||
|
\thispagestyle{fancy}
|
||
|
\pagestyle{fancy}
|
||
|
\setlength{\parindent}{0pt}
|
||
|
|
||
|
\renewcommand{\headrulewidth}{0pt}
|
||
|
\cfoot{
|
||
|
<# if (!string.IsNullOrWhiteSpace(from.Name)) { #><#= from.Name #><# } #>
|
||
|
<# if (!string.IsNullOrWhiteSpace(from.Address)) { #> - <#= from.Address #><# } #>
|
||
|
<# if (!string.IsNullOrWhiteSpace(from.CityAndState)) { #> - <#= from.CityAndState #><# } #> \newline
|
||
|
\small{
|
||
|
<# if (!string.IsNullOrWhiteSpace(efrom)) { #>E-mail: <#= efrom #><# } #>
|
||
|
<# if (!string.IsNullOrWhiteSpace(from.Mobile)) { #> - Téléphone mobile: <#= from.Mobile #><# } #>
|
||
|
<# if (!string.IsNullOrWhiteSpace(from.Phone)) { #> - Téléphone fixe: <#= from.Phone #><# } #>
|
||
|
}
|
||
|
}
|
||
|
|
||
|
\begin{document}
|
||
|
|
||
|
% Logo de la société
|
||
|
%\includegraphics{logo.jpg}
|
||
|
|
||
|
% Nom et adresse de la société
|
||
|
<#= from.Name #>\\
|
||
|
<#= from.Address #>\\
|
||
|
<#=from.ZipCode #> <#=from.CityAndState#>\\
|
||
|
|
||
|
Facture n°\FactureNum
|
||
|
|
||
|
|
||
|
{\addtolength{\leftskip}{10.5cm} %in ERT
|
||
|
\textbf{\ClientNom} \\
|
||
|
\ClientAdresse \\
|
||
|
|
||
|
} %in ERT
|
||
|
|
||
|
|
||
|
\hspace*{10.5cm}
|
||
|
\FactureLieu, le \today
|
||
|
|
||
|
~\\~\\
|
||
|
|
||
|
\textbf{Objet : \FactureObjet \\}
|
||
|
|
||
|
\textnormal{\FactureDescr}
|
||
|
|
||
|
~\\
|
||
|
|
||
|
\begin{center}
|
||
|
\begin{tabular}{lrrr}
|
||
|
\textbf{Désignation ~~~~~~} & \textbf{Prix unitaire} & \textbf{Quantité} & \textbf{Montant (EUR)} \\
|
||
|
\hline
|
||
|
\AfficheResultat{}
|
||
|
\end{tabular}
|
||
|
\end{center}
|
||
|
|
||
|
\begin{flushright}
|
||
|
\textit{Auto entreprise en franchise de TVA}\\
|
||
|
|
||
|
\end{flushright}
|
||
|
~\\
|
||
|
|
||
|
\ifthenelse{\equal{\FactureAcquittee}{oui}}{
|
||
|
Facture acquittée.
|
||
|
}{
|
||
|
|
||
|
À régler par chèque ou par virement bancaire :
|
||
|
|
||
|
\begin{center}
|
||
|
\begin{tabular}{|c c c c|}
|
||
|
<# if (!string.IsNullOrWhiteSpace(from.BankCode) && !string.IsNullOrWhiteSpace(from.WicketCode)
|
||
|
&& !string.IsNullOrWhiteSpace(from.AccountNumber) ) { #>
|
||
|
\hline \textbf{Code banque} & \textbf{Code guichet} & \textbf{N° de Compte} & \textbf{Clé RIB} \\
|
||
|
<#= from.BankCode #> & <#= from.WicketCode #> & <#=from.AccountNumber #> & <#=from.BankedKey#> \\
|
||
|
<# }
|
||
|
if (!string.IsNullOrWhiteSpace(from.IBAN) && !string.IsNullOrWhiteSpace(from.BIC)) { #>
|
||
|
\hline \textbf{IBAN N°} & \multicolumn{3}{|l|}{ <#= from.IBAN #> } \\
|
||
|
\hline \textbf{Code BIC} & \multicolumn{3}{|l|}{ <#= from.BIC #> }
|
||
|
<# } #> \\
|
||
|
\hline
|
||
|
\end{tabular}
|
||
|
\end{center}
|
||
|
}
|
||
|
\end{document}
|