Business Dynamics 365 API:无法仅获取启用Web/电商的物料
筛选Dynamics 365 API中Web/电商可见物料的方案
问题背景
使用Dynamics 365 API获取Microsoft Business Central物料时,默认接口无法返回物料的Web/电商端可见状态参数,导致只能拿到全量物料,无法直接满足仅展示Web启用物料的需求。
解决办法
1. 扩展标准Item API字段
默认的Item API确实未包含Web发布状态字段,可通过以下步骤扩展:
- 在Business Central后台为物料表添加自定义字段,将系统内的Web可见配置同步到该字段中。
- 扩展标准Item API,把自定义字段加入返回字段列表。扩展完成后,即可用
$filter参数筛选,示例请求:GET /companies({companyId})/items?$filter=webIsEnabled eq true
2. 搭建自定义OData服务
如果无法修改标准API,可创建自定义服务:
- 在Business Central中基于物料表创建仅包含Web启用物料的自定义视图,关联物料ID及所需字段。
- 发布该自定义OData服务,直接调用此服务即可获取目标数据,省去后续筛选步骤。
3. 排查电商关联实体
若启用了Business Central的电商集成模块,Web可见状态可能存储在专属的关联实体中(如与电商配置绑定的物料扩展表),可尝试查询对应OData实体,通过物料ID关联获取发布状态。
内容的提问来源于stack exchange,提问作者Tarannum
相关产品推荐
相关产品推荐

