|
|
|
|
|
- Conseil
- Historique des modifications
HHistoriqueModification (Fonction) En anglais : HHistoryModification
Disponible uniquement avec ces types de connexion
Renvoie les modifications apportées à une ou plusieurs rubriques d'un enregistrement donné. Le résultat peut être par exemple affiché dans un champ Liste ou un champ Table afin de permettre à l'utilisateur de visualiser les modifications effectuées sur le fichier de données spécifié. Remarques : - Cette fonction utilise le journal des écritures ainsi que l'ensemble des journaux archivés.
- Dans une fenêtre liée à un fichier de données, il est possible d'afficher automatiquement l'historique des modifications réalisées sur chaque rubrique de l'enregistrement affiché. Il suffit que le fichier de données soit journalé.
sHistorique est une chaîne
sHistorique = HHistoriqueModification(Client, IDClient, Client.IDClient, "Email", 5)
sModification, sRubrique, sEtat, sUtilisateur sont des chaînes
sModification = ExtraitChaîne(sHistorique, rangPremier, RC)
TANTQUE sModification <> EOT
sRubrique = ExtraitChaîne(sModification, 1, TAB)
sEtat = ExtraitChaîne(sModification, 2, TAB)
sUtilisateur = ExtraitChaîne(sModification, 5, TAB)
SELON sEtat
CAS "D"
ListeAjoute(LISTE_ListeModification, ...
ChaîneConstruit("L'utilisateur %1 a modifié " + ...
"la rubrique Email pour lui donner la valeur %2", ...
sUtilisateur, sRubrique))
CAS "N"
ListeAjoute(LISTE_ListeModification,...
ChaîneConstruit("L'utilisateur %1 a modifié " + ...
"la rubrique Email pour la rendre NULL", sUtilisateur))
FIN
sModification = ExtraitChaîne(sHistorique, rangSuivant, RC)
FIN
Syntaxe
Modifications d'un enregistrement identifié par la valeur d'une clé de parcours Masquer les détails
<Résultat> = HHistoriqueModification(<Fichier de données> , <Rubrique de recherche> , <Valeur recherchée> , <Liste des rubriques> [, <Nombre de modifications> [, <Séparateur de valeurs> [, <Séparateur des modifications>]]])
<Résultat> : Chaîne de caractères Ce résultat est de la forme :
<Valeurs> + <Séparateur de valeurs> + <Informations sur les modifications> + <Séparateur des modifications> Où :
- <Valeurs> est de la forme :
<Valeur de la rubrique 1> + <Séparateur de valeurs> + <Etat de la rubrique 1> + <Séparateur de valeurs> + ... + <Séparateur de valeurs> + <Valeur de la rubrique N> + <Séparateur de valeurs> + <Etat de la rubrique N> - <Etat de la rubrique> correspond à :
- "D" : la rubrique est définie.
- "N" : la rubrique est NULL.
- "I" : la rubrique n'existe pas dans le journal archivé.
- <Informations sur les modifications> est de la forme :
<Date et heure de modification> + <Séparateur de valeurs> + <Identifiant du poste (valeur de HPoste)> + <Séparateur de valeurs> + <Login> + <Séparateur de valeurs> + <Nom machine> + <Séparateur de valeurs> + <Adresse IP> + <Séparateur de valeurs> + <Nom de l'application> + <Séparateur de valeurs> + <HInfoMsg> + <Séparateur de valeurs> + <Numéro de fonction>
<Fichier de données> : Chaîne de caractères Nom du fichier de données journalé sur lequel les dernières modifications doivent être recherchées. <Rubrique de recherche> : Chaîne de caractères Nom de la rubrique permettant de sélectionner l'enregistrement pour lequel les dernières modifications sont recherchées. L'enregistrement sélectionné correspond à celui pour lequel la valeur correspond à <Valeur recherchée>. Pour optimiser les performances, il est conseillé d'utiliser une clé de parcours. Pour effectuer une recherche sur un numéro d'enregistrement, utilisez la seconde syntaxe. <Valeur recherchée> : Type correspondant à la valeur Valeur de la rubrique qui est recherchée dans le fichier de données. La liste des modifications sera fournie pour l'enregistrement pour lequel la valeur de <Rubrique de recherche> correspond à <Valeur recherchée>. <Liste des rubriques> : Chaîne de caractères Liste des rubriques prises en compte pour les dernières modifications. Dans cette liste, les différentes rubriques sont séparées soit par des virgules, soit par des retour chariot (RC). Si ce paramètre correspond à la valeur "*", toutes les rubriques du fichier de données seront intégrées. <Nombre de modifications> : Entier optionnel Nombre maximum de modifications renvoyées (de la plus récente à la plus ancienne). Si ce paramètre n'est pas spécifié, toutes les modifications sont renvoyées. <Séparateur de valeurs> : Chaîne de caractères optionnelle Séparateur des différentes valeurs. Si ce paramètre n'est pas spécifié, ce séparateur correspond à TAB. <Séparateur des modifications> : Chaîne de caractères optionnelle Séparateur des différents modifications de l'enregistrement spécifié. Si ce paramètre n'est pas spécifié, ce séparateur correspond à RC.
Modifications d'un enregistrement identifié par son numéro d'enregistrement Masquer les détails
<Résultat> = HHistoriqueModification(<Fichier de données> , <Numéro de l'enregistrement> , <Liste des rubriques> [, <Nombre de modifications> [, <Séparateur de valeurs> [, <Séparateur des modifications>]]])
<Résultat> : Chaîne de caractères Valeurs des rubriques de <Liste des rubriques> séparées par des <Séparateur de valeurs>. A la suite de ces valeurs sont ajoutées les informations suivantes :
<Fichier de données> : Chaîne de caractères Nom du fichier de données journalé sur lequel les dernières modifications doivent être recherchées. <Numéro de l'enregistrement> : Entier Numéro de l'enregistrement sur lequel les modifications doivent être recherchées. Il est possible d'utiliser la constante hNumEnrEnCours pour manipuler l'enregistrement en cours. <Liste des rubriques> : Chaîne de caractères Liste des rubriques prises en compte pour les dernières modifications. Dans cette liste, les différentes rubriques sont séparées soit par des virgules, soit par des retour chariot (RC). Si ce paramètre n'est pas précisé ou correspond à la valeur "*", toutes les rubriques du fichier de données seront intégrées. <Nombre de modifications> : Entier optionnel Nombre maximum de modifications renvoyées (de la plus récente à la plus ancienne). Si ce paramètre n'est pas spécifié, toutes les modifications sont renvoyées. <Séparateur de valeurs> : Chaîne de caractères optionnelle Séparateur des différentes valeurs. Si ce paramètre n'est pas spécifié, ce séparateur correspond à TAB. <Séparateur des modifications> : Chaîne de caractères optionnelle Séparateur des différents modifications de l'enregistrement spécifié. Si ce paramètre n'est pas spécifié, ce séparateur correspond à RC. Remarques Conseil Il est conseillé d'utiliser la première syntaxe en utilisant comme clé de parcours l'identifiant automatique du fichier de données ou une clé unique. En effet, l'utilisation du numéro d'enregistrement peut entraîner certains effets indésirables : le numéro d'enregistrement est ré-utilisé lors de la suppression puis l'ajout d'un enregistrement. Par exemple, pour un fichier de données Client, si un client est supprimé, lors de l'ajout d'un nouveau client, le numéro de l'enregistrement supprimé sera ré-utilisé. L'historique des modifications effectuée sur ce numéro d'enregistrement prendra en compte les modifications effectuées sur les différents clients associés à ce numéro d'enregistrement.
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|