GetFieldsOnLayout

レイアウト上のフィールド一覧を JSON データとして返します。

構文 

GetFieldsOnLayout ( レイアウト名 )

引数 

レイアウト名 - レイアウトの名前を表すテキスト式。レイアウト名が空の文字列 ("") の場合、現在のレイアウトが使用されます。

戻り値のデータタイプ 

テキスト

起点バージョン 

22.0

説明 

この関数は検索に使用できる指定されたレイアウト上のフィールドに関する情報を含む JSON オブジェクトを返します。

次の条件のいずれかを満たすフィールドは除外されます:

返される JSON オブジェクトの構造は次のとおりです:

コピー
{
    "layout_name": "レイアウト名",
    "fields": {
        "テーブルオカレンス::フィールド名 1": {
            "type": "string",
            "description": "フィールドアノテーションまたはコメント (オプション)"
        },
        "テーブルオカレンス::フィールド名 2": {
            "type": "number"
        }
    }
}
  • layout_name キーにはレイアウトの名前が含まれます。

  • fields オブジェクトには使用できる各フィールドのキーと値のペアが含まれます。

  • 各フィールドのキーは完全修飾名です (例: テーブルオカレンス::フィールド名)。

  • 各フィールドの値は type キーを含むオブジェクトです (フィールドのデータタイプが数字の場合は number、それ以外の場合は string)。

  • フィールドに [データベースの管理] ダイアログボックスで定義されたアノテーション (詳細フィールドオプションの定義を参照) またはコメント (フィールドの定義と変更を参照) がある場合、オプションの description キーが含まれます。フィールドに両方がある場合、アノテーションが description キーの値として使用されます。フィールドにコメントのみがある場合、そのコメントが使用されます。いずれかが [LLM] で始まる場合、[LLM] 接頭語は FileMaker 26.0.1 以前のバージョンで使用されていた [LLM] タグ規則との下位互換性のために取り除かれます。

メモ 

例 1 

「製品」レイアウト上の検索に使用できるフィールドを記述する JSON オブジェクトを返します。

コピー
JSONFormatElements (GetFieldsOnLayout ("製品"))

「製品」レイアウトに次のフィールドがある場合:

フィールド名 アノテーション コメント

製造日

製品の製造日

 

価格

日本円での製品価格

 

製品ID

製品を固有に識別する主キー

製品 ID

製品名

 

[LLM] 製品の具体的な名称

状況

 

 

g_ユーザのお気に入り

現在のユーザのお気に入り製品を含むグローバルフィールド

 

関数は次の値を返します:

コピー
{
    "fields"
    {
        "製品::製造日"
        {
            "description" : "製品の製造日",
            "type" : "string"
        },
        "製品::価格"
        {
            "description" : "製品価格",
            "type" : "number"
        },
        "製品::製品ID"
        {
            "description" : "製品を固有に識別する主キー",
            "type" : "number"
        },
        "製品::製品名"
        {
            "description" : "製品の具体的な名称",
            "type" : "string"
        },
        "製品::状況"
        {
            "type" : "string"
        }
    },
    "layout_name" : "製品"
}

次のことに注意してください:

  • 製品ID: description キーにはアノテーションが含まれます (コメントは無視されます)。

  • 製品名: description キーには [LLM] 接頭語を取り除いたコメントが含まれます (アノテーションが存在しません)。

  • 状況: description キーは表示されません (アノテーションやコメントが存在しません)。

  • g_ユーザのお気に入り: このフィールドは完全に省略されます (グローバルフィールドは検索に使用できません)。

例 2 

現在のレイアウト上のすべてのフィールドの一覧および検索に使用できるフィールドの一覧を返します。これにより検索で使用できないフィールドを確認することができます。

コピー
Let (
[
    layoutFields = FieldNames (Get (ファイル名) ; Get (レイアウト名)) ;
    findFields = JSONListKeys (GetFieldsOnLayout (Get (レイアウト名)) ; "fields") ;

    sortedLayoutFields = SortValues (レイアウトフィールド ; 1) ;
    sortedFindFields = SortValues (検索フィールド ; 1) ;

    $$result = "現在のレイアウト上のすべてのフィールド:" & ¶ & sortedLayoutFields & ¶ & 
    "これらのうち検索に使用できるフィールド:" & ¶ & sortedFindFields
] ;
$$result
)

「製品」レイアウトの $$result に保存される可能性のある出力:

コピー
現在のレイアウト上のすべてのフィールド:
製造日
写真
価格
製品ID
製品名
状況

これらのうち、検索にアクセスできるフィールド:
製品::製造日
製品::価格
製品::製品ID
製品::製品名
製品::状況