GetFieldsOnLayout
Retourneert een lijst van de velden in een layout als JSON-gegevens.
Opmaak
GetFieldsOnLayout (layoutName)
Parameters
LayoutName
- een tekstexpressie die de naam van de lay-out weergeeft. Als layoutName
een lege string ('') is, wordt de huidige layout gebruikt.
Resulterend gegevenstype
tekst
Afkomstig uit versie
22.0
Beschrijving
Deze functie retourneert een JSON-object met informatie over velden in de opgegeven lay-out die toegankelijk zijn voor een zoekopdracht.
Velden die aan een van de volgende criteria voldoen, worden uitgesloten:
-
Het veldobject bevindt zich buiten het lay-outgebied (zie Velden in lay-outs plaatsen en verwijderen).
-
De optie Object verbergen wanneer aan de voorwaarde is voldaan en Toepassen in de zoekmodus is geselecteerd (zie Lay-outobjecten verbergen of tonen.
-
Voor veld-entry, Find-modus is uitgeschakeld (zie Gegevensinvoer in velden toestaan of beletten.
-
Veld voor Snel zoeken opnemen is niet geselecteerd (zie Snel zoeken configureren).
-
De bevoegdheden van de huidige account hebben geen leestoegang (Privileges voor toegang tot records bewerken).
-
Het veld is een samenvattend, algemeen of containerveld (zie Resumévelden definiëren, Globaalvelden definiëren (velden met globale opslag) en Containervelden).
Het geretourneerde JSON-object heeft de volgende structuur:
{
"layout_name": "LayoutName",
"fields": {
"TableOccurrence::FieldName1": {
"type": "string",
"description": "Field comment (optional)"
},
"TableOccurrence::FieldName2": {
"type": "number"
}
}
}
-
De toets
layout_name
bevat de naam van de layout. -
Het object
velden
bevat sleutel-waardeparen voor elk toegankelijk veld. -
De sleutel van elk veld is de volledig gekwalificeerde naam (bijvoorbeeld TableOccurrence::FieldName).
-
De waarde van elk veld is een object met een
type
sleutel (getal
als het gegevenstype van het veld getal is; anderstekenreeks
). -
Er wordt een optionele sleutel
beschrijving
toegevoegd als het veld een opmerking bevat in het dialoogvenster Database beheren. Als een veldopmerking in de tabel begint met[LLM]
, worden alleen de opmerkingen weergegeven die beginnen met[LLM]
. Het voorvoegsel[LLM]
wordt verwijderd uit de waardebeschrijving
.
Opmerkingen
-
Deze functie gebruikt dezelfde criteria om te bepalen welke velden toegankelijk zijn voor een zoekopdracht en welke veldgegevens worden geretourneerd als de scriptstap Zoeken op natuurlijke taal uitvoeren scriptstap.
Voorbeeld 1
Retourneert een JSON object dat de velden beschrijft die toegankelijk zijn voor een zoekopdracht in de layout Producten.
JSONFormatElements ( GetFieldsOnLayout ( "Producten" ) )
Als de lay-out Producten de volgende velden bevat:
Veldnaam | Opmerking |
---|---|
CreationDate |
[LLM] aanmaakdatum voor product |
Prijs |
[LLM] Prijs van het product in USD |
ProductID |
[LLM] Primaire sleutel die een product uniek identificeert |
ProductName |
[LLM] Beschrijvende naam van het product |
Status |
Status van product op voorraad Waarden zijn op voorraad, in bestelling |
g_UserFavorites |
Algemeen veld met de favoriete producten van de huidige gebruiker |
De functie geeft het volgende resultaat:
{
"fields" :
{
"Products::CreationDate" :
{
"description" : "Aanmaakdatum van product",
"type" : "string"
},
"Products::Price" :
{
"description" : "Prijs van het product in USD",
"type" : "number"
},
"Products::ProductID" :
{
"description" : "Primaire sleutel die een product uniek identificeert",
"type" : "number"
},
"Products::ProductName" :
{
"description" : "Beschrijvende naam van het product",
"type" : "string"
},
"Products::Status" :
{
"type" : "string"
}
},
"layout_name" : "Producten"
}
Omdat ten minste één veldopmerking begint met de [LLM]
-tag, bevatten alleen de velden met de [LLM]
-tag een beschrijving. Het veld g_UserFavorites wordt volledig weggelaten omdat het een globaal veld is dat niet toegankelijk is voor een zoekopdracht.
Voorbeeld 2
Retourneert een lijst met alle velden in de huidige lay-out en een lijst met alle velden in de huidige lay-out die toegankelijk zijn voor een zoekopdracht. Dit kan velden aangeven die niet toegankelijk waren voor een zoekopdracht.
Let (
[
layoutFields = FieldNames ( Get ( FileName ) ; Get ( LayoutName ) ) ;
findFields = JSONListKeys ( GetFieldsOnLayout ( Get ( LayoutName ) ) ; "fields" ) ;
sortedLayoutFields = SortValues ( layoutFields ; 1 ) ;
sortedFindFields = SortValues ( findFields ; 1 ) ;
$$result = "Alle velden in de huidige lay-out:" & ¶ & sortedLayoutFields & ¶ &
"Van deze velden zijn dit de velden die toegankelijk zijn voor een zoekopdracht:" & ¶ & sortedFindFields
] ;
$$result
)
Mogelijke uitvoer opgeslagen in $$Resultaat voor de lay-out Producten:
Alle velden in de huidige lay-out:
CreationDate
Photo
Price
ProductID
ProductName
Status
Van deze velden zijn dit de velden die toegankelijk zijn voor een zoekopdracht:
Products::CreationDate
Products::Price
Products::ProductID
Products::ProductName
Products::Status