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

如何通过Dynamics Business Central API创建含位置代码的物料?

在Business Central API中创建带位置编码的物料

可以通过API创建关联位置编码的物料,但位置信息不属于物料主数据的直接字段,需要通过关联的itemLocations实体来绑定,下面是具体解决方法:

方案1:先创建物料,再关联位置

  1. 用你提供的JSON先成功创建物料实体,确保物料已存在于系统中。
  2. 调用itemLocations端点,为该物料绑定位置编码,请求体示例:
{
  "itemId": "物料的UUID",
  "locationCode": "你的目标位置编码(比如WHSE01)",
  "quantity": 0 // 初始库存可设为0,后续按需调整
}

请求URL格式:

https://api.businesscentral.dynamics.com/v2.0/[租户ID]/[环境名称]/api/v2.0/companies/[公司ID]/items/[物料ID]/itemLocations

方案2:创建物料时同时关联位置(一步完成)

利用BC API的OData深度插入(Deep Insert)功能,在创建物料的JSON中嵌套itemLocations数组,一次性完成物料创建与位置绑定:

{
  "number": "1896-S",
  "displayName": "ATHENS Desk",
  "type": "Inventory",
  "itemCategoryId": "e21a6a90-44e3-ea11-bb43-000d3a2feca1",
  "itemCategoryCode": "TABLE",
  "blocked": false,
  "gtin": "",
  "unitPrice": 1000.8,
  "priceIncludesTax": false,
  "unitCost": 780.7,
  "taxGroupId": "9f196a90-44e3-ea11-bb43-000d3a2feca1",
  "taxGroupCode": "FURNITURE",
  "baseUnitOfMeasureId": "5ca6738a-44e3-ea11-bb43-000d3a2feca1",
  "baseUnitOfMeasureCode": "PCS",
  "itemLocations": [
    {
      "locationCode": "WHSE01",
      "quantity": 0
    }
  ]
}

注意:该功能需要API版本在v2.0及以上,且你的权限需覆盖物料和位置关联实体的操作。

关于添加库存时的报错说明

你之前添加库存时提示“location code is required”,是因为库存记录(如itemLedgerEntries)必须关联具体位置,而此时物料还未绑定任何位置。解决方式有两种:

  • 先按上述方案绑定位置,再添加库存;
  • 添加库存时直接在请求体中指定locationCode或locationId,示例:
{
  "itemId": "物料UUID",
  "locationCode": "WHSE01",
  "quantity": 10,
  "entryType": "Purchase"
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 08:00:32