SurTransactionFenetre
Exécute un script et lui transmet un objet JSON en tant que paramètre de script après qu'une ou plusieurs modifications d'enregistrement ont été validées avec succès. L'objet JSON comprend le nom du fichier, le nom de la table de base, l'ID de l'enregistrement, l'opération et le contenu d'une rubrique contextuelle pour chaque opération d'enregistrement validée.
Les actions activant ce déclencheur de script sont les suivantes :
-
un enregistrement est validé après avoir été créé, modifié ou supprimé ;
-
une transaction ouverte est validée avec succès.
Exécution du script
Après le traitement de l'événement
Modes dans lesquels le déclencheur peut être utilisé
Modes Utilisation et Recherche.
Résultat
Aucune.
Compatibilité
| Produit | Prise en charge |
|---|---|
|
FileMaker Pro |
Oui |
|
FileMaker Go |
Oui |
|
FileMaker WebDirect |
Oui |
|
FileMaker Server |
Oui |
|
FileMaker Cloud |
Oui |
|
FileMaker Data API |
Oui |
|
Publication Web personnalisée |
Oui |
Provient de la version
20.1
Description
Toute action qui valide un ou plusieurs enregistrements active ce déclencheur de script, que ce soit dans le cadre d'une transaction ouverte (consultez l'action de script Ouvrir une transaction) ou non. Ce déclencheur transmet au script un objet JSON en tant que paramètre de script contenant des informations sur les éléments validés. Vous pouvez utiliser ce déclencheur avec un script qui enregistre chaque création, modification et suppression d'enregistrement, par exemple, dans un journal d'audit des modifications, qui les effectue et à quel moment.
Utilisez la fonction Obtenir ( ParamètreScript ) dans le script déclenché pour récupérer l'objet JSON. L'objet JSON présente la structure suivante :
{
"NomFichier" : {
"NomTableDeBase" : [
[ "Opération", IDEnregistrement, ContenuRubrique ],
...
]
}
}
-
"NomFichier"est le nom du fichier de base de données sans l'extension de fichier. -
"NomTableDeBase"est le nom de la table de base pour les enregistrements concernés. -
"Opération"peut présenter les valeurs"Nouvelle","Modifiée"ou"Supprimée". -
IDEnregistrementest le numéro d'identification interne de l'enregistrement. -
ContenuRubriquerenvoie au contenu de la rubrique contextuelle pour cet enregistrement. Vous pouvez utiliser cette rubrique pour transmettre des informations supplémentaires au script (par exemple, l'utilisateur actuel, l'horodatage et les valeurs de la rubrique). Si la rubrique contient un JSON valide, il est inclus en tant que valeur JSON plutôt qu'en tant que chaîne de texte. S'il n'existe pas de rubrique contextuelle correspondant dans la table, une chaîne vide est utilisée.
Lorsqu'un élément validé affecte les enregistrements dans plusieurs tables de base, chaque table a son propre tableau sous la clé "NomFichier". Lorsque les enregistrements des tables associées provenant d'autres fichiers sont affectés, chaque fichier a sa propre clé de niveau supérieur.
La rubrique contextuelle est spécifiée dans l'option Nom de rubrique lors de la configuration de ce déclencheur. Si Nom de rubrique est laissé vide, le déclencheur recherche une rubrique nommée SurTransactionFenetre dans chaque table de base. Si aucune rubrique correspondante n'est trouvée dans une table, ContenuRubrique est une chaîne vide pour les enregistrements de cette table.
Remarques
-
Ce déclencheur est configuré par fichier. Si les enregistrements sont modifiés dans une table liée dans un autre fichier, ces entrées d'enregistrement sont incluses dans le paramètre JSON même si cet autre fichier n'a pas configuré le déclencheur de script SurTransactionFenetre.
-
Pour les enregistrements supprimés, les données de la rubrique contextuelle sont capturées avant que l'enregistrement ne soit supprimé. Pour les enregistrements nouveaux et modifiés, les données de la rubrique contextuelle sont capturées après la validation des enregistrements.
-
Les enregistrements ou transactions annulés n'activent pas ce déclencheur. Consultez les actions de script Rétablir enreg./requête et Annuler la transaction.
-
L'accès direct à la base de données via FileMaker Data API ou l'API OData n'active pas ce déclencheur. Cependant, les scripts exécutés via ces API peuvent l'activer.
-
Pour obtenir un exemple de script de journalisation d'audit à utiliser avec SurTransactionFenetre, consultez cet article du blog Claris Engineering.