PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Conseil
  • Historique des modifications
Produits
WINDEVWEBDEV - Code ServeurWEBDEV - Code NavigateurWINDEV MobileEtats et Requêtes
Plateformes
WindowsLinuxWindows MobileUniversal Windows 10 AppAndroidWidget AndroidiPhone/iPadApple Watch
Langages
JavaPHPAjaxCode Utilisateur (MCU)Langage Externe
Bases de données
HFSQLHFSQL Client/ServeurProcédures stockéesOLE DBODBCAccès Natifs
HHistoriqueModification (Fonction)
En anglais : HHistoryModification
Renvoie les modifications apportées à une ou plusieurs rubriques d'un enregistrement donné. Le résultat peut être par exemple affiché dans une liste ou une 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é.
Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.
Versions 22 et supérieures
WINDEV MobileiPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
WINDEVWINDEV MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
WINDEV MobileWidget Android Cette fonction est désormais disponible en mode Widget Android.
WINDEV MobileAndroid Cette fonction est désormais disponible pour les applications Android.
WINDEVJava Cette fonction est désormais disponible pour les applications Java.
Nouveauté 22
WINDEV MobileiPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
WINDEVWINDEV MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
WINDEV MobileWidget Android Cette fonction est désormais disponible en mode Widget Android.
WINDEV MobileAndroid Cette fonction est désormais disponible pour les applications Android.
WINDEVJava Cette fonction est désormais disponible pour les applications Java.
WINDEV MobileiPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
WINDEVWINDEV MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
WINDEV MobileWidget Android Cette fonction est désormais disponible en mode Widget Android.
WINDEV MobileAndroid Cette fonction est désormais disponible pour les applications Android.
WINDEVJava Cette fonction est désormais disponible pour les applications Java.
Exemple
// Permet de visualiser dans une table, 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(<Nom du fichier> , <Nom de la 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 Rubrique 1> +
    <Séparateur de valeurs> + ... + <Séparateur de valeurs> + <Valeur de la rubrique N>
    + <Séparateur de valeurs> + <Etat Rubrique N>
    • <Etat 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 Login correspond toujours à une chaîne vide ("").
<Nom du fichier> : Chaîne de caractères (avec ou sans guillemets)
Nom du fichier de données journalé sur lequel les dernières modifications doivent être recherchées.
<Nom de la rubrique de recherche> : Chaîne de caractères (avec ou sans guillemets)
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 <Nom de la rubrique> 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(<Nom du fichier> , <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
<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>
<Nom du fichier> : Chaîne de caractères (avec ou sans guillemets)
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 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 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é.
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. Sélectionnez l'option "Fichier .. Importer .. Des éléments WINDEV et leurs dépendances".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 "Programmes\Donnees\Fenêtres prédéfinies\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.
Composantes
WINDEVWEBDEV - Code ServeurEtats et Requêtes wd220hf.dll
Windows Mobile wp220hf.dll
Java wd220java.jar
Linux wd220hf.so
Android wd220android.jar
Version minimum requise
  • Version 10
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire