惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Last Watchdog
The Last Watchdog
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LINUX DO - 热门话题
G
GRAHAM CLULEY
S
Schneier on Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
S
SegmentFault 最新的问题
IT之家
IT之家
阮一峰的网络日志
阮一峰的网络日志
Recorded Future
Recorded Future
I
Intezer
云风的 BLOG
云风的 BLOG
博客园 - Franky
月光博客
月光博客
大猫的无限游戏
大猫的无限游戏
T
Tenable Blog
The Hacker News
The Hacker News
T
The Blog of Author Tim Ferriss
Attack and Defense Labs
Attack and Defense Labs
D
DataBreaches.Net
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
N
News and Events Feed by Topic
有赞技术团队
有赞技术团队
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
N
News and Events Feed by Topic
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
S
Secure Thoughts
The Register - Security
The Register - Security
B
Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
The Cloudflare Blog
Webroot Blog
Webroot Blog
W
WeLiveSecurity
H
Heimdal Security Blog
博客园 - 三生石上(FineUI控件)
V
Vulnerabilities – Threatpost
G
Google Developers Blog
O
OpenAI News
V
V2EX
罗磊的独立博客
博客园_首页
N
News | PayPal Newsroom
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
TaoSecurity Blog
TaoSecurity Blog
Cloudbric
Cloudbric
H
Hacker News: Front Page
博客园 - 叶小钗
T
Tor Project blog
AI
AI

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理, 企事业单位数字化的业务供需本质 – 人人都是产品经理, 医疗智能体·第1讲——医疗信息化重构:从“辅助软件”到“自主智能体”的范式转移 – 人人都是产品经理, 粉丝量就是空气!!! – 人人都是产品经理, 用户说“薯片碎了”,机器回“要买吗?”:意图识别的翻车与破局 – 人人都是产品经理, RAG召回准确率从75到90 我做对了这三件事 – 人人都是产品经理, AI大事件:Anthropic改收费、OpenAI发安全版、手术机器人纳入医保、阿里发布”秒悟” – 人人都是产品经理, Chrome 推出 Skills 新功能,Agent 重塑上网方式 – 人人都是产品经理, GitHub前创始人拿了a16z的1700万美元,做Agent时代的Git – 人人都是产品经理 拷贝或克隆其他 Flutter OH 项目到本地后无法运行 – 人人都是产品经理, 优惠券设计:优惠券创建 – 人人都是产品经理, 不用死磕文档!AI 助手 1 小时搞定飞书 CLI 安装 + 配置 + 知识库 – 人人都是产品经理, 用小龙虾做竞品分析报告:从2天到20分钟,我是怎么做到的 – 人人都是产品经理 用小龙虾做市场分析报告:搞懂这3个公式,市场规模不再靠猜 – 人人都是产品经理, 你早就在做 Harness 工程,只是不知道它叫这个名字 – 人人都是产品经理, Think Long就够?你可能想多了! – 人人都是产品经理, 货代SRM实战:供应商准入怎么做,才能让资源池不是通讯录而是可交付网络? – 人人都是产品经理, 如何做好用户调研?详解基本技巧 – 人人都是产品经理, 木鸟、途家、美团对打,平台春天行动开“卷” – 人人都是产品经理, 入职才发现公司不靠谱?小红书从业者求职避坑指南 – 人人都是产品经理, 美国 AI 三巨头联手封堵,中国 AI 突围之路在何方 – 人人都是产品经理, 小红书,放在需求对面的镜子 – 人人都是产品经理, AI 会带来大规模失业吗? – 人人都是产品经理, 从出单到补货前,我第一次犹豫:该不该放大? – 人人都是产品经理, Flutter 三方库鸿蒙化适配:5 种高效检查方式,快速判断是否需要适配 – 人人都是产品经理, 从做产品进阶拿结果:医美机构产品经理转岗科室运营经理 – 人人都是产品经理, 阿里HappyHorse,一场关于“Token经济”的阳谋 – 人人都是产品经理, To B AI:客户留存落地的观察与思考 – 人人都是产品经理, AI产品的“生命线”——数据采集、标注、清洗的产品化设计 – 人人都是产品经理, 谈谈AI Agent(二):当“孩子”能自己“体验世界”时,你该学什么? – 人人都是产品经理, UI/UX设计师的3层能力进阶,前两层让你活下来,第三层…才是真正的分水岭 – 人人都是产品经理, 2分钟 → 30秒,效率提升75%:B端产品经理如何用「规则枷锁」驯服AI幻觉? – 人人都是产品经理, 还没来得及学OpenClaw,来了个更猛的:Hermes Agent – 人人都是产品经理, AI日报:宇树机器人跑出10m/s刷新世界纪录 – 人人都是产品经理, 一文说透基金互金如何用情绪价值引导用户决策做转化 – 人人都是产品经理, 当浏览器开始替你”看”网页:AI 浏览器正在亲手拆掉它脚下的那张网 – 人人都是产品经理, 0代码,一天时间我Vibe Coding了个网站 – 人人都是产品经理, Hermes 和 OpenClaw 之争,Agent 的能力应该“装上去”还是“长出来”? – 人人都是产品经理 视频生成的“桌子”,字节Seedance 2掀完,阿里快乐马掀 – 人人都是产品经理, 从听不懂到完全信任:我的 Codex 深度产品体验 – 人人都是产品经理, 当虚拟偶像有了北京户口,与真人偶像还有什么区别? – 人人都是产品经理, 会说,远远比会做更重要 —— 对 SBTI 爆火现象的五层观察 – 人人都是产品经理, AI产品经理必看:当“搭环境”比“选模型”更重要,你的认知还在2024年吗? – 人人都是产品经理, 2026年AI产品商业化核心逻辑:从功能demo到规模化营收的3个必破卡点 – 人人都是产品经理, 京东围绕供应链,卷起裤腿下场的那些事儿 – 人人都是产品经理, SBTI一夜刷屏:它赢在了“太会说人话” – 人人都是产品经理, 折扣零售的真相:不是便宜,而是价值感! – 人人都是产品经理, 和甲方吵了一架,最后加钱做了——我学到的ToB产品经理生存法则 – 人人都是产品经理, 和几位小红书操盘手聊了8小时,干货全在这 – 人人都是产品经理, 智谱GLM-5.1登场,开源模型首超Opus4.6!!! – 人人都是产品经理 Anthropic收入凭什么反超OpenAI,终于有人把这事说清楚了 – 人人都是产品经理, 史上最有故事感的技术报告——Claude最强模型Mythos 7个极其精彩的细节 – 人人都是产品经理, 模型不是壁垒,Harness 也不是 – 人人都是产品经理, 抖音本地生活业务思考21 – 人人都是产品经理, Superpowers:145k Star的AI编码框架,到底是什么来头? Superpowers:145k Star的AI编码框架,到底是什么来头? – 人人都是产品经理, OpenAI 的路走错了,Anthropic Harness 解法启示:模型需要实践专科生 – 人人都是产品经理, 画原型图的前一步:设计站点地图 – 人人都是产品经理, 给 DeepSeek 的最后一封催更信 – 人人都是产品经理, 手把手教你用 Claude Code 搭建 AI 营销团队:5 个 Agent、12 项技能,独立完成研究、写作、设计全流程 – 人人都是产品经理, 你以为大模型在学语言?不,它在重新发明语言学 – 人人都是产品经理 所谓Skill,不过是AI时代的工业垃圾 – 人人都是产品经理, 聊一聊内容传播的几个方法 – 人人都是产品经理, 当平台开始吃掉生态:从 OpenClaw 被封杀,读懂 Anthropic 的这盘棋 – 人人都是产品经理, 你装了 10 个 AI 插件,Obsidian 还是一个文件夹 – 人人都是产品经理 关于AI智能体架构演进的系统性思考:从单体试水到多体协同的重构 – 人人都是产品经理, 当“人”变成Skill,我们又该何去何从? – 人人都是产品经理 Mythos 事件:前沿 AI 治理的意外实验 – 人人都是产品经理, 货代CRM:信用与风险管理怎么做,才能把坏账风险拦在放货之前? – 人人都是产品经理, 从HR收集自拍照到员工自助录入——我见证了园区人脸识别从”不可用”到”真好用”的全过程 – 人人都是产品经理 千问闯关AI混沌期:阿里画靶,吴嘉张弓,马云射箭? – 人人都是产品经理,
从0到1构建工作流引擎(二)
橘钻 · 2023-08-31 · via 人人都是产品经理

在构建完整的工作流引擎时,应当遵循哪些功能逻辑和业务逻辑呢?这篇文章里,作者就结合实际工作案例,对功能与逻辑进行了详细拆解,一起来看,或许会对你有所帮助。

最近我做了工作流引擎系统,借鉴了市面上的一些成熟工作流引擎,将其做了一些简化以更适用于实际情况,同时在复盘的时候发现当初踩了一些坑。所以希望以文章的形式写出来构建一个完整的工作流引擎应该有哪些功能模块,哪些功能逻辑,可以抽象哪些业务逻辑,有哪些思考的点。希望对需要的同学有所帮助,也和大家一起讨论改进。

文章分为两篇,由4个板块组成:

  1. 工作流引擎简介;
  2. 从案例出发推演功能;
  3. 功能模块概览;
  4. 功能与逻辑详解。

本文是第二篇,本文包括第四个板块。前三个板块请看《从0到1构建工作流引擎(一)

四、功能与逻辑详解

由上一篇文章中我们知道了一个工作流引擎应该有图中这些功能,本篇文章主要对每个功能进行详解,包括其背后的逻辑、分支情况和思考点。

其中,业务系统管理毕竟维护的频率太低,主要维护哪些字段也需要和开发沟通,组织架构管理也无非是部门信息和人员信息,所以这两块功能就直接跳过。

1. 角色矩阵管理

角色矩阵管理功能主要分为两类,矩阵人员和固定人员,具体解释如下:

  • 矩阵人员:组织架构下会多个部门都会存在的角色,如部门负责人;所以该角色会由多人担任,且对应其所在部门;
  • 固定人员:组织架构下只会固定存在一个的角色,如财务总监,总经理等角色;所以该角色只会由一人担任。

1)矩阵人员操作页面

上图为矩阵人员的列表配置页。通过图中可以看到,左侧功能为矩阵角色的添加维护板块,右侧是角色对应的人员的添加维护板块。

操作逻辑为:

  1. 先添加矩阵人员角色;
  2. 再为角色选择角色变量(数据来源于条件变量管理);
  3. 再选中该角色为其添加人员(人员的数据来源于组织架构管理);
  4. 最后再为人员配置变量值(数据来源于条件变量管理中该条件变量的值)。

这样矩阵人员的数据就配置好了,具体怎么用看后文流程模型管理中描述。但是这里有2个问题:

a. 为什么条件变量是跟着角色走,也就是一个角色一个条件变量,而不是一个人员一个条件变量?

条件变量跟着人员走也可以,但是角色只会存在于一个操作节点中,操作节点的主要目的是对一个变量进行处理,如果有2个及以上变量,为什么不再多设几个操作节点呢。所以这样会增加配置和理解的难度,还不如单纯一点。

还有就是为了防止用户操作过程中选错选漏条件变量等风险,导致流程没有找到对应的审批人。

b. 为什么要有一条默认数据?

比如区域负责人这个角色负责的区域该有东南西北,如果我只配了东南西的3个人员,区域为北的项目走流程时就会因为找不到处理人员而报错。

又比如只有东是一个负责人,南西北是一个负责人,我只需要配东就行了,南西北就直接由默认包含了,因为工作流引擎会优先找非默认的数据,发现找不到就直接找默认那条数据。

所以在变量值很多的情况下,有一条默认数据可以达到2个目的,1是防止漏配,2是简便配置过程和数据。

2)固定人员操作界面

上图是固定人员的列表配置页。通过图中可以看到,左侧功能为固定角色的添加维护板块,右侧同样是角色对应的人员的添加维护板块。

操作逻辑为:

  1. 先添加固定人员角色;
  2. 再选中该角色为其添加人员(人员的数据来源于组织架构管理)就行了,相较于用户矩阵的配置更为简单。

与用户矩阵不同的是,固定人员配置的都是由一个人担任的角色,比如总经理,财务总监此类,不需要由条件变量去判断该由谁去审批。所以一个角色虽然可以为其添加多个人员,但是只能有1个人员的状态开启。

这里有3个思考点:

a. 如果允许多个人员开启会怎么样?

如果直接在固定人员里开启2个及以上人员,流程这个操作节点时,这2个人是会签还是或签呢。

这个思考点可以结合下文流程模型中来看,流程模型中的操作节点是可以添加多个处理人的,所以这是能达到并审目的的。甚至可以用并行网关也是可以达到并审目的。

b. 如果没有矩阵人员这个功能,全靠固定人员来配置需要怎么配?

A部门的部门负责人(张三),B部门的部门负责人(李四),C部门的部门负责人(王五)……也就是有多少个人会参与到审批,就需要配多少个固定角色,并且流程中也需要配多少个操作节点。

c. 例如总经理这类角色是否可以用矩阵人员来配置?

也是可以的,但是在配置条件变量、变量值的时候,还有在流程的后端逻辑处理就需要改变一些规则了,变得更复杂了,同时在操作人员的认知上和配置上来说会比较麻烦。

2. 条件变量管理

条件变量的数据来源于业务系统,如erp、oa等,它的目的是为了将业务系统中的字段与工作流引擎建立映射对应关系;如项目分一级项目和二级项目,一级由XX审批,二级由XXX审批,所以业务系统在发起流程时会记录该项目是一级还是二级,工作流引擎以此来判断该走哪个审批。

而条件变量从用法上可以分两类:

  1. 用于流程模型配置中不同的顺序流;
  2. 用于矩阵人员配置中人员与变量建立关系。

(但是在系统中并没有强制规定某个条件变量是否只能用于顺序流或者矩阵人员,所以这一点是很灵活的)

注意,具体条件变量需要配置哪些字段需要和开发同学沟通,有没有必要单独做一个前端页面需要看实际情况而定,毕竟开发同学可以直接在数据库维护,因为增减字段可能是一个低频次操作。不过做出来有一个好处就是方便查看有哪些变量和变量值,也可以手动维护。

从图中可以看到条件变量包括编码和数据类型,这个编码是在业务系统的数据库中存储的编码,在工作流引擎的数据库中配置是为建立映射对应关系。数据类型包括字符型、布尔型等。

3. 流程模型管理

前面将配置流程所需要用到的元素和数据都已配置好了,接下来就是最重要的流程模型管理了,也就是怎样配置一个完整的流程了。

1)流程模型配置–流转线配置界面

上图是流程模型–流转线的配置页面,流转线也就是图中互斥网关(菱形带×)后的两条线。整个页面主要由三部分组成:

  1. 最上面一排左边是对流程的增删改按钮;右边是对模型或页面的操作按钮;
  2. 中间是可视化编辑器,可对模块进行拖拽添加或修改;
  3. 下面是对操作节点和流转线的配置板块。

基于上图中的这个操作界面,我们要添加一个完整的流程应该怎么做?

  • 第一步:先将流程所需的元素添加完整,如操作节点、网关、流转线、结束节点等;
  • 第二步:再将流转线上的流转条件配置完整(如果没有用到互斥网关可以忽略这一步);
  • 第三步:再将操作节点内各维度的属性配置完整,如处理人、抄送人、操作按钮等;
  • 第四步:保存流程,这时候会进行一系列的判断以确保流程无误。

接下来结合图中的操作界面,我来讲一下这4个步骤每一步的详细操作和判断逻辑。而第一步添加/删除操作节点、网关、流转线的交互逻辑这里就没必要展开说了,我们的主要目的是说说功能逻辑和判断逻辑,所以直接从第二步讲起。

通过上图中下方的弹窗,我们可以看到一个流转线的流转条件是由多个条件共同组成规则,并且每个条件由4个元素组成:

  • a. 逻辑符号:包括并且和或者两个选项,并且代表交集,或者代表合集;
  • b. 条件变量:在条件变量管理中配置的数据;
  • c. 比较符:有包含、不包含、等于、不等于、大于、大于等于、小于、小于等于。比较符的使用需要和开发同学沟通;
  • d. 变量值:在条件变量管理中配置的数据。

然后我们根据几个例子来看一下,具体应该怎么配置:

例1:当项目是海外项目时由分管领导审批,非海外项目由部门负责人审批。

由于只有2个审批人参与,所以我们需要配置2条流转线和其流转条件。

在第一个流转线的流转条件中先选择“是否海外项目”这个条件变量,再选择“包含”这个比较符,最后的变量值选择“是”;在第二个流转线的流转条件中选择“否”就行了。如下图:

例2:当项目是海外项目且是一级项目时由分管领导审批,当项目是海外项目且是二级项目时部门负责人审批,当项目非海外项目时由总经理审批。

可以看出这时是由3个审批人参与了,所以需要配置3条流转线和其流转条件。和例1不同,这时有2个条件变量来参与流程的走向了。所以我们需要配如下3个条件

但问题来了,有2个条件变量,各有2个条件值,实际项目会根据排列组合可以得出4种情况:

  1. 是海外项目,且一级项目
  2. 是海外项目,且二级项目
  3. 非海外项目,且一级项目
  4. 非海外项目,且二级项目

我们只配了3种情况,如果出现第4种情况时或者我配漏了,流程由于找不到满足的流转条件,就会直接挂起。

为了不让流程挂起,我们就需要引入默认流转这个功能(在操作页面的流转条件旁边),我们可以将其中一个流转条件设置为默认流转,这样第4种情况找不到满足的条件时,就会默认走入这一条流转条件。

同时默认除了可以实现逻辑更严密的目的,还有一个好处就是让配置过程更简便,我只需要配前两条流转条件就行,第3条直接设置为默认流转,就不用再配什么流转条件了,在条件变量很多的情况下就显得非常好用了。

例3:前面我们看的都是条件之间是并且的关系,接下来我们看一下或者的关系。

当项目是海外项目或者是一级项目时由分管领导审批,非海外项目或者是二级项目时由部门负责人审批。

这个例子很简单,只需要这样配就行了:

同例1一样,同样有2个条件变量,各有2个条件值,实际项目也会根据排列组合可以得出4种情况:

  1. 是海外项目,且一级项目
  2. 是海外项目,且二级项目
  3. 非海外项目,且一级项目
  4. 非海外项目,且二级项目

情况1、2、3的项目会走流转线1,情况4的项目会走流转线2。

但仔细想一想,情况2的项目也满足流转线2的条件二,那为什么不走流转线2呢?这里面还有一个隐藏逻辑,当逻辑比较符是或者时,出现两个流转线的流转条件有交集时,系统需要从上往下判断,也就是先判断流转线1内的条件一是否满足,再判断条件二是否满足,然后再判断流转线2的条件一和条件二是否满足。

所以当情况2的项目走到流转线1的条件一时就发现满足了,也就不需要再往下找流转线2的条件二了。

例4:我们来看一个复杂的配置情况,只有2个审批人,但是有3个条件变量,每个条件变量各有2个条件值,但混合并且和或者的情况:

由于有3个条件变量和各有2个条件值,实际项目可得出8种项目:

  1. 是海外项目,且一级项目,且工期大于15天
  2. 是海外项目,且一级项目,且工期小于等于15天
  3. 是海外项目,且二级项目,且工期大于15天
  4. 是海外项目,且二级项目,且工期小于等于15天
  5. 非海外项目,且一级项目,且工期大于15天
  6. 非海外项目,且一级项目,且工期小于等于15天
  7. 非海外项目,且二级项目,且工期大于15天
  8. 非海外项目,且二级项目,且工期小于等于15天

以上各类情况流转至流转线如下:

2)流程模型配置–操作节点配置界面

操作节点也就是图中“部门负责人审批”、“分管领导审批”等。与上面流转线配置页面大部分相同,不同的地方是最下面排节点属性配置的字段有些差别。

当流程走向正确的流转线之后,就会来到操作节点,所以我们需要为其配置处理人、操作等,才能让流程走向下一个节点。

我们先看处理人配置弹窗。如图所示,我们可以配置多条处理人数据,每条处理人需要先选择角色类型(矩阵人员或者固定人员),再选择对应的角色,下方就会带出可能参与审批的人员。

矩阵人员前面的案例已经讲过,会由条件变量去判断具体的审批人,这里就不多说了;固定人员就是固定的一个人去审批,没有条件变量参与判断。

需要注意的是审批模式的或签和会签。当处理人配置了多个时,如图中,可能参与审批的人有张三、李四、赵六,如果是或签则需要他们3人其中一人审批通过即可,因为流程会同时流转到他们3人处,;如果是会签,则需要他们3人都通过后,流程才会流转到下一节点。

然后自动完成条件可多选也可不选,当前处理人可能在前面的操作节点中已经存在了并且已经通过了,这里可以不用再次审批;如果处理人是发起人时也可自动通过。设置这个条件的目的是为了加快流程的审批,减少一些不必要的操作。

最后是操作设置,在工作流引擎中勾选了当前审批人可以进行哪些操作后,该功能将在业务系统中展示并使用,这一点需要与开发同学沟通清楚。具体操作按钮的逻辑如下:

  • 提交:该按钮在提交节点中默认选中;提交后则开始审批流,并流转到下一个节点
  • 通过:点击后当前节点通过,并流转到下一个节点
  • 驳回:当前节点不通过,点击后流转到提交人处,需重新提交流程
  • 退回:当前节点不通过,但不是流转到提交人处,而是退回到上一个节点
  • 如果上一个节点是并审,则需要所有人再次通过;如果该节点是并审,退回后再次流转则不需要其他人通过
  • 撤回:如果当前节点通过,流转到下一节点且未通过时,可撤回后重新处理
  • 转办:将流程转给指定人选来处理(前提是该指定人有功能权限)
  • 终止:可直接将当前流程终止,如需操作则要再次提交

说完了操作节点属性配置有哪些功能后,我们再来看几个逻辑问题:

1.如果处理人配置的是矩阵人员,而其角色对应条件变量中在实际发生的流程里没有时怎么办?

比如我先设置了一个角色叫项目经理,条件变量选的是项目等级,张三负责一级项目,李四负责二级项目;然后有个操作节点叫项目经理审批,选择了项目经理这个角色,。但是实际提交的立项流程的表单中没有项目等级这个字段,那实际流程都跑到这个节点了但是又找不到条件变量来判断该由谁去处理该怎么办。

这时有2种处理方式,1是直接将流程挂起,2是默认由角色中配置的第一个人员审批,两种处理各有利弊。

2.同一个条件变量,如果在流转条件中设置了,又在矩阵人员中设置并配到了操作节点会怎样?

这种配法倒不会让流程挂起,也没有逻辑性的问题,但是会让流转条件没有存在的意义了,为了更简化直接配一个操作节点就行了。

4. 流程版本管理

配置完一个完整的流程模型后,我们需要部署。但是一个模型可能前后会进行多次修改,每次修改就需要部署一次,所以一个模型会有多个版本,我们也就需要一个列表来对这些版本进行查看和管理。

更为重要的问题是,一个流程实例(实际发生的流程)可能会经历较长的时间才能审核完,有多个流程实例都在运行中时,所有完成的时间你没法预估,可能这个流程实例走完了下一个又发生了。但这时你又有修改流程的需求,总不可能把流程暂停了不让大家发起吧。

所以就引入了流程版本的概念,可能多个版本共存。比如现在是版本1有10个流程实例在运行中,你在0点改了流程模型并且部署了版本2,那从0点以后发生的流程都是走的版本2,但不会影响之前运行中的10个流程,那10个流程还是走的版本1。

如果这时你又说那10个流程实例走的是错误的版本,需要走流程2,可以将这10个流程实例直接终止,让他们重新发起流程就行了。

所以我们可以看到每个流程版本都有运行中、挂起中、已完成的数据统计(挂起中的数据怎么处理在后文中讲解)

5. 流程监控管理

该列表是所有发生过的和正在发生的流程实例的集合展示,点击列表我们可以进入下一页查看其执行详情:

流程执行详情页主要目的是为查看某一条流程的详细情况,并对其进行相关处理;如因为条件变量、处理人配置等原因未找到正确的处理人,流程将会挂起,此处可选择正确的处理人,以将流程正常运行完结。

本文由 @橘钻 原创发布于人人都是产品经理,未经许可,禁止转载

题图来自 Pixabay,基于 CC0 协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。