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

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 ‘;’):
POS_LIGNE ;POS_COL ;NOM_STYLE
POS_LIGNE → numéro de ligne
POS_COL → numéro de colonne
NOM_STYLE → nom d’un style ou masqué

Combinaisons possibles :
POS_LIGNE seul
POS_LIGNE ;POS_COLONNE
NOM_STYLE seul
POS_LIGNE ;POS_COLONNE_NOM_STYLE
!si le contenu est le caractère # cela signifie que le champ est supprimé du rendu

Ces valeurs permettent d’indiquer le positionnement lors du rendu, et le style de chaque champ.

Exemple :
<VIL>10 ;1 ;TAH16GRA va positionner le champ ville en ligne 10 colonne 1 en style TAH16GRA

<CPOSTAL>COU20STD va changer la police du code postal en style COU20STD

<ADRCPL1># va ignorer ce champ dans le RTF
Les valeurs non indiquées sont reprises des valeurs standard, sauf en mode MANU où toutes les données doivent être transmises

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