def creation_annexes(sommes, clients, edition, livraisons, acces, machines, reservations, prestations, comptes, dossier_annexe, plateforme, prefixe, coefprests, coefmachines, generaux, garde): """ création des annexes techniques :param sommes: sommes calculées :param clients: clients importés :param edition: paramètres d'édition :param livraisons: livraisons importées :param acces: accès importés :param machines: machines importées :param reservations: réservations importées :param prestations: prestations importées :param comptes: comptes importés :param dossier_annexe: nom du dossier dans lequel enregistrer les annexes :param plateforme: OS utilisé :param prefixe: prefixe de nom des annexes :param coefprests: coefficients prestations importés :param coefmachines: coefficients machines importés :param generaux: paramètres généraux :param garde: titre page de garde """ if sommes.calculees == 0: info = "Vous devez d'abord faire toutes les sommes avant de pouvoir créer les annexes" print(info) Outils.affiche_message(info) return for code_client in sommes.sommes_clients.keys(): contenu = Latex.entete(plateforme) contenu += r'''\usepackage[margin=10mm, includefoot]{geometry} \usepackage{multirow} \usepackage{longtable} \usepackage{dcolumn} \usepackage{changepage} \usepackage[scriptsize]{caption} \begin{document} \renewcommand{\arraystretch}{1.5} ''' contenu += r''' \vspace*{8cm} \begin{adjustwidth}{5cm}{} \Large\textsc{''' + garde + r'''}\newline\newline''' nom = Latex.echappe_caracteres(clients.donnees[code_client]['abrev_labo']) code_sap = clients.donnees[code_client]['code_sap'] contenu += code_client + " - " + code_sap + " - " + nom + r'''\newpage \end{adjustwidth}''' contenu += Annexes.contenu_client(sommes, clients, code_client, edition, livraisons, acces, machines, reservations, prestations, comptes, coefprests, coefmachines, generaux) contenu += r'''\end{document}''' nom = prefixe + str(edition.annee) + "_" + Outils.mois_string(edition.mois) + "_" + \ str(edition.version) + "_" + code_client Latex.creer_latex_pdf(nom, contenu, dossier_annexe)
def entete(edition): """ création de l'entête latex :param edition: paramètres d'édition :return: entête latex """ entete = Latex.entete() entete += r''' \usepackage[margin=12mm, includehead, includefoot]{geometry} \usepackage{multirow} \usepackage{graphicx} \usepackage{longtable} \usepackage{dcolumn} \usepackage{changepage} \usepackage[scriptsize]{caption} \captionsetup[table]{position=bottom} \usepackage{fancyhdr}\usepackage{float} \restylefloat{table} ''' if edition.filigrane != "": entete += r''' \usepackage{draftwatermark} \SetWatermarkLightness{0.8} \SetWatermarkAngle{45} \SetWatermarkScale{2} \SetWatermarkFontSize{2cm} \SetWatermarkText{''' + edition.filigrane[:15] + r'''} ''' entete += r''' \pagestyle{fancy} \fancyhead{} \fancyfoot{} \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{0pt} \renewcommand{\arraystretch}{1.5} \fancyhead[L]{\leftmark} \fancyhead[R]{\thepage \\ \rightmark} \newcommand{\fakesection}[2]{ \markboth{#1}{#2} } \begin{document} ''' return entete
def annexes(consolidation, plateforme, subgeneraux, subedition, dossier_annexe): """ création des annexes de subsides :param consolidation: classe de consolidation des données des bilans :param plateforme: OS utilisé :param subgeneraux: paramètres généraux :param subedition: paramètres d'édition :param dossier_annexe: nom du dossier dans lequel enregistrer le dossier des annexes """ for code_client, dcl in consolidation.clients.items(): code_client = Latex.echappe_caracteres(code_client) contenu = Latex.entete(plateforme) contenu += r''' \usepackage[margin=10mm, includehead]{geometry} \usepackage{changepage} \usepackage{graphicx} \usepackage{longtable} \usepackage{dcolumn} \usepackage[scriptsize]{caption} \usepackage{fancyhdr} ''' if subedition.filigrane != "": contenu += r''' \usepackage{draftwatermark} \SetWatermarkLightness{0.8} \SetWatermarkAngle{45} \SetWatermarkScale{2} \SetWatermarkFontSize{2cm} \SetWatermarkText{''' + subedition.filigrane[:15] + r'''} ''' contenu += r''' \pagestyle{fancy} \fancyhead{} \fancyfoot{} \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{0pt} \fancyhead[L]{\leftmark \\ \rightmark} \fancyhead[R]{\thepage} \newcommand{\fakesection}[2]{ \markboth{#1}{#2} } \begin{document} \renewcommand{\arraystretch}{1.5} ''' reference = "SUBS" + str(subedition.annee_fin_general)[2:] + \ Outils.mois_string(subedition.mois_fin_general) + "." + code_client contenu += r''' \begin{titlepage} \vspace*{8cm} \begin{adjustwidth}{5cm}{} \Large\textsc{Annexes subsides \newline Subsidies Appendices}\newline \Large\textsc{''' + reference + r'''}\newline\newline\newline ''' debut = Outils.mois_nom(subedition.mois_debut_general) + " " + str( subedition.annee_debut_general) fin = Outils.mois_nom(subedition.mois_fin_general) + " " + str( subedition.annee_fin_general) dic_entete = { 'code': code_client, 'code_sap': Latex.echappe_caracteres(dcl['sap']), 'nom': Latex.echappe_caracteres(dcl['abrev']), 'debut': debut, 'fin': fin } contenu += r'''Client %(code)s - %(code_sap)s - %(nom)s \newline %(debut)s - %(fin)s \end{adjustwidth} \end{titlepage} \clearpage ''' % dic_entete contenu += Annexes.contenu_client(code_client, consolidation, subgeneraux, subedition) contenu += r'''\end{document}''' nom = "subside_" + str(subedition.annee_fin_general) + "_" + \ Outils.mois_string(subedition.mois_fin_general) + "_" + code_client Latex.creer_latex_pdf(nom, contenu, dossier_annexe)
def creation_annexes(sommes, clients, edition, livraisons, acces, machines, reservations, prestations, comptes, dossier_annexe, plateforme, prefixe, coefprests, coefmachines, generaux, garde): """ création des annexes techniques :param sommes: sommes calculées :param clients: clients importés :param edition: paramètres d'édition :param livraisons: livraisons importées :param acces: accès importés :param machines: machines importées :param reservations: réservations importées :param prestations: prestations importées :param comptes: comptes importés :param dossier_annexe: nom du dossier dans lequel enregistrer les annexes :param plateforme: OS utilisé :param prefixe: prefixe de nom des annexes :param coefprests: coefficients prestations importés :param coefmachines: coefficients machines importés :param generaux: paramètres généraux :param garde: titre page de garde """ if sommes.calculees == 0: info = "Vous devez d'abord faire toutes les sommes avant de pouvoir créer les annexes" print(info) Outils.affiche_message(info) return for code_client in sommes.sommes_clients.keys(): contenu = Latex.entete(plateforme) contenu += r'''\usepackage[margin=10mm, includefoot]{geometry} \usepackage{multirow} \usepackage{longtable} \usepackage{dcolumn} \usepackage{changepage} \usepackage[scriptsize]{caption} \begin{document} \renewcommand{\arraystretch}{1.5} ''' contenu += r''' \vspace*{8cm} \begin{adjustwidth}{5cm}{} \Large\textsc{''' + garde + r'''}\newline\newline''' nom = Latex.echappe_caracteres( clients.donnees[code_client]['abrev_labo']) code_sap = clients.donnees[code_client]['code_sap'] contenu += code_client + " - " + code_sap + " - " + nom + r'''\newpage \end{adjustwidth}''' contenu += Annexes.contenu_client(sommes, clients, code_client, edition, livraisons, acces, machines, reservations, prestations, comptes, coefprests, coefmachines, generaux) contenu += r'''\end{document}''' nom = prefixe + str(edition.annee) + "_" + Outils.mois_string(edition.mois) + "_" + \ str(edition.version) + "_" + code_client Latex.creer_latex_pdf(nom, contenu, dossier_annexe)