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

Microsoft Business Central自定义表是否自动支持API 2.0及API构建咨询

关于Business Central自定义表API更新的问题解答

一、自定义表不会自动拥有内置API的更新方法

微软为Business Central内置表预先开发了API 2.0标准端点(比如销售发票的更新接口),但自定义创建的表不会自动生成对应的API操作方法,需要手动配置或开发才能实现REST API的更新功能。

二、构建自定义表可更新REST API的最佳方式

针对新手,推荐两种实用方案:

方案1:创建自定义REST Web Service(快速实现)

这是最简便的入门方案,无需编写代码:

  1. 在BC中配置Web Service

    • 打开Business Central,搜索进入Web Services页面
    • 点击新建,选择你的自定义表(若直接选表,需先为其创建对应的列表页/卡片页,Web Service依赖页面对象)
    • 填写服务名称(如MyCustomTableService),选择服务类型为REST,勾选发布
    • 记录生成的OData URL,格式示例:https://<你的BC环境地址>/ODataV4/Company('{公司名称}')/MyCustomTableService
  2. 发送更新请求示例
    用PATCH请求更新指定记录,请求体为JSON格式的字段数据:

    PATCH /ODataV4/Company('CRONUS%20USA%2C%20Inc.')/MyCustomTableService(1) HTTP/1.1
    Host: your-bc-environment-url
    Content-Type: application/json
    Authorization: Bearer {你的访问令牌}
    
    {
      "CustomField1": "更新后的值",
      "CustomField2": 12345
    }
    

方案2:扩展API 2.0端点(企业级规范方案)

如果需要和内置API 2.0风格保持一致,可通过AL开发扩展API:

  1. 编写AL代码创建API端点
    创建AL扩展项目,添加如下示例代码:

    page 50100 "My Custom Table API"
    {
        PageType = API;
        APIPublisher = 'yourpublisher';
        APIGroup = 'customapi';
        APIVersion = 'v1.0';
        EntityName = 'myCustomTable';
        EntitySetName = 'myCustomTables';
        SourceTable = "My Custom Table"; // 替换为你的自定义表名
    
        layout
        {
            area(content)
            {
                group(General)
                {
                    field(id; Rec."ID") { }
                    field(customField1; Rec."Custom Field 1") { }
                    field(customField2; Rec."Custom Field 2") { }
                }
            }
        }
    }
    

    注:API类型页面默认支持GET/PUT/PATCH/POST/DELETE操作,无需额外编写动作代码。

  2. 发布扩展并使用API

    • 将AL项目编译发布到BC环境
    • 访问API端点,格式示例:https://<你的BC环境地址>/api/v2.0/companies('{公司名称}')/customapi/v1.0/myCustomTables
  3. 更新数据示例请求

    PATCH /api/v2.0/companies('CRONUS%20USA%2C%20Inc.')/customapi/v1.0/myCustomTables(1) HTTP/1.1
    Host: your-bc-environment-url
    Content-Type: application/json
    Authorization: Bearer {你的访问令牌}
    
    {
      "customField1": "API更新后的值",
      "customField2": 67890
    }
    

三、新手注意事项

  • 权限配置:确保BC用户拥有自定义表的修改权限,以及Web Service/API的访问权限
  • 访问令牌:需通过Azure AD获取令牌,测试环境可临时启用基本身份验证
  • 字段命名:API中字段名会自动转为驼峰式(如BC中的Custom Field 1对应API里的customField1)

内容的提问来源于stack exchange,提问作者RWC

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 20:22:48