Standards

Certaines tâches fournissent des templates standards qui sont directement disponibles à travers le paramétrage. Ceux-ci peuvent donc être également personnalisés selon les modules (voir règles de fusion).

Afin d’utiliser un template du paramétrage, celui-ci doit être déclaré dans la classe TemplatesManager. Tous les templates déclarés à ce niveau peuvent être personnalisés par site en utilisant le même identifiant dans la tâche UNI94.

Templates standards

Ci-dessous, la liste des templates directement inclus dans SAINet:

Tâche Identifiant (UNI94) Format Description
SAL47 SAL47_CERTIFICAT html Certificat de salaire standard (certifié Swissdec).
SALDC SALDC_DECLARESALARY xml Template interne pour l’envoi des déclarations électroniques (Swissdec).
SALDC SALDC_DECLARESALARYMONTHLY xml Template interne pour l’envoi des déclarations électroniques (Swissdec).
SALDC SALDC_SYNCHROCONTRACT xml Template interne pour l’envoi des déclarations électroniques (Swissdec).
STO3E STO3E_INVOICE html Modèle de facture standard (également utilisé par DEB54).
DEB65 DEB65_RAPPEL html Modèle de rappel standard.
PPE74 PPE74_DECOMPTE html Modèle de décompte PPE standard.

Fragmentation des templates

Certains templates (notamment les factures) sont séparés en différentes parties qui sont externalisées dans différents fichiers, grâce à la macro #parse. Il est possible de personnaliser uniquement certaines parties d’un template et de garder l’utilisation du standard pour d’autres. Cela est dépendant de la constitution de chaque template.

Les sous-chapitres ci-dessous décrivent différents templates et les différents identifiants ainsi que les tâches dans lesquelles ils peuvent être utilisés.

Note:

il est recommandé de toujours utiliser la tâche UNI18 lorsque c’est possible pour personnaliser le contenu désiré.

Modèle de facture (STO3E_INVOICE)

Les différentes parties suivantes peuvent être redéfinies:

ID Tâche Description Paramétrage
STO3E_INVOICE UNI94 Point d’entrée du modèle de facture. Ce template ne fait principalement qu’assembler toutes les parties. /server/templates/sto3e/invoice.html
INVOICE.CSS UNI94,UNI18 CSS globale du modèle de facture. /server/templates/sto3e/invoice.css
INVOICE_HEADER_COMPANY.HTML UNI94,UNI18 En-tête de la société. Cette partie est reprise sur toutes les pages de la facture (utilisé également dans les rappels). /server/templates/sto3e/invoice_header_company.html
INVOICE_HEADER.HTML UNI94,UNI18 En-tête principale (première page de la facture). /server/templates/sto3e/invoice_header.html
INVOICE_HEADER_LIGHT.HTML UNI94,UNI18 En-tête légère (dès la 2ème page de la facture). /server/templates/sto3e/invoice_header_light.html
INVOICE_CONTENT.HTML UNI94,UNI18 Contenu (lignes de facture, gestion des sauts de pages, etc). /server/templates/sto3e/invoice_content.html
INVOICE_FOOTER.HTML UNI94,UNI18 Pied de page (uniquement sur la dernière page). /server/templates/sto3e/invoice_footer.html

Par exemple, il est possible de simplement déclarer INVOICE_HEADER_COMPANY.HTML dans UNI18 avec le contenu HTML souhaité pour que celui-ci soit repris dans la facture standard en lieu et place du contenu de la configuration. Ce mécanisme fonctionne à l’identique pour chacune des parties ci-dessus.

Par défaut, il est possible de spécifier différents modèles de factures (voir dans DEB02). Chacun de ceux-ci utilisent les identifiants suivants (n est un chiffre de 1 à 5):

ID Tâche Description Paramétrage
INVOICEn.CSS UNI94,UNI18 CSS du modèle n. Par défaut, redirige sur INVOICE.CSS. /server/templates/sto3e/invoicencss
INVOICEn_CONTENT.HTML UNI94,UNI18 Contenu du modèle n. Par défaut, redirige sur INVOICE_CONTENT.HTML. /server/templates/sto3e/invoicen_content.html

Afin d’éviter de devoir reprendre entièrement une partie du template de facture afin de modifier le contenu, certaines variables de calcul et de rendu peuvent êtres modifiées par deux macros à déclarer dans UNI93.

Initialisation des calculs

sto3e_vars() permet de modifier les variables globales utilisées dans tous les calculs et le rendu.

Pour définir la taille des lignes et leurs impact en terme de saut de page, certaines variables ont été mises en place. Elles permettent de définir la taille verticale disponible et la place qu’occupent les lignes. A noter que la notion de “ligne” a été rammenée à un calcul unitaire qui est ensuite comparé avec la place que prennent les lignes de facture qui elle est basé sur une approximation faite par le template suivant le contenu, le type, et la place en largeur disponible.

Variable Type Valeur par défaut Description
invoiceAvailableLinesOnFirstPage int 44 Nombre de lignes disponibles sur la page avec l’entête.
invoiceAvailableLinesOnEmptyPage int 58 Nombre de lignes disponibles sur une page blanche entière.
invoiceAvailableLinesOnLastPageWithBVR int 33 Nombre de lignes disponibles sur une page avec BVR.
mainLabelFontSize int 12 Taille en pt des libel1 des lignes.
subLabelFontSize int 10 Taille en pt des libel2 des lignes.
longLabelFontSize int 10 Taille en pt des libel4 des lignes.
Attention:

Si les tailles des composantes sont changées il faudra nécessairement faire des essais pour calculer le nombre de lignes disponibles en hauteur.

Certains modèles de facture nécessitent de cacher de l’information visuellement lorsque par exemple on veut emettre des ruptures particulières ou simplement noter de l’information en interne. Pour ce faire, trois variables sont disponible qui permettent de décider si les sous-libellés des lignes de factures sont affichés ou non sur le document final. Ces variables impacteront le calcul interne sur la place occupée par les lignes de facture

Variable Type Valeur par défaut Description
displaySubLabel boolean true Affiche le libellé secondaire des lignes (STOSMO.LIBEL2)
displayLongLabel boolean true Affiche le libellé long des lignes (STOSMO.LIBEL4)

Exemple de macro dans UNI93:

#macro(sto3e_vars)
  #set($displayLongLabel = false)
#end

Initialisation du rendu

sto3e_init() permet de modifier les variables après calculs interne pour influer uniquement sur le rendu ou alors pour écraser en dur des résultats de calculs précédents.

Variable Type Valeur par défaut Description
mainColor string #F6872B Couleur principale du template, utilisée notamment dans le titre.
mainTitle string $handler.getTitleType() Titre (Facture, Note de crédit). Peut-être défini par STO08.
footerText string $VELOHLP.toValueData("FR={Avec nos meilleures salutations.} DE={Mit unseren freundlichen Grüßen.}") Texte de salutation en base de page.
saiLogo string SAI_Logo.jpg ID du logo qui sera inclus depuis UNI18.
invoiceHeaderShowEmissionDate boolean true Affichage de la date d’émission dans l’en-tête de la facture.
invoiceHeaderShowDueDate boolean true Affichage de la date d’échéance dans l’en-tête de la facture.
invoiceHeaderShowConditions boolean true Affichage des conditions de paiement dans l’en-tête de la facture.
invoiceHeaderShowLabel boolean true Affichage du libellé dans l’en-tête de la facture.
invoiceAddressTop string 5cm Positionnement vertical (marge du haut) de l’adresse du débiteur.
invoiceAddressRight string 1.7cm Positionnement horizontal (marge de droite) de l’adresse du débiteur.
invoiceLabelPage string $VELOHLP.toValueData("FR={page} DE={Seite}") Libellé pour “Page”.
invoiceLabelEmis string $VELOHLP.toValueData("FR={Émise le} DE={Ausgabedatum}") Libellé pour “Émise le”.
invoiceLabelEcheance string $VELOHLP.toValueData("FR={Échéance le} DE={Fälligkeit}") Libellé pour “Échance”.
invoiceLabelReference string $VELOHLP.toValueData("FR={Référence} DE={Referenz}") Libellé pour “Référence”.
invoiceLabelTVAAdherent string $VELOHLP.toValueData("FR={No TVA} DE={MWSt-Nr.}") Libellé pour “No TVA”.
invoiceTableLabelTitle string $VELOHLP.toValueData("FR={Intitulé} DE={Bezeichnung}") En-tête de colonne pour le libellé de la ligne.
invoiceTableLabelQuantity string $VELOHLP.toValueData("FR={Qté} DE={Mge}") En-tête de colonne pour la quantité de la ligne.
invoiceTableLabelPrice string $VELOHLP.toValueData("FR={Prix} DE={Preis}") En-tête de colonne pour le prix unitaire de la ligne.
invoiceTableLabelRabais string % En-tête de colonne pour le rabais de la ligne.
invoiceTableLabelTVA string $VELOHLP.toValueData("FR={TVA} DE={MWSt}") En-tête de colonne pour le taux TVA.
invoiceTableLabelAmount string $VELOHLP.toValueData("FR={Montant} DE={Total}") En-tête de colonne pour le total de la ligne.
invoiceTableLabelRecap string $VELOHLP.toValueData("FR={Récapitulatif} DE={Zusammenfassung}") Libellé pour le récapitulatif.
invoiceTitleFacture string $VELOHLP.toValueData("FR={Facture} DE={Faktura}") Titre par défaut pour “Facture”. Uniquement si $mainTitle n’est pas défini.
invoiceTitleNC string $VELOHLP.toValueData("FR={Note de crédit} DE={Gutschrift}") Titre par défaut pour "Note de crédit. Uniquement si $mainTitle n’est pas défini.
invoiceTotalHT string $VELOHLP.toValueData("FR={Total HT} DE={Insgesamt ohne Steuer}") Libellé pour le total hors taxe.
invoiceTotalTTC string $VELOHLP.toValueData("FR={Total TTC} DE={Gesamtpreis}") Libellé pour le total TTC.
invoiceTotalTVAIncludedLabel string $VELOHLP.toValueData("FR={TVA incluse} DE={MWSt inklusive}") Libellé pour “TVA incluse”.
invoiceTotalTVAExcludedLabel string $VELOHLP.toValueData("FR={TVA} DE={MWSt}") Libellé pour le total TVA.
invoiceTotalTVAOn string $VELOHLP.toValueData("FR={sur} DE={auf}") Libellé pour “sur” (dans le contexte de la TVA).
invoiceDisplayPriceForcedValue string Permet de forcer l’affichage/masquage de la colonne “Prix unitaire”. Valeurs possibles: vide, always, never.
invoiceDisplayQuantityForcedValue string Permet de forcer l’affichage/masquage de la colonne “Quantité”. Valeurs possibles: vide, always, never.
invoiceDisplayRabaisForcedValue string Permet de forcer l’affichage/masquage de la colonne “Rabais”. Valeurs possibles: vide, always, never.
invoiceDisplayTVAForcedValue string Permet de forcer l’affichage/masquage de la colonne “TVA”. Valeurs possibles: vide, always, never.
invoiceCounterColumnWidth int 15 Largeur de colonne pour le no de ligne.
invoiceLabelColumnWidth int 421 Largeur de colonne pour l’intitulé de la ligne.
invoiceQuantityColumnWidth int 50 Largeur de colonne pour la quantité.
invoicePriceColumnWidth int 65 Largeur de colonne pour le prix unitaire.
invoiceRabaisColumnWidth int 30 Largeur de colonne pour le rabais.
invoiceTVAColumnWidth int 35 Largeur de colonne pour le taux TVA.
invoiceAmountColumnWidth int 65 Largeur de colonne pour le total de la ligne.

Exemple de macro dans UNI93:

#macro(sto3e_init)
  #set($mainColor = "#000000")
  #set($invoiceHeaderShowEmissionDate = false)
#end

Modèle de rappel (DEB65_RAPPEL)

Les différentes parties suivantes peuvent être redéfinies:

ID Tâche Description Paramétrage
DEB65_RAPPEL UNI94 Point d’entrée du modèle de rappel. Ce template ne fait principalement qu’assembler toutes les parties. /server/templates/deb65/rappel.html
RAPPEL.CSS UNI94,UNI18 CSS globale du modèle de rappel. /server/templates/deb65/rappel.css
RAPPEL_HEADER.HTML UNI94,UNI18 En-tête principale (première page du rappel). /server/templates/deb65/rappel_header.html
RAPPEL_HEADER_LIGHT.HTML UNI94,UNI18 En-tête légère (dès la 2ème page du rappel). /server/templates/deb65/rappel_header_light.html
RAPPEL_CONTENT.HTML UNI94,UNI18 Contenu (lignes de rappel, gestion des sauts de pages, etc). /server/templates/deb65/rappel_content.html
RAPPEL_FOOTER.HTML UNI94,UNI18 Pied de page (uniquement sur la dernière page). /server/templates/deb65/rappel_footer.html
Note:

Le template de rappel utilise INVOICE_HEADER_COMPANY.HTML pour l’en-tête de la société.

Comme pour le modèle de facture, il est possible de modifier certaines variables en créant une macro deb65_init dans UNI93:

Variable Type Valeur par défaut Description
mainColor string #F6872B Couleur principale du template, utilisée dans le titre.
mainTitle string “Rappel $corapp” Titre du rappel. La variable $corapp représente le no de rappel.
mainSubtitle string “# Relevé $norele” Sous-titre du rappel. La variable $norele représente le relevé duquel fait partie le rappel (il peut y avoir plusieurs rappels sur le même relevé).
saiLogo string SAI_Logo.jpg ID du logo qui sera inclus depuis UNI18.
rappelLabelPage string page Libellé pour “page”.
rappelLabelLibelle string Libellé En-tête de colonne pour le libellé des factures.
rappelLabelDate string Date En-tête de colonne pour la date des factures.
rappelLabelMontant string Montant En-tête de colonne pour le montant des factures.
rappelLabelSolde string Solde En-tête de colonne pour le solde des factures.
rappelLabelTotal string Total Libellé du montant total des factures.
rappelLabelAPayer string A payer Libellé du montant à payer.
rappelLabelRecap string Récapitulatif Libellé pour le récapitulatif.
rappelText1 string Occupés à la vérification… Texte de rappel pour le rappel 1.
rappelText2 string Nous constatons qu’en date du $HEADER.DATE_JOURNAL,… Texte de rappel pour le rappel 2.
rappelText3 string Nous constatons qu’en date du $HEADER.DATE_JOURNAL,… Texte de rappel pour le rappel 3 et suivants.
rappelNul string Si ces factures ont été réglées dans l’intervalle,… Texte d’information pour le paiement croisé.
rappelCounterColumnWidth int 15 Taille de la colonne pour le no de ligne.
rappelLabelColumnWidth int 345 Taille de la colonne pour le libellé.
rappelDateColumnWidth int 100 Taille de la colonne pour la date.
rappelAmountColumnWidth int 65 Taille de la colonne pour le montant.
rappelSoldeColumnWidth int 65 Taille de la colonne pour le solde.

Exemple de macro dans UNI93:

#macro(deb65_init)
  #set($mainColor = "#000000")
  #set($rappelLabelPage = "No")
  #set($rappelNul = "")
#end

Modèle de décompte (PPE74_DECOMPTE)

Ce modèle de décompte PPE permet de modifier les variables suivantes en créant une macro ppe74_init:

Variable Type Valeur par défaut Description
titleDecompte string Décompte de copropriété $handler.getCurrentExercise() Titre pour les décomptes aux copropriétaires.
titleAttestation string Attestation fiscale $handler.getCurrentExercise() Titre pour les attestations fiscales.
titleVotreImmeuble string Votre immeuble Libellé “Votre immeuble”.
labelJoursPresence string Jours de présence Libellé “Jours de présence”
labelVotreNoRef string Votre numéro de référence Libellé “Votre numéro de référence”
textDecomptePersoText string Voici votre décompte personnel… Texte de bas de page (décomptes aux copropriétaires).
textDecomptePersoSalu string Veuillez agréer… Texte de bas de page pour les salutations (décomptes aux copropriétaires).
textAttestationPersoHeader string Madame, Monsieur, Texte de bas de page pour les salutations initiales (attestations fiscales).
textAttestationPersoText string Veuillez trouver… Texte de bas de page (attestations fiscales).
textAttestationPersoSalu string Avec nos salutations respectueuses. Texte de bas de page pour les salutations (attestations fiscales).
textAttestationPS string PS. Cette pièce… Texte de bas de page pour le PS (attestations fiscales).
minDataHeight int 300 Hauteur minimal du contenu des lignes de décompte. Permet de gérer la position verticale des données en bas de page.

Exemple de macro dans UNI93:

#macro(ppe74_init)
  #set($titleDecompte = "Gestion des communs")
  #set($textAttestationPersoHeader = "Cher Copropriétaire,")
#end