【问题标题】:Post data to custom AL field in Business Central将数据发布到 Business Central 中的自定义 AL 字段
【发布时间】:2022-01-28 09:13:11
【问题描述】:

我正在尝试创建一个 API 调用,以将数据添加到使用 AL 扩展在销售订单页面上创建的自定义字段中。问题是当我尝试通过邮递员进行 api 调用时,我得到“类型‘Microsoft.NAV.salesOrder’上不存在属性‘propertyName’”。首先,我什至不知道 API 是否允许这样做,那有可能吗?其次,如果可能的话,是否有某种方法可以通过 AL Extension 设置 API 调用或 Field?

tableextension 50100 "AddProjectIdToSalesOrder" extends "Sales Header"
{
    fields
    {
        field(50100; "CrmProjectId"; Guid)
        {
            Caption = 'Crm Project Id';
            DataClassification = OrganizationIdentifiableInformation;
        }
    }
}

pageextension 50100 "AddProjectIdToSalesOrder" extends "Sales Order"
{
    layout
    {
        addlast(General)
        {
            field("CRM Project Id"; Rec.CrmProjectId)
            {
                ApplicationArea = all;
                ToolTip = 'The Guid of the related Project Record in the CRM environment';
            }
        }
    }
}

这就是我使用 AL 扩展设置字段的方式,对于 post call,我只是创建一个带有帖子的新销售订单,正文如下所示:

{
    "customerNumber" : "10000",
    "CrmProjectId" : "random-guid"
}

错误是“错误请求”:“类型 'Microsoft.NAV.salesOrder' 上不存在属性 'CrmProjectId'。确保仅使用类型定义的属性名称。”任何帮助将不胜感激。

【问题讨论】:

    标签: dynamics-crm dynamics-business-central dynamics-al


    【解决方案1】:

    销售订单 API 是一个单独的页面。它不等同于销售订单页面,因此您必须修改 API 以完成您想要的。

    但微软提供的标准 API 无法扩展。

    你有两个选择:

    • 制作标准销售订单 API 的副本(这涉及制作所有链接的 API 以及销售线 API 的副本)。
    • 创建一个新的 API 页面,其唯一目的是更新您的新字段。然后,您将使用标准销售订单 API 创建销售订单,然后通过对自定义 API 页面的第二次调用来更新 CrmProjectId。

    【讨论】:

      猜你喜欢
      • 2023-02-19
      • 2021-01-15
      • 2022-08-12
      • 1970-01-01
      • 2022-11-04
      • 2019-01-11
      • 2020-10-09
      • 1970-01-01
      • 2021-01-02
      相关资源
      最近更新 更多