# 带着业务系统数据跑

# 一、核心概念

# 带着第三方业务数据跑

  • 定义:BPM表单直接操作业务系统数据库
  • 特点
    • 使用BPM系统表单作为操作界面
    • 数据直接读写业务系统数据库
    • 通过businessKey关联具体业务记录
    • 可在审批节点控制字段读写权限

# 二、详细实现步骤

# 2.1 流程发起配置

# 2.1.1 API方式实现

OpenAPI调用示例

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

方法:StartProcessInstanceWithThirdPartyDataAsync,找到136行,这里的代码就是带着业务数据跑的例子

// 关键参数:
 businessKey = "021-2015-0001" //第三方数据主表主键

.NET简化调用

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

方法:StartProcessInstanceWithThirdPartyDataAsync,找到88行,关键也是发起流程时传了BusinessKey

// 关键参数:
 businessKey = "021-2015-0001" //第三方数据主表主键

# 2.1.2 信号触发方式

  • OpenAPI

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

// 关键参数:
 businessKey = "021-2015-0001" //业务系统,需要审批的数据主键
  • Yiez.Client

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

// 关键参数:
 businessKey = "021-2015-0001" //业务系统,需要审批的数据主键

关键配置

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

关键配置 ▲ 关键配置

# 2.2 业务数据库配置

  1. 进入"服务连接"页面
  2. 添加数据库连接(示例:SQL Server)
    • 填写服务器地址、账号密码
    • 测试连接后保存(示例:"CRM数据库")

配置服务连接 ▲ 配置服务连接

  1. 进入"通用数据源"页面
    • 添加数据源,选择刚创建的连接
    • 命名保存(示例:"CRM数据库")

配置通用数据源 ▲ 配置通用数据源

# 2.3 表单存储配置

  1. 打开目标表单设计界面(示例:供应商登记)
  2. 进入"高级设置"页签
  3. 开启"高级存储模式"
  4. 点击"添加存储表",选择业务数据库表(示例:idemo_vendor)
  5. 映射表单字段与数据库字段:
    • 供应商编号 → 对应字段
    • 供应商名称 → 对应字段
    • 联系人 → 对应字段
    • 联系电话 → 对应字段
  6. 保存表单配置

表单高级存储配置 ▲ 表单高级存储配置

# 三、验证测试

  1. 通过API或信号发起流程(携带businessKey)
  2. 在流程门户查看待办任务
  3. 验证内容:
    • 表单是否自动显示业务数据
    • 数据修改是否同步到业务系统
    • 审批节点字段读写控制是否生效

# 四、关键特性

  1. 数据实时同步:表单操作直接反映到业务系统
  2. 精细权限控制:可针对不同审批节点设置字段级读写权限
  3. 避免数据冗余:无需在BPM中存储业务数据副本