如何使Visual Studio Code识别BC自定义表并支持API访问?
让Business Central自定义表可通过API访问的操作步骤
1. 开启自定义表的API访问基础配置
- 在VS Code的AL表文件中,设置自定义表的
DataClassification属性为ToBeClassified或对应业务分类(如CustomerContent),这是API访问的必要前提。 - 指定表的
ODataKeyFields属性,填入表的主键字段(比如自定义的Id字段),OData需要明确主键来识别单条记录。
2. 创建对应自定义表的API页对象
自定义表无法直接通过原生API访问,必须创建专属的API页来暴露数据:
- 在AL项目中新建Page对象,类型选择
API,示例代码如下:
page 50100 "Custom API - MyCustomTable" { PageType = API; APIPublisher = "your_company_name"; APIGroup = "custom_api_group"; APIVersion = "v1.0"; EntityName = "myCustomTable"; EntitySetName = "myCustomTables"; SourceTable = "My Custom Table"; // 替换为你的自定义表名 SourceTableTemporary = false; layout { area(content) { repeater(Main) { field(id; Rec.Id) { } // 主键字段 field(customField1; Rec."Custom Field 1") { } // 自定义表字段 field(customField2; Rec."Custom Field 2") { } // 添加需要暴露的其他字段 } } } }
- 替换代码中的
APIPublisher、APIGroup、SourceTable等参数为实际值,EntityName和EntitySetName需遵循OData命名规范(小写、无空格)。
3. 发布AL项目到BC环境
- 在VS Code中按
F5启动调试并发布,或使用Publish命令将自定义API页部署到目标BC环境。 - 发布完成后,可在BC系统中搜索“API”,在API列表中找到你创建的自定义API条目。
4. 验证API访问有效性
- 构造OData访问地址:
https://<你的BC环境地址>/api/your_company_name/custom_api_group/v1.0/companies(<公司ID>)/myCustomTables - 在浏览器或接口测试工具中访问该地址,确认能正常返回自定义表的数据。
5. 解决AL Query Wizard不显示自定义表的问题
- 执行
Download Symbols命令更新BC环境符号,确保AL项目已同步最新的自定义对象信息。 - 重启VS Code后,再次打开AL Query Wizard,即可选择你创建的自定义API实体来生成查询。
内容的提问来源于stack exchange,提问作者Alec Zrike
相关产品推荐
相关产品推荐

