GetFieldsOnLayout
Restituisce un elenco dei campi di un formato come dati JSON.
Formato
GetFieldsOnLayout ( nomeFormato )
Parametri
nomeFormato - un'espressione di testo che rappresenta il nome del formato. Se nomeFormato è una stringa vuota (""), viene utilizzato il formato corrente.
Tipo di dati riportato
Testo
Creata nella versione
22.0
Descrizione
Questa funzione restituisce un oggetto JSON contenente informazioni sui campi del formato specificato accessibili a una ricerca.
Sono esclusi i campi che soddisfano uno dei seguenti criteri:
-
L'oggetto campo si trova al di fuori dell'area del formato (vedere Posizionamento e rimozione dei campi da un formato).
-
La condizione Nascondi oggetto se è soddisfatta e Applica nel modo Trova è selezionato (vedere Nascondere o visualizzare oggetti del formato).
-
Per Accesso campo, il modo Trova è deselezionato (vedere Consentire o impedire l'immissione nei campi).
-
Includi campo per la ricerca rapida non è selezionato (vedere Configurazione della ricerca rapida).
-
Il set di privilegi dell'account corrente non ha accesso in lettura (Modifica dei privilegi di accesso ai record).
-
Il campo è un campo Riassunto, Globale o Contenitore (vedere Definizione dei campi Riassunto, Definizione di campi globali (campi con memorizzazione globale) e Informazioni sui campi Contenitore).
L'oggetto JSON restituito ha la seguente struttura:
{
"nome_formato": "NomeFormato",
"campi": {
"RicorrenzaTabella::NomeCampo1": {
"tipo": "stringa",
"descrizione": "Annotazione o commento campo (opzionale)"
},
"RicorrenzaTabella::NomeCampo2": {
"tipo": "numero"
}
}
}
-
La chiave
nome_formatocontiene il nome del formato. -
L'oggetto
campicontiene coppie chiave-valore per ogni campo accessibile. -
La chiave di ogni campo è il suo nome completamente qualificato (ad esempio, RicorrenzaTabella::NomeCampo).
-
Il valore di ogni campo è un oggetto con una chiave
tipo(numerose il tipo di dati del campo è numero; altrimenti,stringa). -
Una chiave opzionale
descrizioneè inclusa se il campo ha un'annotazione (vedere Definizione delle opzioni campo avanzate) o un commento (vedere Definizione e modifica dei campi), definiti nella finestra di dialogo Gestisci database. Se un campo ha entrambe le cose, l'annotazione viene utilizzata come valore della chiavedescrizione. Se un campo ha solo un commento, viene utilizzato il commento. Se uno dei due inizia con[LLM], il prefisso[LLM]viene rimosso ai fini della compatibilità con la convenzione per i tag[LLM]utilizzata nelle versioni precedenti a FileMaker 26.0.1.
Note
-
Questa funzione utilizza gli stessi criteri per determinare quali campi sono accessibili a una ricerca e quali informazioni del campo vengono restituite come fa l'istruzione di script Esegui ricerca per linguaggio naturale.
Esempio 1
Restituisce un oggetto JSON che descrive i campi accessibili a una ricerca nel formato Prodotti.
JSONFormatElements ( GetFieldsOnLayout ( "Prodotti" ) )
Se il formato Prodotti ha questi campi:
| Nome del campo | Annotazione | Commento |
|---|---|---|
|
DataCreazione |
Data di creazione del prodotto |
|
|
Prezzo |
Prezzo del prodotto in USD |
|
|
IDProdotto |
Chiave primaria che identifica in modo univoco un prodotto |
ID prodotto |
|
NomeProdotto |
|
[LLM] Nome descrittivo del prodotto |
|
Stato |
|
|
|
g_PreferitiUtente |
Campo globale contenente i prodotti preferiti dell'utente corrente |
La funzione restituisce:
{
"campi" :
{
"Prodotti::DataCreazione" :
{
"descrizione" : "Data di creazione del prodotto",
"tipo" : "stringa"
},
"Prodotti::Prezzo" :
{
"descrizione" : "Prezzo del prodotto in USD",
"tipo" : "numero"
},
"Prodotti::IDProdotto" :
{
"descrizione" : "Chiave primaria che identifica in modo univoco un prodotto",
"tipo" : "numero"
},
"Prodotti::NomeProdotto" :
{
"descrizione" : "Nome descrittivo del prodotto",
"tipo" : "stringa"
},
"Prodotti::Stato" :
{
"tipo" : "stringa"
}
},
"nome_formato" : "Prodotti"
}
Si noti quanto segue:
-
IDProdotto: la chiave
descrizionecontiene l'annotazione (il commento viene ignorato). -
NomeProdotto: la chiave
descrizionecontiene il commento con il prefisso[LLM]rimosso (non esiste alcuna annotazione). -
Stato: non appare alcuna chiave
descrizione(non esiste alcuna annotazione o alcun commento). -
g_PreferitiUtente: il campo è completamente omesso (i campi globali non sono accessibili a una ricerca).
Esempio 2
Restituisce un elenco di tutti i campi del formato corrente e un elenco di tutti i campi del formato corrente che sono accessibili a una ricerca. Questo può segnalare campi la cui non accessibilità a una ricerca non era nota.
Dichiara (
[
campiFormato = NomiCampo ( Get ( NomeFile ) ; Get ( NomeFormato ) ) ;
campiRicerca = JSONListKeys ( GetFieldsOnLayout ( Get ( NomeFormato ) ) ; "campi" ) ;
campiFormatoOrdinati = SortValues ( campiFormato ; 1 ) ;
campiRicercaOrdinati = SortValues ( campiRicerca ; 1 ) ;
$$risultato = "Tutti i campi del formato corrente:" & ¶ & campiFormatoOrdinati & ¶ &
"Di questi, i campi accessibili a una ricerca sono:" & ¶ & campiRicercaOrdinati
] ;
$$risultato
)
Possibile output memorizzato in $$risultato per il formato Prodotti:
Tutti i campi del formato corrente:
Data di creazione
Foto
Prezzo
IDProdotto
NomeProdotto
Stato
Di questi, i campi accessibili a una ricerca sono:
Prodotti::DataCreazione
Prodotti::Prezzo
Prodotti::IDProdotto
Prodotti::NomeProdotto
Prodotti::Stato