# 带着业务系统表单跑

# 一、核心概念

带着第三方表单跑

  • 定义:业务流程直接使用业务系统原有表单
  • 特点
    • BPM系统仅负责流程控制
    • 无需在BPM中重新开发表单
    • 通过formUrl参数关联业务系统表单

# 二、详细实现步骤

# 2.1 API方式实现

# OpenAPI调用示例

文件位置:SourceCode/Demo/OpenAPI/StartProcessInstance.css

方法:StartProcessInstanceWithThirdPartyFormAsync,找到88行,这里的代码就是发起流程,并带着第三方单子跑。

// 关键参数:
formUrl = "https://www.iciba.com/word?w=aaa" //第三方表单

# .NET简化调用(Yiez.Client)

文件位置:SourceCode/Demo/GrpcAPI/StartProcessInstance.css

方法:StartProcessInstanceWithThirdPartyFormAsync,找到63行,这里的代码就是发起流程,并带着第三方单子跑。

// 关键参数:
FormUrl = "https://www.iciba.com/word?w=aaa";  // 第三方表单URL

# 2.2 信号触发方式

  • OpenAPI

参考安装包中的演示代码:SourceCode/Demo/OpenAPI/Signal.cs,在80行找到SignalStartProcessInstaceWithThirdPartyFormAsync方法。

// 关键参数:
formUrl = "https://www.iciba.com/word?w=aaa" //第三方表单
  • Yiez.Client

参考安装包中的演示代码:SourceCode/Demo/GrpcAPI/Signal.cs,在53行找到SignalStartProcessInstaceWithThirdPartyFormAsync方法。

// 关键参数:
formUrl = "https://www.iciba.com/word?w=aaa" //第三方表单

信号发起关键配置

  1. 在流程设计器中打开信号开始节点属性
  2. 进入"事件数据"页签
  3. 定义formUrl字段
  4. 展开$ProcessInstance
  5. 将信号中的formUrl映射到FormUrl参数
  6. 保存流程配置

信号发起关键配置 ▲ 信号发起关键配置

# 三、验证测试

  1. 通过API或信号发起流程(携带formUrl参数)
  2. 在流程门户查看待办任务
  3. 打开任务确认:
    • 是否正常加载第三方表单
    • 表单功能是否正常可用

# 四、注意事项

  1. 第三方系统需要支持URL直接访问
  2. 需单独配置单点登录(详见专门章节)
  3. 表单URL需要保持稳定可访问

# 五、典型应用场景

  • 已有成熟业务系统表单
  • 需要快速接入审批流程
  • 避免表单重复开发