6 La navigation dans le manuel de Kentika est réservée aux utilisateurs identifiés
Manipuler les données d'un enregistrement chargé en mémoire en mode expert
Les informations ci-dessous s'adressent exclusivement aux utilisateurs ayant une très bonne connaissance de la manipulation des tableaux dans le langage 4D et de la manipulation des données Kentika.
Lors du chargement d'un enregistrement en vue d'une mise à jour de ses données grâce à la fonction Record_Load, un certain nombre de tableaux sont créés en mémoire. Ces derniers comportent la description de la structure de l'enregistrement ainsi que les données.
Lors de l'enregistrement, les informations contenues dans les tableaux sont reventilées dans les enregistrements physiques de la base de données 4D et les index sont remis à jour. C'est pourquoi il est impératif de toujours utiliser ces fonctions sur les tables "Document" ; "Auteur" ; "Référence" ; "Personne" et "Revue" pour les données de la fiche signalétique (les données de gestion ne font pas l'objet du même mécanisme).
Après l'exécution de Record_Load , que ce soit pour créer un nouvel enregistrement ou pour mettre à jour un enregistrement existant, les tableaux de description de structure suivants sont alimentés :
L'attribut est une chaîne de 7 caractères suivi d'informations complémentaires optionnelles exprimées en mode xml (def : valeur par défaut ; UseTable : rubrique code utilisant les valeurs d'une autre table ; etiq : étiquette de la rubrique...)
Caractère Contenu
1 : nature 1 à 9 (1=code, 2=thesaurus, 3=format libre, 4=date
5=nombre, 6=email, 7=URL, 8=lien, 9=adresse)
2 : obligatoire 0 ou 1
3 : multiple 0 ou 1
4 : visu 0 ou 1 (0 dans le cas où l'utilisateur n'a pas le droit de voir la rubrique)
5 : index 0 ou 1
6 : alerte 0 ou 1 (1 si une modification doit provoquer un log de type 3 vs 2 en cas de modification)
7 : code ordre 0, 1 ou 2 rubrique seule, tête de groupe, dépendant d'une autre
Exemple : "4101100" correspond à une rubrique date (4) obligatoire (1) mono valuée (0) visible (1) indexée (1) pas d'alerte (0) rubrique seule (0)
Les valeurs sont contenues dans des tableaux à deux dimensions. La première dimension correspond à la rubrique, la deuxième aux valeurs. Si une rubrique n'est pas multi-valuée, le tableau correspondant aura toujours une et une seule valeur.
Suivant la nature, les tableaux indiqués ci-dessus auront des contenus différents.
Nature Contenu "TTForm_Val_Code" Contenu "TTForm_Val_lib"
1 (code) Code de la valeur Libellé de la valeur (dans la langue)
2 (thes) Record_Num (thesaurus) Descripteur
3 (valeur) Valeur
4 (date) Début\Fin Date telle que saisie
5 (nombre) Nombre Nombre saisi
6 (email) email
7 (URL) URL
8 (lien) Record_Num (table liée) Intitulé de l'enregistrement
9 (adresse) Adresse XML ADresse en text
Exemple
Le script suivant modifie le contenu de la rubrique langue (dont l'étiquette est LA et dont on ne connaît pas, a priori, le Field_Num) de l'enregistrement 40103. Si ce dernier contient la valeur "FR", la valeur est changée en"AN"
LForm_Record_Num:=40103
Record_Load (3;1;LForm_Record_Num)
Ce1:=Chercher dans tableau(TTForm_Att;"@<etiq>LA</etiq>@")
Si (Ce1>0)
Ce2:=Chercher dans tableau(TTForm_Val_code{Ce1};"FR")
Si (Ce2>0)
TTForm_Val_code{Ce1}{Ce2}:="AN"
Record_Save (LForm_Record_Num)
Fin de si
Fin de si
Powered by KENTIKA Atomic - © Kentika 2025 tous droits réservés - Mentions légales