连接任何 ERP

SkyPlanner 的开放 REST API 可连接 ERP、MES 和运营系统,包括内部 ERP。您可以自行构建集成,也可以让我们的团队协助。

也可独立运行 — ERP 集成是可选的,非必需的。

讨论集成项目

连接 ERP 和 MES 系统,如

集成 / ERP / Microsoft Dynamics 365 Supply Chain Management

Dynamics 365 Supply Chain Management 集成指南:使用 SkyPlanner APS 进行生产排程

本 Dynamics 365 Supply Chain Management 集成指南面向合作伙伴和 IT 团队,介绍如何将 Microsoft Dynamics 365 Supply Chain Management 与 SkyPlanner APS 对接。SkyPlanner 通过 Dynamics 365 Supply Chain Management 的标准数据实体实现双向集成:

  • 导入生产订单、工艺路线工序、工艺路线作业、BOM 行、资源、日历、已发布产品、现有库存和采购订单行。
  • 将排程确定的开始时间、结束时间及所选资源回写到生产订单及其工艺路线工序。
  • 通过工艺路线卡日记账回传操作员工时和数量。
  • 排程发生变化时,SkyPlanner webhook 会即时推送。
SkyPlanner APS 甘特图时间轴,显示各工作中心的生产任务安排,下方为订单列表。

SkyPlanner 团队会在实施阶段根据您的 Supply Chain Management 配置完成集成设置,并在上线后提供支持。本指南适用于希望参与集成的合作伙伴和开发人员,也适用于希望参照文档,自行基于 SkyPlanner REST API(API 参考)进行开发的人员。

Dynamics 365 SCM 集成方式

Supply Chain Management 通过数据实体对外提供数据。与排程相关的集成方式有四种:

  1. OData v4 REST 端点。[Your organization's root URL]/data 对外提供所有标记为 IsPublic 的数据实体,完整支持创建、读取、更新和删除操作。它支持 $filter、$count、$orderby、$skip、$top、$select 以及第一级 $expand。分页由服务器控制,每页最多 10,000 条记录;批处理请求可通过变更集将多项写入操作分组。OData 采用同步方式。(来源)
  2. 批量数据 API。Data management package REST API 和定期集成以异步方式传输大量数据。Microsoft 文档指出:”If the volume is more than a few hundred thousand records, use the batch data API.”(如果数据量超过几十万条记录,请使用批量数据 API。)本地部署也支持此 API。(来源)
  3. 业务事件。Finance and operations 应用将业务事件发布到 Azure Service Bus、Event Grid、HTTPS 端点或 Power Automate。(来源)
  4. 自定义服务和 OData 操作。X++ 自定义服务和绑定的 OData 操作可按需执行业务逻辑。

SkyPlanner 集成通过 OData 端点处理日常数据传输,并使用批量数据 API 完成大规模初始导入。无需在 Supply Chain Management 中安装任何组件。

身份认证

在 Microsoft Entra ID 中注册应用程序(服务主体)。在 Supply Chain Management 中,将该应用程序映射到具有集成所需安全角色的用户。集成需要读取生产、资源和库存数据,并写入生产订单排程和日记账。使用客户端凭据向 Entra ID 请求令牌。

集成可访问的数据由以下两项规则决定:

  • 法人实体。除非请求中添加 ?cross-company=true,否则 OData 只返回默认公司的数据。多站点工厂通过 dataAreaId 筛选数据。
  • 公开名称。下文列出的实体名称是数据管理中的名称,可能与公开的 OData 集合名称不同,因此请从您环境的 /data/$metadata 中读取实际名称。

SkyPlanner 的 REST API 使用 API 令牌进行身份认证(SkyPlanner Settings > API),并提供 Swagger/OpenAPI 文档。集成教程会逐步介绍最初几次调用的操作。

数据映射

D365 SCM 实体SkyPlanner 对象传输方向同步频率
已发布产品(ItemNumber)产品和物料SCM → SkyPlanner初始导入,之后增量同步
生产 BOM 行(ProdProductionOrderBillOfMaterialsLineEntity)、BOM 行产品结构、各订单所需物料SCM → SkyPlanner随每次订单同步
工艺路线、工艺路线版本、工艺路线工序、工序属性(RouteOperationPropertiesV2Entity)工序及其准备时间和加工时间SCM → SkyPlanner初始导入,之后在变更时同步
资源(OpResOperationsResourceEntity)、资源组、能力工作中心、工作中心组、效率SCM → SkyPlanner初始导入,之后很少同步
工作时间日历、日历日期和时间段、日历分配班次SCM → SkyPlanner每天同步,或在 SkyPlanner 中维护班次
生产订单头(ProdProductionOrderHeaderEntity)订单及其交期和状态SCM → SkyPlanner每隔几分钟,或由业务事件触发
工艺路线工序(ProdProductionOrderRouteOperationEntity)、工艺路线作业(ProdProductionOrderRouteJobEntity)生产任务及其时长和资源需求SCM → SkyPlanner随每次订单同步
现有库存库存结存SCM → SkyPlanner每小时,或运行排程时
采购订单行及其交货日期待到货物料;采购订单标记为 Delivered 时更新库存SCM → SkyPlanner每小时,或运行排程时
各工艺路线工序的排定开始及结束日期/时间、工序资源各工序的计划开始时间、结束时间和工作中心SkyPlanner → SCM排程变更时,通过 SkyPlanner webhook 同步
工艺路线卡日记账(ProdRouteCardProductionJournalEntryEntity: RegisteredHours, ReportedGoodInventoryQuantity)工时记录和数量SkyPlanner → SCM若启用,则按每次报工或每个班次同步
SkyPlanner 约束设置准备时间矩阵、作为有限资源的工具、操作员人数、替代资源在 SkyPlanner 中维护实施阶段设置

集成模式

1. 主数据初始导入。导入资源、资源组、日历、已发布产品、工艺路线和 BOM。数据量达到数十万条记录时使用批量数据 API,否则使用 OData 分页。将每个 SCM 资源映射到一个 SkyPlanner 工作中心。不要只映射资源组:工序排程预留的是资源组,但车间实际使用的是具体资源。

2. 订单同步。读取状态属于 SkyPlanner 管理范围的已确认生产订单,通常为 Scheduled 和 Released 状态,并读取其工艺路线工序、工艺路线作业和 BOM 行。同时读取未结采购订单行。SkyPlanner 将已订购物料视为在采购订单交货日期可用,并在采购订单标记为 Delivered 时更新库存。

除非明确纳入集成范围,否则不要同步计划生产订单。Planning Optimization 每次运行都会重新生成这些订单。

3. 排程回写。对于排程引擎已安排或调整的每道工序,SkyPlanner 会将排定的开始及结束日期/时间和工序资源写入对应的工艺路线工序,字段名称以您环境中的 /data/$metadata 为准。变更通过 OData 批处理变更集提交,确保每次排程运行的结果作为一次一致的更新写入。

4. 车间报工。操作员通过 SkyPlanner Mobile Confirmations 或 Production Timer 记录作业,工时记录会让排程保持最新。工时和合格品数量可通过工艺路线卡日记账行回传。Report as finished 仍在您当前使用的系统中处理,即 SCM 或 Production floor execution。

每类过账只选用一个渠道。如果从 SkyPlanner 和 Production floor execution 同时登记相同工时,就会造成重复记录。

5. 数据管理归属与冲突处理规则。上线前应将以下规则书面明确:

数据负责系统
产品、BOM、工艺路线、数量、订单状态、成本核算Supply Chain Management
计划生产订单Planning Optimization
工序顺序、排定的开始和结束时间、资源分配SkyPlanner
准备时间矩阵、工具、操作员人数、替代资源SkyPlanner
班次和缺勤由一个系统负责,在范围评估时确定
工时和产出过账Supply Chain Management;若选用 SkyPlanner 工时记录,则从中获取数据

冲突主要来自 SCM 自身的作业排程。如果计划员在 SCM 中重新安排订单,就会覆盖 SkyPlanner 的排程日期。对于由 SkyPlanner 负责排程的订单,请在生产订单头上使用 IsProductionOrderSchedulingLocked。凡是在 SCM 中修改过的订单,都应视为新版本并重新同步;生产发生变化时,Autopilot 会自动重新排程。

项目包含哪些工作

实施通常在上线准备启动后的数周内完成。在此之前,您可以用自己的数据进行 30 天免费试用。通过数据管理导出项目或 Excel 加载项导出资源、工艺路线和未结生产订单,再以 CSV 或 Excel 格式导入,验证排程结果。

  1. 范围评估。确定映射表、由 SkyPlanner 管理的订单状态、同步频率和过账通道。
  2. 访问配置。注册 Entra ID 应用程序,将其映射到仅授予必要角色权限的 SCM 用户,并在 /data/$metadata 中确认公共实体名称。先在沙盒环境中配置,再部署到生产环境。
  3. 初始加载。加载资源、日历、已发布产品、工艺路线和 BOM。
  4. 订单与采购订单同步。使用 $filter 轮询已变更的记录;如果业务事件目录中有相应事件,也配合使用。
  5. 在 SkyPlanner 中配置约束。设置准备时间矩阵、工具、操作员人数,以及替代设备或人员。
  6. 排程回写。批量更新工艺路线工序,并锁定由 SkyPlanner 管理的订单,防止其被重新排程。
  7. 并行测试。将 SkyPlanner 与现有计划并行运行,对比日期,修正主数据。
  8. 上线。确认数据一致后,启用回写。

Dynamics 365 SCM 集成中需要提前考虑的问题

  • 避免重复计算效率影响。SCM 按照以下公式计算:“Scheduling time = Time x 100 / Efficiency percentage.”(排程时间按效率百分比折算。)将效率映射到 SkyPlanner 工作中心效率时,只应用一次,不要在已经调整过的时间上再次应用。
  • 日历分配在资源组上。需要读取各资源组和资源的日历分配,否则产能计算会出现偏差。
  • 工序排程与作业排程的区别。采用工序排程的订单没有具体的开始和结束时间,也没有指定资源。同步时需包含工艺路线工序和资源需求,不能只同步日期。
  • 有限产能标志。Finite capacity 设为 No 的资源在 SCM 中可能被超额安排。在 SkyPlanner 中,应将每项实际约束都建模为有限产能约束。
  • 每道工序最多 32 个资源。SCM 的作业排程将每道工序的资源数量上限设为 32。在 SkyPlanner 中,替代资源通过工作中心组和替代工作中心配置。
  • 分页与数据量。OData 每页最多返回 10,000 条记录,展开深度为一层。大批量初始加载应使用批量数据 API。
  • 法人实体。如果不使用 cross-company=true 和 dataAreaId 筛选条件,涉及多家公司的工厂只会同步默认公司的数据。

谁来配置集成

配置工作包括根据您的工艺路线、资源及 SCM 配置建立映射,以及在 SkyPlanner 中设置约束:准备时间矩阵、工具、操作员人数和替代资源。

  1. SkyPlanner 团队在上线准备期间完成配置,并在上线后提供支持,范围涵盖 SkyPlanner 端及双方约定的 SCM 数据实体。每家工厂使用 D365 SCM 的方式都不同,配置时需要将这些实际经验融入其中。
  2. 您的 Dynamics 合作伙伴可以参与。合作伙伴熟悉您的配置、扩展和安全角色,可以设置 Entra ID 应用程序及实体访问权限。SkyPlanner 提供 REST API、Swagger/OpenAPI 文档和 webhook。
  3. 您自己的开发人员也可以在此基础上开发,使用同一套有文档支持的 REST API,通过 API 令牌访问。有 API 令牌即可开始,SkyPlanner 团队会在需要时提供协助。

连接完成后,Arcturus 引擎根据 SCM 中的实时生产订单进行排程,并将排定日期写入工艺路线工序。SkyPlanner 每月 199 € 起,包含 5 个工作中心,按月计费。我们会根据您的流程和需求,提前将集成费用与所选套餐一并报价,让您在开始前了解全部成本。

阅读Dynamics 365 SCM 生产排程,了解 SCM 自带计划功能与 SkyPlanner 的对比。集成概览见 Dynamics 365 SCM 页面,其他 ERP 的集成信息见 ERP 集成中心。

开始免费试用 联系销售

制造企业对 SkyPlanner 的评价

UTU 供应链专员 Kalle Kalliomäki 在乌尔维拉的配电盘生产车间

2 小时每周节省的时间

“SkyPlanner 让我们的生产计划告别了 Excel 电子表格,实现了实时生产优化。”

Kalle Kalliomäki,供应链专员
UTU · 配电盘与开关设备

生产计划工作每周节省 2 小时,新的任务队列只需数秒即可下达到产线。

阅读 UTU 的评价

Laboratory & Allied 位于内罗毕的制药厂内,身穿洁净服的操作员在装瓶生产线上工作

+90%生产效率提升

“生产效率提高了 90%。”

Abdul Rucyinga,IT 负责人
Laboratory & Allied · 制药

生产效率提高了 90%,为所有工作中心制定覆盖三个月的优化计划只需不到 30 分钟。

阅读 Laboratory & Allied 的评价

100%自 2021 年以来的准时交付率

“SkyPlanner 让我们看清产能情况,也让计划变得可预测。”

Dan Berglund,首席运营官兼首席财务官(COO/CFO)
Opes Corporation · 化工与食品制造

自 2021 年开始使用 SkyPlanner 以来,准时交付率始终保持在 100%。

阅读 Opes Corporation 的评价

Mamec 首席执行官 Hannu Ryynänen 在公司位于洛赫亚的生产车间

数以 1,000 计自动排程的工单

“我们对生产的掌控与以往不同,对产能的理解也达到了全新的水平。”

Hannu Ryynänen,首席执行官
Mamec · 工业搅拌机、泵及高科技合同制造

数千张工单自动完成排程,整个组织都能实时查看生产情况。

阅读 Mamec 的评价

常见问题

集成使用 D365 SCM 的哪种 API?

使用位于 /data 的 OData v4 REST 端点。该端点公开所有公共数据实体,完整支持创建、读取、更新和删除操作。大批量初始加载使用批量数据 API。如果您的业务事件目录中有相应事件,还可通过业务事件实现近实时触发。

需要在 Supply Chain Management 中安装任何组件吗?

不需要。集成通过 OData 使用标准数据实体。管理员注册 Microsoft Entra ID 应用程序,并将其映射到具备所需角色的 SCM 用户。

排定日期如何回写到 Supply Chain Management?

SkyPlanner 通过 OData 批量更改集,将排定的开始和结束日期/时间以及工序资源写入生产订单的工艺路线工序。由 SkyPlanner 管理的订单通过 IsProductionOrderSchedulingLocked 保护,防止被重新排程。

为什么要连接 SkyPlanner,而不是调整 SCM 的作业排程?

Planning Optimization 只在有限产能时间范围内考虑产能限制,超出该范围则按无限产能编制计划(来源)。SCM 作业排程每次安排一张生产订单,避开已预留的产能,并将准备时间计入工序时间(来源);Microsoft 也建议,当班次导致产能变化时,不要采用考虑有限产能的主计划(来源)。SkyPlanner 使用准备时间矩阵,将所有已确认订单一起排程,Autopilot 则在每次发生实质性变化时自动重新排程。SkyPlanner 团队负责双向集成的配置和支持,您的 Dynamics 合作伙伴可以负责 SCM 端。

SkyPlanner 应该对计划生产订单进行排程吗?

通常不应该。Planning Optimization 每次运行都会重新生成计划生产订单。SkyPlanner 对已确认的生产订单进行排程,具体涵盖哪些状态的订单,在范围评估时约定。

集成支持本地部署的 Supply Chain Management 吗?

本地部署通过批量数据 API 运行集成,这是 Microsoft 在该部署方式下支持的接口。无论采用哪种部署方式,SkyPlanner 端都使用同一套 REST API,具体集成路径会在范围评估时确认。

可以在构建集成之前测试 SkyPlanner 吗?

可以。30 天免费试用最多支持 20 个工作中心,可通过 CSV 或 Excel 导入 Supply Chain Management 数据,无需信用卡。开始试用,或联系销售,评估集成范围。