Impression et affichage des adresses : personnalisation
Styles disponibles pour les adresses
La liste des styles disponibles pour les adresses est construite par code diva dans la fonction « Creer_ListeStylesAdresse » du A5TM000.dhop : il s'agit de remplir une structure « a5pm000.StructStyleChamp » qui donne les propriétés du style, et de mettre chaque style dans la liste reçues en paramètre.
Exemple : un Tahoma taille 16 noir gras
nomStyle=“TAH16GRA”, nomPolice=“TAHOMA”, rtfPolice=“\f4”, nomTaille=“16” , rtfTaille=“\fs32”
nomCouleur=“NOIR”, rtfCouleur=“\cf0”, tailleInterlig=360, estGras=true, estItalique=false
Attention les valeurs des champs « rtfXXXX » seront directement écrites dans le fichier RTF. Il s’agit donc ici de véritables balises rtf.
Dans ce cadre les polices (exemple : \f4) et couleurs (exemple : \cf0) font référence à la table des polices et couleurs données à l’initialisation du RTF. Ces tables sont créés dans la fonction « Creer_ListeAttributsRtf_Defaut ».
L’ajout d’une police ou d’une couleur passe donc nécessairement par l’existance dans la table selon un ordre précis qui sera ensuite indiqué dans le style
Exemple :
Pour une table selon cette définition (les indices commençant par 0=)
“{\colortbl ” & “\red0\green0\blue0;” “\red128\green128\blue128;” “}”
→ \cf1 fait donc référence à la Couleur numéro 1 de la table donc 128/128/128 = gris foncé
L’attribut rtf TAILLE est mesuré en demi-points, donc une taille 16 s’indique \fs32
La taille de l’interligne est mesurée en twips. La valeur 240 correspond à 1 interligne (autres valeurs possibles par exemple : 240, 360, 480, 720(=3i) )
C’est le ‘nomStyle’ qui servira ensuite pour son utilisation (exemple : TAH_STD)
Impression et affichage des adresses : modification du rendu par défaut via la chaîne HMP
Les fonctions « Charger_RtfAdresse_Affichage » et « Charger_RtfAdresse_Impression » du A5PM000.dhop sont en charge de remplir les données RTF des champs d'adresse. Chacun utilise par défaut le style standard correspondant.
Il est possible de modifier le rendu par défaut via la chaîne HMP transmise à cette fonction.
Balise HMP | Contenu possible | Commentaire |
---|---|---|
(vide) | (aucun) | Les champs seront placés selon un ordre et des styles prévus en standard |
PRESENTATION | Nom d’une présentation | Le nom de la présentation sera substitué par les balises (voir chapitre dédiée |
STYLE | Nom d’un style. Sera utilisé par défaut pour tous les champs en remplacement du style standard | Nom d’une style ‘nomStyle’ mis dans la fonction « Creer_ListeStylesAdresse » |
MANU | (aucun) | Active le mode MANUEL, qui signifie que l’on ne traite plus du tout le standard et que tous les champs sont décrits dans la chaîne HMP |
NOM | 3 valeurs possibles (séparées par ‘;’): Combinaisons possibles : | Ces valeurs permettent d’indiquer le positionnement lors du rendu, et le style de chaque champ. Exemple : <CPOSTAL>COU20STD va changer la police du code postal en style COU20STD <ADRCPL1># va ignorer ce champ dans le RTF |
ADRCPL1 | ||
ADRCPL2 | ||
RUE | ||
LOC | ||
CPOSTAL | ||
VIL | ||
ZIPCOD | ||
PAY | ||
LIBPAYS | ||
REGIONCOD | ||
LIBREGION |
Exemples : Charger_RtfAdresse_Affichage('CLI_ADR', L_A5adr, HMP)
HMP = ‘ ‘;→ style standard
HMP = “<STYLE>TIM10ITA” ;→ utilisation pour tous les champs du style nommé «TIM10ITA » (qui pourrait être un times 10 italique)
HMP = “<VIL>COU20STD<CPOSTAL>TAH16GRA” ;→on change le style seulement de VIL et CPOSTAL
HMP = “<MANU><VIL>1;1;TAH16GRA<CPOSTAL>1;2;TAH16GRA” ;→ mode MANUEL : les champs VIL et CPOSTAL sur la même ligne en tahoma 16 gras, aucun autre champ n’est affiché
HMP = “<VIL>1;1<CPOSTAL>1;2” ;→on change la position de VIL et CPOSTAL pour les mettre au début
HMP = “<RUE>#” ;→on veut ignorer RUE dans le rendu RTF
Impression et affichage des adresses : présentations
Une présentation est une manière simplifiée pour les programmes appelants de gérer une combinaison de propriétés.La liste des présentations disponibles est visible dans A5TM000.dhsp / Substituer_Presentation_RtfAdresse.
Un code de présentation va donc être substitué par les balises HMP.
Exemple :
La présentation « ENVELOPPE » peut être substituée par <STYLE>VER_STD<NOM>VER_STD_GRAS qui aura pour effet de donner le style par défaut VER_STD à tous les champs sauf le nom pour lequel on veut forcer VER_STD_GRAS
Ajout d'un champ adresse
Des ouvertures (chez l’appelant) sont exécutées pour permettre de traiter, dans le rendu RTF, un champ qui n’est pas prévu dans les champs standard d’adresse.
Il y a trois ouvertures :
Ajouter_ChampsAdresse_HMP: cette ouverture reçoit la chaine HMP en entrée et DOIT LA RENVOYER par freturn
Function char Ajouter_ChampsAdresse (colonnesHMP)
1 colonnesHMP A
BeginF
;la chaine HMP peut être complétée
;(ex : en première position pour changer le style
FReturn(colonnesHMP)
EndF
Completer_ChampsAdresse: cette ouverture reçoit une instance de l’enregistrement A5ADR de A5DD.dhsd et DOIT LA RENVOYER par freturn
Function char Completer_ChampsAdresse (A5ADR_param)
Record A5DD.dhsd A5ADR_param
BeginF
;l’enregistrement peut être completé
;(ex : A5ADR_param.CHAMP = valeur)
FReturn(A5ADR_param)
EndF
Ajouter_ChampsAdresse: cette ouverture reçoit la valeur d’un champ inconnu du standard et DOIT RENVOYER SA VALEUR par freturn
Function char Ajouter_ChampsAdresse (nomChamp)
1 nomChamp A
BeginF
If nomChamp = “MONCHAMP”
FReturn(savaleur)
EndIf
FREturn (’’)
EndF
Exemple : afficher le numéro de téléphone dans le RTF adresse
Ajouter_ChampsAdresse_HMP permet d’ajouter le champ à traiter en ajoutant à la chaine HMP, puis Ajouter_ChampsAdresse permet de retourner la valeur du téléphone
Exemple : modifier le style d’une impression
Ajouter_ChampsAdresse_HMP permet d’ajouter le style en ajoutant à la chaine HMP