CAH debugVerrou-fr
L'objectif de cet outil est de vous permettre de déterminé les verrouillages d’enregistrements mal gérés dans une base 4D.
Pour ce faire le CAH va installer avant ou après l'appel de commandes enregistrant des données une méthode qui va contrôler si l'enregistrement c'est bien déroulé. Si ce n'est pas le cas la méthode va inscrire dans le log (LockingRecordLog.txt) qui sera créer dans le dossier des logs de la base l'heure et le problème rencontré.
Pour utiliser insertion ou le retrait, vous devez avoir effectué l'analyse de la structure au préalable.
Exemple de log :
2018-12-15T13:09:05Z : Création du log 2018-12-15T13:09:05Z : [Société] LockedSet (3 records) - Method : Test_Lock (Line 11) 2018-12-15T13:09:05Z : [Société] Record Lock - Method : Test_Lock (Line 16) 2018-12-15T13:09:05Z : [Société] Record Lock - Method : Test_Lock (Line 16) 2018-12-15T13:09:05Z : [Société] Record Lock - Method : Test_Lock (Line 16)
Le code avant les insertions de contrôle
TOUT SÉLECTIONNER([Société]) APPLIQUER À SÉLECTION([Société];[Société]Nom:=[Société]Nom) DÉBUT SELECTION([Société]) Tant que (Non(Fin de sélection([Société]))) [Société]Nom:=[Société]Nom STOCKER ENREGISTREMENT([Société]) ENREGISTREMENT SUIVANT([Société]) Fin tant que
Le code après les insertions de contrôle
TOUT SÉLECTIONNER([Société]) APPLIQUER À SÉLECTION([Société];[Société]Nom:=[Société]Nom) ANACAH_DebugLockingRecord ("Selection";"Test_Lock (Line 11)";->[Société]) // insert by CAH 2018-12-04 DÉBUT SELECTION([Société]) Tant que (Non(Fin de sélection([Société]))) [Société]Nom:=[Société]Nom STOCKER ENREGISTREMENT([Société]) ANACAH_DebugLockingRecord ("record";"Test_Lock (Line 16)";->[Société]) // insert by CAH 2018-12-04 ENREGISTREMENT SUIVANT([Société]) Fin tant que
le CAH vous permet bien sur de retirer tout ce code de contrôle.
Il vous permet également d'obtenir des statistiques sur les enregistrements dans votre base.