GetFieldsOnLayout
Renvoie une liste des rubriques d'un modèle sous forme de données JSON.
Format
GetFieldsOnLayout ( nomModèle )
Paramètres
nomModèle : une expression de texte représentant le nom du modèle. Si nomModèle est une chaîne vide (""), le modèle actuel est utilisé.
Résultat
Texte
Provient de la version
22.0
Description
Cette fonction renvoie un objet JSON contenant des informations sur les rubriques du modèle spécifié, accessibles dans le cadre d'une recherche.
Les rubriques qui répondent à l'un des critères suivants sont exclues :
-
L'objet de la rubrique se trouve en dehors de la zone du modèle (consultez la section Placement et suppression de rubriques dans un modèle).
-
La condition Masquer objet quand est respectée et Appliquer en mode Recherche est sélectionné (consultez la section Masquage ou affichage des objets de modèle).
-
Pour Saisie de rubrique, Mode Recherche n'est pas sélectionné (consultez la section Autorisation ou interdiction de la saisie dans une rubrique).
-
Inclure la rubrique dans la recherche rapide n'est pas sélectionné (consultez la section Configuration de la recherche rapide).
-
Le jeu de privilèges du compte actuel ne dispose pas d'accès en lecture (consultez la section Modification des privilèges d'accès aux enregistrements).
-
La rubrique est une rubrique de type Statistique, Global ou Conteneur (consultez les sections Définition de rubriques de type Statistique, Définition de rubriques de type Global (rubriques avec stockage global) et À propos des rubriques Conteneur).
L'objet JSON renvoyé présente la structure suivante :
{
"layout_name": "NomModèle",
"fields": {
"OccurrenceTable::NomRubrique1": {
"type": "string",
"description": "Commentaire ou annotation de la rubrique (facultatif)"
},
"OccurrenceTable::NomRubrique2": {
"type": "number"
}
}
}
-
La clé
layout_namecontient le nom du modèle. -
L'objet
fieldscontient des paires clé-valeur pour chaque rubrique accessible. -
La clé de chaque rubrique correspond à son nom complet (par exemple, OccurrenceTable::NomRubrique).
-
La valeur de chaque rubrique est un objet avec une clé
type(numbersi le type de données de la rubrique est un nombre ; sinon,string). -
Une clé
descriptionfacultative est incluse si la rubrique comprend une annotation (consultez la section Définition des options de rubrique avancées) ou un commentaire (consultez la section Définition et modification de rubriques) défini dans la boîte de dialogue Gérer la base de données. Si une rubrique comprend les deux, l'annotation est utilisée comme valeur de la clédescription. Si une rubrique ne comprend qu'un commentaire, alors le commentaire est utilisé. Si l'un ou l'autre commence par[LLM], le préfixe[LLM]est supprimé pour la rétrocompatibilité avec la convention de balise[LLM]utilisée dans les versions antérieures à FileMaker 26.0.1.
Remarques
-
Cette fonction utilise les mêmes critères pour déterminer quelles rubriques sont accessibles dans le cadre d'une recherche et quelles informations de rubrique sont renvoyées, comme avec l'action de script Effectuer une recherche en langage naturel .
Exemple 1
Renvoie un objet JSON décrivant les rubriques accessibles dans le cadre d'une recherche sur le modèle des produits.
JSONFormatElements ( GetFieldsOnLayout ( "Produits" ) )
Si le modèle Produits contient ces rubriques :
| Nom de rubrique | Annotation | Commentaire |
|---|---|---|
|
Date de création |
Date de création du produit |
|
|
Prix |
Prix du produit en EUR |
|
|
ID du Produit |
Clé primaire qui identifie un produit de manière unique |
N° produit |
|
Nom du Produit |
|
[LLM] Nom descriptif du produit |
|
État |
|
|
|
g_FavorisUtilisateur |
Rubrique de type Global contenant les produits préférés de l'utilisateur actuel |
La fonction renvoie :
{
"fields" :
{
"Produits::Date de création" :
{
"description" : "Date de création du produit",
"type" : "string"
},
"Produits::Prix" :
{
"description" : "Prix du produit en EUR",
"type" : "number"
},
"Produits::ID du produit" :
{
"description" : "Clé primaire qui identifie un produit de manière unique",
"type" : "number"
},
"Produits::Nom du produit" :
{
"description" : "Nom descriptif du produit",
"type" : "string"
},
"Produits::État" :
{
"type" : "string"
}
},
"layout_name" : "Produits"
}
Notez ce qui suit :
-
ID du Produit : la clé
descriptioncontient l'annotation (le commentaire est ignoré). -
Nom du Produit : la clé
descriptioncontient le commentaire avec le préfixe[LLM]supprimé (aucune annotation n'existe). -
État : aucune clé
descriptionn'apparaît (aucune annotation ou commentaire n'existe). -
g_FavorisUtilisateur : la rubrique est entièrement omise (les rubriques globales ne peuvent pas faire l'objet d'une recherche).
Exemple 2
Renvoie une liste de toutes les rubriques du modèle actuel et une liste de toutes les rubriques du modèle actuel qui sont accessibles dans le cadre d'une recherche. Cela peut indiquer des rubriques que vous ne saviez pas inaccessibles à la recherche.
Definir (
[
rubriquesModèle = NomsRubriques ( Obtenir ( NomFichier ) ; Obtenir ( NomModèle ) ) ;
rubriquesRecherche = JSONListKeys ( GetFieldsOnLayout ( Obtenir ( NomModèle ) ) ; "fields" ) ;
rubriquesModèleTriées = SortValues ( rubriquesModèle ; 1 ) ;
rubriquesRechercheTriées = SortValues ( rubriquesRecherche ; 1 ) ;
$$resultat = "Toutes les rubriques du modèle actuel :" & ¶ & rubriquesModèleTriées & ¶ &
"Parmi elles, celles accessibles dans le cadre d'une recherche sont :" & ¶ & rubriquesRechercheTriées
] ;
$$resultat
)
Résultat possible stocké dans $$resultat pour le modèle Produits :
Toutes les rubriques du modèle actuel :
Date de création
Photo
Prix
ID du produit
Nom du produit
État
Parmi elles, celles accessibles dans le cadre d'une recherche sont :
Produits::Date de création
Produits:: Prix
Produits::ID du produit
Produits::Nom du produit
Produits::État