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 geretourneerde JSON-object heeft de volgende structuur:

Kopiëren
{
    "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 typesleutel (getal als het gegevenstype van het veld getal is; anders tekenreeks).

  • 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 waarde beschrijving.

Opmerkingen 

Voorbeeld 1 

Retourneert een JSON object dat de velden beschrijft die toegankelijk zijn voor een zoekopdracht in de layout Producten.

Kopiëren
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:

Kopiëren
{
    "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.

Kopiëren
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:

Kopiëren
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