DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL
  • Conseil
  • Historique des modifications
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
HHistoriqueModification (Fonction)
En anglais : HHistoryModification
HFSQL ClassicHFSQL Client/ServeurDisponible 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.
  • WINDEV 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é.
Historique des modifications
Exemple
// Permet de visualiser dans un champ Liste
// les utilisateurs qui ont changé l'email du client en cours
// ainsi que les différentes valeurs de l'email au cours du temps
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>

HFSQL Classic Login correspond toujours à une chaîne vide ("").
<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 :
HFSQL Classic
<Séparateur de valeurs> + <Date et Heure de modification> + <Séparateur de valeurs> +
<Identifiant du poste (valeur de HPoste)> + <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 des modifications>
HFSQL Client/Serveur
<Séparateur de valeurs> + <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 des modifications>
<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.
WINDEV

Historique des modifications

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é.
Historique des modifications
Pour personnaliser cette fenêtre (ou la traduire), il suffit de l'intégrer dans le projet.
Pour intégrer la fenêtre d'historique des modifications dans votre application :
  1. Sous le volet "Projet", dans le groupe "Projet", déroulez "Importer" et sélectionnez "Des éléments WINDEV et leurs dépendances".
  2. Sélectionnez le sous-répertoire contenant les éléments à importer. La fenêtre de configuration du bouton minuterie est présente dans le sous-répertoire "Programs\Data\Preset Windows\FR\FAA" du répertoire d'installation de WINDEV.
  3. WINDEV liste les éléments présents dans le répertoire. Ce répertoire contient les différents éléments correspondant aux FAA personnalisables. La fenêtre à importer est "WINDEVFaa_FenetreJournalHF.wdw".
  4. Validez. La fenêtre est intégrée au projet et peut être modifiée. Cette fenêtre personnalisée sera automatiquement prise en compte lors de l'exécution de l'application.
Remarques :
  • La fenêtre ne doit pas être renommée.
  • Si vous intégrez cette fenêtre dans votre application, vous risquez de ne pas profiter des améliorations de cette fenêtre effectuées au cours des mises à jour. Pensez à vérifier si cette fenêtre n'évolue pas.
  • Attention : Pour modifier cette fenêtre, le fichier correspondant ne doit pas être en lecture seule. Modifiez les caractéristiques du fichier sous Windows si nécessaire.
Composante : wd300hf.dll
Version minimum requise
  • Version 10
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 04/06/2024

Signaler une erreur ou faire une suggestion | Aide en ligne locale