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ältkommentar (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 ingår om fältet har en kommentar i dialogrutan Hantera databas. Om någon fältkommentar i tabellen inleds med [LLM] visas endast de kommentarer som börjar med [LLM]. Prefixet [LLM] tas bort från värdet description.

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 Kommentar

SkapatDatum

[LLM] Datum då produkten skapades

Pris

[LLM] Produktens pris i SEK

ProduktID

[LLM] Primär nyckel som unikt identifierar en produkt

ProductName

[LLM] Beskrivande namn på produkten

Status

Status för produkten i lager. Värdena är I lager, Beställt

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 att eftersom minst en fältkommentar börjar med taggen [LLM] är det endast fält med taggen [LLM] som har en beskrivning. Fältet g_AnvändarensFavoriter utelämnas helt eftersom det är ett fält som som använder global lagring och alltså inte är tillgängligt för en 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