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

通过Business Central API创建带计量单位的采购发票行失败

采购发票行添加计量单位报错问题

我尝试创建如下采购发票行:

{
  "itemId":"be04fb82-fdaa-ee11-a568-0022489c7d90",
  "quantity":152.0,
  "expectedReceiptDate":"0001-01-01", 
  "description":"External number Solgt af Firstname Lastname",
  "unitOfMeasureId":"01e0edc8-2022-ed11-90eb-000d3ade9914"
}

使用的计量单位来自GET请求,信息如下:

{
  "@odata.etag": "W/\"JzIwOzEyOTI4MTAyNzc4MjEyNDI3MDQwMTswMDsn\"",
  "id": "01e0edc8-2022-ed11-90eb-000d3ade9914",
  "code": "KG",
  "displayName": "Kilo",
  "internationalStandardCode": "KGM",
  "symbol": "",
  "lastModifiedDateTime": "2022-08-22T13:47:22.113Z"
}

不带unitOfMeasureId时可成功创建,但添加该字段、设置unitOfMeasureCode为KG(或同时设置两者)时,会收到404响应及如下错误信息:

{
  "error": {
    "code": "Internal_InvalidTableRelation",
    "message": "The field Unit of Measure Code of table Purch. Inv. Line Aggregate contains a value (KG) that cannot be found in the related table (Item Unit of Measure).  CorrelationId:  9feff4b3-9595-4a2e-847d-9f314a0bec35."
  }
}

无论是否设置unitOfMeasureCode,或仅设置unitOfMeasureCode,错误信息均一致。请问是否必须使用物料的baseUnitOfMeasure?


解答

错误原因很明确:你使用的计量单位KG未被配置为当前物料允许使用的计量单位。系统中的计量单位是全局存在的,但每个物料需要单独维护可使用的计量单位列表(对应Item Unit of Measure表),即便KG是全局有效的计量单位,只要没给目标物料配置这个单位,就无法在该物料的采购发票行中使用。

不是必须使用物料的baseUnitOfMeasure,但你选用的计量单位必须是该物料已经配置过的(能在Item Unit of Measure表中找到对应条目)。

解决方案

  • 先查询目标物料(itemId: be04fb82-fdaa-ee11-a568-0022489c7d90)的Item Unit of Measure列表,确认KG是否在其中
  • 如果不在,需要先给该物料添加KG作为允许使用的计量单位,之后再提交发票行创建请求
  • 或者直接改用该物料已配置好的计量单位(包括baseUnitOfMeasure)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 01:36:13