驰骋 BPM 平台实体数据流程化处理技术说明书
文档编号: CCBPM-TECH-ENT-FLOW-001
版本号: V1.0
编制依据: Vue3/src/CCFast/CCBill、Vue3/src/bp/en/Map/MapRefMethod.ts 及后端 BP.CCBill.WF_CCBill
适用范围: 实体(Dict / EntityNoName)与流程(Flow)的数据交互设计与配置实施
修订记录
| 版本 | 日期 | 说明 |
|---|---|---|
| V1.0 | 2026-06 | 初版:五种实体数据处理模式、代码映射、设计评估及通用 BPM 对标 |
摘要
驰骋 BPM(CCBPM)将流程对实体数据的操作抽象为 五种配置化模式:新增模式、批处理模式、修改模式、多次业务模式、宿主流程模式。本文档从 实体概念 出发,说明流程如何对 单个实体(一行数据) 与 实体集合(多行数据) 进行增、改、查、绑态等操作;结合前端 Vue3/src 源码给出实现映射;并从 合理性、可操作性、可实践性 三方面评估该划分对开发人员的减负效果;文末附通用 BPM 平台的同类处理方式对照。
一、实体概念与本文研究范围
1.1 实体的定义
在驰骋 BPM 中,实体 是对现实世界事物的数字化建模,例如:车辆、固定资产、员工、供应商等。
| 概念 | 含义 | 代码/存储对应 |
|---|---|---|
| 实体 | 现实世界中的一个具体事物实例 | 业务表中的 一行数据(主键为 OID 或 No) |
| 实体集合 | 同一类事物的全部或部分实例 | 业务表中的 多行数据,由实体列表页(Search)展示 |
| 实体表单(FrmDict / EntityNoName) | 实体的元数据与 UI 定义 | Sys_MapData,EntityType = 2(实体)或 3/5(编号实体等) |
// Vue3/src/WF/Admin/FrmLogic/MapData.ts
// EntityType: @0=独立表单 @1=单据 @2=实体
map.AddTBInt('EntityType', 0, '业务类型', true, true);
打开一条实体记录时,前端由 MyDictFrameWork.vue 加载 卡片页;浏览实体集合时,由 Search 系列页面(如 useSearchNoName.ts)加载 列表页。
1.2 本文研究范围
本文 不讨论 流程引擎内部的节点流转、分合流、父子流程等机制,而聚焦一个问题:
流程如何对单个实体与实体集合进行操作?
驰骋 BPM 的答案是:通过五种 MethodModel 模式,在配置层区分「操作对象是一行还是多行」「数据是否回写」「是否与实体长期绑定」,开发人员 按模式选型 + 向导配置 即可完成大部分场景,无需重复编写集成代码。
1.3 五种模式一览
| 序号 | 模式 | MethodModel | 操作对象 | 核心行为 |
|---|---|---|---|---|
| 1 | 新增模式 | FlowNewEntity |
实体集合(列表) | 流程走完 → 增加一行 实体记录 |
| 2 | 批处理模式 | FlowEntityBatchStart |
实体集合(多选) | 多行实体 → 一条 流程 |
| 3 | 修改模式 | FlowBaseData |
单个实体(一行) | 发起变更流程 → 结束后 回写 该行 |
| 4 | 多次业务模式 | FlowEtc |
单个实体(一行) | 带入实体信息 → 流程 独立存档、不回写 |
| 5 | 宿主流程模式 | FlowHostBill |
单个实体(一行) | 状态字段 + WorkIDOf{FlowNo} 唯一绑定 |
总结:实体与流程的关系,就是通过流程来 操作一行数据、多行数据、修改数据、增加数据。
二、操作维度:单个实体 vs 实体集合
驰骋 BPM 在 UI 与配置层将操作入口分为两类,与「一行 / 多行」严格对应:



被折叠的 条评论
为什么被折叠?



