You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

循环Page Action表记录无输出?AL代码获取页面动作异常

问题原因与解决方法

直接遍历Record "Page Action"无法获取数据,因为该表属于Business Central的元数据存储表,不支持常规的FindSet()等数据读取操作,必须通过专门的元数据API来获取页面动作信息。

正确实现代码

使用"Page Metadata"和"Page Action Metadata"这两个元数据记录来遍历所有页面及对应的动作:

procedure PopulateActions()
var
    PageMetadata: Record "Page Metadata";
    PageActionMetadata: Record "Page Action Metadata";
begin
    PageMetadata.Reset();
    // 遍历系统中所有页面的元数据
    if PageMetadata.FindSet() then begin
        repeat
            PageActionMetadata.Reset();
            // 筛选当前页面下的所有动作
            PageActionMetadata.SetRange("Page ID", PageMetadata."Object ID");
            if PageActionMetadata.FindSet() then begin
                repeat
                    // 输出动作名称
                    Message(PageActionMetadata.Name);
                until PageActionMetadata.Next() = 0;
            end;
        until PageMetadata.Next() = 0;
    end;
end;

额外注意事项

  • 权限要求:当前执行代码的用户需要拥有Metadata Reader权限集,否则无法读取元数据记录。
  • 自定义页面同步:如果是新增的自定义页面,需要确保页面已发布,元数据已同步到系统中才能被读取到。

内容的提问来源于stack exchange,提问作者TAHER El Mehdi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 03:23:11