GetFieldsOnLayout
Gibt eine Liste der Felder in einem Layout als JSON-Daten zurück.
Format
GetFieldsOnLayout ( LayoutName )
Parameter
LayoutName
– ein Textausdruck, der den Namen des Layouts darstellt. Wenn LayoutName
ein leerer String ("") ist, wird das aktuelle Layout verwendet.
Zurückgegebener Datentyp
Text
Ursprung in Version
22.0
Beschreibung
Diese Funktion gibt ein JSON-Objekt zurück, das Informationen zu Feldern im angegebenen Layout enthält, auf die eine Suche zugreifen kann.
Felder, die eines der folgenden Kriterien erfüllen, werden ausgeschlossen:
-
Das Feldobjekt befindet sich außerhalb des Layoutbereichs (siehe Platzieren und Entfernen von Feldern in einem Layout).
-
Die Bedingung Objekt ausblenden, wenn ist erfüllt und Im Suchenmodus anwenden ist ausgewählt (siehe Aus- und Einblenden von Layoutobjekten).
-
Für Feldeingabe ist Suchenmodus nicht ausgewählt (siehe Gestatten oder Verhindern der Dateneingabe in Felder).
-
Feld in Schnellsuche einschließen ist nicht ausgewählt (siehe Konfigurieren der Schnellsuche).
-
Die Berechtigungen für das aktuelle Konto haben keinen Lesezugriff (siehe Bearbeiten von Datensatz-Zugriffsrechten).
-
Das Feld ist ein Statistikfeld, ein Variablenfeld oder ein Containerfeld (siehe Definieren von Statistikfeldern, Definieren von Variablenfeldern (Felder mit globaler Speicherung) und Erläuterung von Containerfeldern).
Das zurückgegebene JSON-Objekt hat die folgende Struktur:
{
"layout_name": "LayoutName",
"felder": {
"TabellenAuftreten::FeldName1": {
"typ": "string",
"beschreibung": "Feldkommentar (optional)"
},
"TabellenAuftreten::FeldName2": {
"typ": "zahl"
}
}
}
-
Der Schlüssel
layout_name
enthält den Namen des Layouts. -
Das Objekt
felder
enthält Schlüssel-Wert-Paare für jedes zugängliche Feld. -
Der Schlüssel jedes Felds ist dessen voll qualifizierter Name (z. B. TabellenAuftreten::FeldName).
-
Der Wert jedes Felds ist ein Objekt mit einem
typ
-Schlüssel (zahl
, wenn der Datentyp des Felds eine Zahl ist, andernfallsstring
). -
Ein optionaler Schlüssel
beschreibung
ist enthalten, wenn das Feld im Dialogfeld „Datenbank verwalten“ einen Kommentar enthält. Wenn ein Feldkommentar in der Tabelle mit[LLM]
beginnt, werden nur die Kommentare angezeigt, die mit[LLM]
beginnen. Das Präfix[LLM]
wird aus dem Wertbeschreibung
entfernt.
Hinweise
-
Diese Funktion verwendet dieselben Kriterien wie der Scriptschritt „Suchen mit natürlicher Sprache“, um zu bestimmen, auf welche Felder eine Suche zugreifen kann und welche Feldinformationen zurückgegeben werden.
Beispiel 1
Gibt ein JSON-Objekt zurück, das die Felder beschreibt, auf die eine Suche im Layout „Produkte” zugreifen kann.
JSONFormatElements ( GetFieldsOnLayout ( "Produkte" ) )
Wenn das Produktlayout diese Felder enthält:
Feldname | Kommentar |
---|---|
Erstellungsdatum |
[LLM] Erstellungsdatum für Produkt |
Preis |
[LLM] Preis des Produkts in USD |
ProduktID |
[LLM] Primärschlüssel, der ein Produkt eindeutig identifiziert |
Produktname |
[LLM] Beschreibender Name des Produkts |
Status |
Status des Produkts im Inventar Werte sind auf Lager, Bestellt |
g_BenutzerFavoriten |
Variablenfeld mit den bevorzugten Produkten des aktuellen Benutzers |
Die Funktion gibt zurück:
{
"felder" :
{
"Produkte::Erstellungsdatum" :
{
"beschreibung" : "Erstellungsdatum für Produkt",
"typ" : "string"
},
"Produkte::Preis" :
{
"beschreibung" : "Preis des Produkts in USD",
"typ" : "zahl"
},
"Produkte::ProduktID" :
{
"beschreibung" : "Primärschlüssel, der ein Produkt eindeutig identifiziert",
"typ" : "zahl"
},
"Produkte::ProduktName" :
{
"beschreibung" : "Beschreibender Name des Produkts",
"typ" : "zahl"
},
"Produkte::Status" :
{
"typ" : "string"
}
},
"layout_name" : "Produkte"
}
Hinweis: Da mindestens ein Feldkommentar mit dem Tag [LLM]
beginnt, enthalten nur die Felder mit dem Tag [LLM]
eine Beschreibung. Das Feld g_BenutzerFavoriten wird ganz weggelassen, da es sich um ein Variablenfeld handelt, auf das eine Suche nicht zugreifen kann.
Beispiel 2
Gibt eine Liste aller Felder im aktuellen Layout und eine Liste aller Felder im aktuellen Layout zurück, auf die über eine Suche zugegriffen werden kann. Dies kann auf Bereiche hinweisen, von denen Sie nicht wussten, dass sie für eine Suche nicht zugänglich sind.
SetzeVar (
[
layoutFelder = FeldNamen ( Hole ( DateiName ) ; Hole ( LayoutName ) ) ;
sucheFelder = JSONListKeys ( GetFieldsOnLayout ( Hole ( LayoutName ) ) ; "felder" ) ;
sortierteLayoutFelder = SortValues ( layoutFelder ; 1 ) ;
sortierteSucheFelder = SortValues ( sucheFelder ; 1 ) ;
$$ergebnis = "Alle Felder im aktuellen Layout:" & ¶ & sortierteLayoutFelder & ¶ &
"Von diesen sind die folgenden Felder für eine Suche zugänglich:" & ¶ & sortierteSucheFelder
] ;
$$ergebnis
)
Mögliche Ausgabe, die in $$ergebnis für das Layout „Produkte“ gespeichert ist:
Alle Felder im aktuellen Layout:
Erstellungsdatum
Foto
Preis
ProduktID
ProduktName
Status
Von diesen sind die folgenden Felder für eine Suche zugänglich:
Produkte::Erstellungsdatum
Produkte::Preis
Produkte::ProduktID
Produkte::ProduktName
Produkte::Status