GetFieldsOnLayout

Returnerar en lista över fälten i en layout som JSON-data.

Format 

GetFieldsOnLayout( layoutnamn )

Parametrar 

layoutnamn – ett textuttryck som representerar layoutens namn. Om layoutnamn är en tom sträng ("") används den aktuella layouten.

Returnerad datatyp 

text

Ursprungsversion 

22.0

Beskrivning 

Den här funktionen returnerar ett JSON-objekt som innehåller information om fält i den angivna layouten som är tillgängliga för en sökning.

Fält som uppfyller något av följande kriterier är uteslutna:

Det returnerade JSON-objektet har följande struktur:

Kopiera
{
    "layout_name": "Layoutnamn",
    "fields": {
        "TableOccurrence::Fältnamn1": {
            "type": "string",
            "description": "Fältnotation eller kommentar (valfritt)"
        },
        "TableOccurrence::Fältnamn2": {
            "type": "number"
        }
    }
}
  • Nyckeln layout_name innehåller layoutens namn.

  • Objektet fields innehåller paret nyckel–värde för varje tillgängligt fält.

  • Varje fälts nyckel är det tillåtna namnet (till exempel TableOccurrence::Fältnamn).

  • Varje fälts värde är ett objekt med nyckeln type (number om fältets datatyp är tal, i annat fall string).

  • Den valfria nyckeln description inkluderas om fältet har en notation (mer information finns i Definiera avancerade fältalternativ) eller en kommentar (mer information i Definiera och ändra fält) som definierats i dialogrutan Hantera databas. Om ett fält har båda används notationen som värde i nyckeln description. Om ett fält bara har en kommentar används kommentaren. Om någon av dem börjar med [LLM] tas prefixet [LLM] bort för bakåtkompatibilitet med taggkonventionen [LLM] som används i versioner före FileMaker 26.0.1.

Kommentarer 

Exempel 1 

Returnerar ett JSON-objekt som beskriver de fält som är tillgängliga för en sökning i layouten Produkter.

Kopiera
JSONFormatElements ( GetFieldsOnLayout ( "Produkter" ) )

Om layouten Produkter har följande fält:

Fältnamn Notation Kommentar

SkapatDatum

Datum då produkten skapades

 

Pris

Produktens pris i SEK

 

ProduktID

Primär nyckel som unikt identifierar en produkt

ProduktID

ProductName

 

[LLM] Beskrivande namn på produkten

Status

 

 

G_AnvändarensFavoriter

Fält som använder global lagring och som innehåller den aktuella användarens favoritprodukter

 

Funktionen returnerar:

Kopiera
{
    "fields"
    {
        "Produkter::SkapatDatum"
        {
            "description" : "Datum då produkten skapades",
            "type" : "string"
        },
        "Produkter::Pris"
        {
            "description" : "Produktens pris i SEK",
            "type" : "number"
        },
        "Produkter::ProduktID"
        {
            "description" : "Primär nyckel som unikt identifierar en produkt",
            "type" : "number"
        },
        "Produkter::Produktnamn"
        {
            "description" : "Beskrivande namn på produkten",
            "type" : "string"
        },
        "Produkter::Status"
        {
            "type" : "string"
        }
    },
    "layout_name" : "Produkter"
}

Observera följande:

  • ProduktID: Nyckeln description innehåller notationen (kommentaren ignoreras).

  • Produktnamn: Nyckeln description innehåller kommentaren där prefixet [LLM] har tagits bort (det finns ingen notation).

  • Status: Nyckeln description visas inte (det finns varken notation eller kommentar).

  • G_AnvändarensFavoriter: Fältet utelämnas helt (globala fält är inte tillgängliga för sökning).

Exempel 2 

Returnerar en lista över alla fält i den aktuella layouten och en lista över alla fält i den aktuella layouten som är tillgänglig i en sökning. Det här kan visa på fält som du inte visste var otillgängliga för en sökning.

Kopiera
Let (
[
    layoutFields = Fältnamn ( Get ( Filnamn ) ; Get ( Layoutnamn ) ) ;
    findFields = JSONListKeys ( GetFieldsOnLayout ( Get ( Layoutnamn ) ) ; "fält" ) ;

    sortedLayoutFields = SortValues ( layoutfält ; 1 ) ;
    sortedFindFields = SortValues ( sökfält ; 1 ) ;

    $$resultat = "Alla fält i den aktuella layouten:" & ¶ & sortedLayoutFields & ¶ & 
    "Av dessa är fälten som är tillgängliga för en sökning:" & ¶ & sortedFindFields
] ;
$$resultat
)

Möjliga utdata lagras i $$resultat för layouten Produkter:

Kopiera
Alla fält i den aktuella layouten:
SkapatDatum
Foto
Pris
ProduktID
Produktnamn
Status

Av dessa är fälten som är tillgängliga för en sökning:
Produkter::SkapatDatum
Produkter::Pris
Produkter::ProduktID
Produkter::Produktnamn
Produkter::Status