Historique des modifications

Simplicité 5.1.46

Bonjour,

J’ai coché l’historisation d’un de mes objet comme pour les autre mais à priori l’historisation ne fonctionne pas pour celui ci.

Je pense que cela vient de la manière dont l’objet est persisté (pas d’accès ihm direct, juste persistance depuis le code d’un autre objet) :

   private void persistData(String rowId, String data) throws GetException {
        ObjectDB namHdt = grant.getTmpObject(NamHdt.class.getSimpleName());
        namHdt.resetFilters();
        namHdt.resetValues();
        namHdt.getTool().select(rowId);
        namHdt.setFieldValue("namHdf",data);
        namHdt.save();
    }

Faut-il ajouter quelquechose pour que l’historisation soit bien stockée ?

Merci d’avance.

Bonjour,

Avez implémenté le hook isHistoric dans la classe NamHdt ?
Est ce que l’update des données se déroule correctement ? (vérification log, bdd)

J’ai ajouté dans la classe NamHdt
@Override
public boolean isHistoric() {
return true;
}

mais rien y fait. J’ai cependant trouvé un contournement pour tracer les modifications sans les faire apparaitre en clair (données sensibles) dans l’objet parent.

Le problème plus globlal est que ces données sensibles sont des champs logiques d’un formulaire (classe A) et que ces données on les récupère dans le preSave pour les chiffrer et les stocker dans une table dédiée (NamHdt).

Dans le preSave de la classe A, on surcharge les valeurs oldValue et Value pour les données sensibles par des valeurs prédéfinies qui permettent de stocker la modification ou non des données, mais pas de pouvoir lire les ancienne et nouvelles valeurs. Par ailleurs, même sans accéder a l’historique des modifications, il était gênant de les avoir en clair dans une table system.
image

Ce qui donne au final :
image
(le screen a été fait avant l’état final du code)

Bonjour,

Comment est paramétré l’attribut namHdf ?
C’est bien la seule donnée historisée ?

Vous pouvez supprimer la surcharge du isHistoric().

Au vu de la copie d’écran fournie, l’historisation que vous avez coché n’est pas Table Historique mais Journal des modifications. (le hook ishistoric est pour la table historique)
image

Dans ce cas il faut cocher Journal complet pour avoir les mises à jour effectuées par code.
Si vous faites des mises à jour par API / Cron / Import en masse, ça ne sera pas tracé dans ce journal.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.