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

如何通过REST API为Business Central销售发票行设置4个维度值

解决Business Central API设置销售发票行多维度的方法

核心思路

确实需要通过**维度集条目(Dimension Set Entry)**来关联超过2个的维度,整体流程分为:确认目标维度组合是否已有对应维度集、创建新维度集(无匹配时)、将销售发票行与维度集ID关联。

具体API调用步骤

1. 检查现有维度集是否匹配

调用Dimension Set Entry接口查询,过滤条件设为你需要的4个维度的编码与值组合:

GET {BC Endpoint}/dimensionSetEntries?$filter=(DimensionCode eq 'DIM1' and DimensionValueCode eq 'VAL1') and (DimensionCode eq 'DIM2' and DimensionValueCode eq 'VAL2') and (DimensionCode eq 'DIM3' and DimensionValueCode eq 'VAL3') and (DimensionCode eq 'DIM4' and DimensionValueCode eq 'VAL4')

如果返回结果中有相同维度组合的条目,提取它们共同的Dimension Set ID即可直接复用。

2. 创建新维度集(无匹配组合时)

若未找到对应维度集,需先创建维度集头,再添加维度条目:

  • 第一步:创建维度集头(Dimension Set Header)
POST {BC Endpoint}/dimensionSetHeaders
Content-Type: application/json

{}

请求会返回一个新的Dimension Set ID,请记录该值。

  • 第二步:添加4个维度条目
    针对每个维度值,重复发起以下POST请求,替换对应的维度编码和值:
POST {BC Endpoint}/dimensionSetEntries
Content-Type: application/json

{
  "DimensionSetID": "新生成的维度集ID",
  "DimensionCode": "DIM1",
  "DimensionValueCode": "VAL1"
}

3. 关联维度集到销售发票行

创建或更新销售发票行时,直接设置Dimension Set ID字段,无需再填写快捷维度:

POST {BC Endpoint}/salesInvoiceLines
Content-Type: application/json

{
  "DocumentType": "Invoice",
  "DocumentNumber": "INV-001",
  "LineNumber": 10000,
  "ItemNumber": "ITEM-001",
  "Quantity": 1,
  "DimensionSetID": "目标维度集ID"
}

注意事项

  • 确保API权限包含Dimension Set Header和Dimension Set Entry表的读写权限。
  • 维度集可重复复用,建议优先查询再创建,避免生成重复组合。
  • 若需修改已存在的销售发票行维度,使用PATCH请求更新DimensionSetID字段即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 01:35:22