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 zurückgegebene JSON-Objekt hat die folgende Struktur:

Kopieren
{
    "layout_name": "LayoutName",
    "felder": {
        "TabellenAuftreten::FeldName1": {
            "typ": "string",
            "beschreibung": "Feldanmerkung oder -kommentar (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, andernfalls string).

  • Ein optionaler Schlüssel beschreibung wird hinzugefügt, wenn für das Feld im Dialogfeld „Datenbank verwalten“ eine Anmerkung (siehe Definieren von erweiterten Feldoptionen) oder ein Kommentar (siehe Definieren und Ändern von Feldern) definiert wurde. Wenn ein Feld beides enthält, wird die Anmerkung als Wert des Schlüssels beschreibung verwendet. Wenn ein Feld nur einen Kommentar enthält, wird dieser verwendet. Wenn eines der beiden mit [LLM] beginnt, wird das Präfix [LLM] entfernt, um die Abwärtskompatibilität mit der Tag-Konvention [LLM] zu gewährleisten, die in Versionen vor FileMaker 26.0.1 verwendet wurde.

Hinweise 

Beispiel 1 

Gibt ein JSON-Objekt zurück, das die Felder beschreibt, auf die eine Suche im Layout „Produkte” zugreifen kann.

Kopieren
JSONFormatElements ( GetFieldsOnLayout ( "Produkte" ) )

Wenn das Produktlayout diese Felder enthält:

Feldname Anmerkung Kommentar

Erstellungsdatum

Erstellungsdatum für Produkt

 

Preis

Preis des Produkts in USD

 

ProduktID

Primärschlüssel, der ein Produkt eindeutig identifiziert

Produkt-ID

Produktname

 

[LLM] Beschreibender Name des Produkts

Status

 

 

g_BenutzerFavoriten

Variablenfeld mit den bevorzugten Produkten des aktuellen Benutzers

 

Die Funktion gibt zurück:

Kopieren
{
    "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"
}

Beachten Sie Folgendes:

  • ProduktID: Der Schlüssel beschreibung enthält die Anmerkung (der Kommentar wird ignoriert).

  • ProduktName: Die beschreibung enthält den Kommentar mit dem entfernten Präfix [LLM] (keine Anmerkung vorhanden).

  • Status: Kein Schlüssel beschreibung wird angezeigt (keine Anmerkung oder Kommentar vorhanden).

  • g_BenutzerFavoriten: Das Feld wird ganz weggelassen (globale Felder sind für eine Suche nicht zugänglich).

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.

Kopieren
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:

Kopieren
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