Retour au sommaire

SourceServer
ForumServer

DesignServer

Accueil CanalOpenSource


Liens :

www.pmarty.com
www.4D.fr
www.fyi.4D.fr
www.ajar.ch
www.4DToday.com

 

Contact_SaisieSurChargement

Cette méthode est décrite bloc d'instructions par bloc d'instructions.
Les commentaires sont au dessus de la ou des lignes expliquées.

 

Les enregistrements de la table [Index] liés à la table [Contact] sont chargés.
Par défaut, ces index contiennent le nom de donnée, l'id de synchro, la langue de l'enregistrement, le propriétaire et les autorisations d'accès publique.

rcd_GetIndex (rcd_CurrentDataTable)

Les index sont conservés en tableaux

rcd_IndexToPrp (OnLoad ;"IndexPrp")

test pour savoir si l'enregistrement du contact vient d'être créé.

Si (rcd_IsVirgen (rcd_CurrentDataTable))
  `traitement lors de l'ajout d'un nouveau contact
Fin de si

Les rendez-vous du contact sont chargés

nbFound:=rcd_GetLink (->[Contact];->[RDV])

création d'une variable tableau texte avec la méthode o
la méthode o retourne un pointeur sur cette variable temporaire : $ptr

$ptr:=o ("[RDV]Objet";Est un tableau texte )

Sur la base de la sélection de rendez-vous, le champ [RDV]Objet passe en tableau

SELECTION VERS TABLEAU([RDV]Objet;$ptr->)

Répétition de la séquence ci-dessus pour les champ [RDV]Date et [RDV]Heure
$ptr:=o ("[RDV]Date";Est un tableau date )
SELECTION VERS TABLEAU([RDV]Date;$ptr->)
$ptr:=o ("[RDV]Heure";Est un tableau entierlong )
SELECTION VERS TABLEAU([RDV]Heure;$ptr->)

Pour lier retrouver les enregistrements à partir des tableaux, le dernier tableau est construit avec les numéros d'enregistrement 4D

$ptr:=o ("RDVNumeroEnregistrement";Est un tableau entierlong )
SELECTION VERS TABLEAU([RDV];$ptr->)


Les enregistrements sont libérés.

REDUIRE SELECTION([RDV];0)

La zone AreaList Pro est construite à partir de tableaux

alp_SetArray

La variable 4D pour la zone externe est désignée par un pointeur, la méthode sur perte focus lors de la saisie est passée en paramètre sous forme d'une chaine

alp_SetDefault (->alp_vlRDV;"";"Contact_SurPerteFocusRDV"))

Quatre colonnes sont créées pour recevoir l'objet du rendez-vous, la date, l'heure et le numéro d'enregistrement qui correspond à chaque ligne.

alp_SetColumn (o ("[RDV]Objet");"Objet";0)
alp_SetColumn (o ("[RDV]Date");"Date";1)
alp_SetColumn (o ("[RDV]Heure");"Heure";1)
alp_SetColumn (o ("RDVNumeroEnregistrement");"NumeroEnregistrement";0)

La dernière colonne qui contient les numéros d'enregistrements est masquée

alp_SetHideColumn

L'ordre de tri est en ordre croissant sur la colonne des objets des rendez-vous

alp_SetSort (1)

Le style "une ligne grise, une ligne blanche" est appliqué

alp_SetLook (1)

Aucune méthode modifiant l'apparence de la zone n'est appelée

alp_SetApparence ("")

A part l'inverse vidéo de la ligne, il ne se passe rien lors du clic sur la ligne

alp_SetOnClic ("")

La méthode Contact_SurDoubleClicRDV est executé lors du double clic

alp_SetOnDBClic ("Contact_SurDoubleClicRDV"))

La zone alp_vlRDV devient la zone courante et tous ses paramètres sont enregistrés lors de ce premier appel.

alp_SetCurrentArea (->alp_vlRDV)

La zone ne peut être saisissable à l'ouverture

alp_SetEntry (Faux)



La même séquence de code est répété pour la liste des documents.

rcd_GetLink (->[Contact];->[Data])
$ptr:=o ("[Doc]Sujet";Est un tableau texte )
SELECTION VERS TABLEAU([Data]DisplayList1;$ptr->)
$ptr:=o ("[Doc]NumeroEnregistrement";Est un tableau entierlong )
SELECTION VERS TABLEAU([RDV];$ptr->)
REDUIRE SELECTION([RDV];0)

alp_SetArray
alp_SetDefault (->alp_vlDoc;"";"Contact_SurPerteFocusDocument"))
alp_SetColumn (o ("[Doc]Sujet");"Objet";0)
alp_SetColumn (o ("[Doc]NumeroEnregistrement");"NumeroEnregistrement";0)
alp_SetHideColumn
alp_SetSort (1)
alp_SetLook (1)
alp_SetApparence ("")
alp_SetOnClic ("")
alp_SetOnDBClic ("Contact_SurDoubleClicDocument"))
alp_SetCurrentArea (->alp_vlDoc)
alp_SetEntry (Faux)

 



Retour | Haut de page