GetFieldsOnLayout

将布局上的字段列表作为 JSON 数据返回。

格式 

GetFieldsOnLayout( 布局名称 )

参数 

布局名称 - 表示布局名称的文本表达式。如果“布局名称”是空字符串(“”),则使用当前布局。

返回的数据类型 

文本

原始版本 

22.0

说明 

此函数返回 JSON 对象,其中包含有关指定布局上可访问的字段的信息。

符合以下任何条件的字段被排除在外:

返回的 JSON 对象具有以下结构:

复制
{
    "layout_name": "LayoutName",
    "fields": {
        "TableOccurrence::FieldName1": {
            "type": "字符串",
            "description": "字段注释或评论 (可选)"
        },
        "TableOccurrence::FieldName2": {
            "type": "数字"
        }
    }
}
  • layout_name 键包含布局的名称。

  • 字段对象包含每个可访问字段的键值对。

  • 每个字段的键是其完全限定的名称(例如,TableOccurrence::FieldName)。

  • 每个字段的值都是带有}type键的对象(如果字段的数据类型是数字,则为数字;否则为字符串)。

  • 如果字段在“管理数据库”对话框中定义了注释(参见定义高级字段选项)或评论(参见定义和更改字段),则会包含一个可选的“description”键。如果字段具有两者,则注释用作"description"键的值。如果一个字段只有评论,则使用评论。如果以 [LLM] 开头,则删除 [LLM] 前缀,以便与 FileMaker 26.0.1 之前版本中使用的 [LLM] 标签约定向后兼容。

注释 

示例 1 

返回 JSON 对象,描述产品布局上查找的字段。

复制
JSONFormatElements ( GetFieldsOnLayout ( "产品" ) )

如果“产品”布局包含以下字段:

字段名 注释 注释

创建日期

产品的创建日期

 

价格

以美元表示的产品价格

 

产品 ID

唯一标识产品的主键

产品 ID

产品名称

 

[LLM] 产品的描述性名称

状态

 

 

g_UserFavorites

包含当前用户最喜欢的产品的全局字段

 

该函数返回:

复制
{
    "fields"
    {
        "产品::创建日期"
        {
            "description" : "产品的创建日期",
            "type" : "字符串"
        },
        "产品::价格"
        {
            "description" : "以美元表示的产品价格",
            "type" : "数字"
        },
        "产品::产品ID"
        {
            "description" : "唯一识别产品的主密钥",
            "type" : "数字"
        },
        "产品::产品名称"
        {
            "description" : "产品的描述性名称",
            "type" : "字符串"
        },
        "产品::状态"
        {
            "type" : "字符串"
        }
    },
    "layout_name" : "产品"
}

请注意以下几点:

  • 产品 ID:“description”键包含注释(评论被忽略)。

  • 产品名称:“description”键包含删除了 [LLM] 前缀的评论(不存在注释)。

  • 状态:没有“description”键出现(没有注释或评论)。

  • g_UserFavorites:该字段被完全省略(查找无法访问全局字段)。

示例 2 

返回当前布局上所有字段的列表和当前布局上可查找的所有字段的列表。这可能会指出您不知道无法查找的字段。

复制
Let (
[
    layoutFields = FieldNames ( Get ( 文件名 ) ; Get ( 布局名称 ) ) ;
    findFields = JSONListKeys ( GetFieldsOnLayout ( Get ( 布局名称 ) ) ; "字段" ) ;

    sortedLayoutFields = SortValues ( layoutFields ; 1 ) ;
    sortedFindFields = SortValues ( findFields ; 1 ) ;

    $$result = "当前布局上的所有字段:" & ¶ & sortedLayoutFields & ¶ & 
    "其中,可查找的字段为:" & ¶ & sortedFindFields
] ;
$$result
)

可能的输出存储在产品布局的 $$result 中:

复制
当前布局上的所有字段:
创建日期
照片
价格
产品 ID
产品名称
状态

其中,可查找的字段为:
产品::创建日期
产品::价格
产品::产品ID
产品::产品名称
产品::状态