3 评论

1 收藏

分享

[产品更新] 工作流的专业“Debug”工具 逐步跟踪执行全过程

引用 @大家在写工作流过程中,以及工作流的执行中,都会遇到很多的“困难”,例如:
  • 表达式写错后,不清楚具体哪里写错了
  • 表达式执行的结果,得等保存后,执行时才能验证
  • 调试工作流的执行结果,只能不同的删除、保存、验证、再修改,特别繁琐
  • 对于正式的数据,也不敢随意调试
  • 工作流执行过程中,会逐级链式触发,但出了问题却很难追踪执行过程

为了降低工作流的编写设计难度,更快的定位解决问题,我们决心深度优化工作流从设计到执行的各个环节,让工作流“看得见、摸得着”!

1、表达式的错误提示优化

为了让提示文案更明确易懂,我们重新梳理了表达式当中可能出现的各种错误,1000余个,并逐一校正错误提示的文案。同时,将错误的位置更准确的在表达式中反馈出来,让编写者更快的定位问题。


只要编写完表达式,在输入框外面点一下,就会立即看到表达式的校验结果了。

例1:DATEADD() 函数的第一个参数需要一个日期类型的变量,或者日期格式的文本,如果写错了就会看到图中的提示,是不是很明确呢?
1.png

例2:在比较长的表达式中,如果漏掉了一个“引号”、“括号”是非常难找到准确的遗漏位置的,现在是不是很好找了呢?
2.png

我们后续还会不断的完善这些报错的提示信息,力争做到所有的错误,都可以“找的到,看的懂,改的对”。

2、设定调试数据,实时计算表达式的执行结果


为了让工作流在设置期间,就可以及时获取执行结果,用以验证正确性,我们增加了工作流的“模拟运行”。

进入工作流后,在顶部来开启“模拟运行”。开启后,会出现触发数据的设置。
触发数据,是用来模拟触发此工作流执行的初始化数据,工作流中的“当前数据”及字段,就可以通过触发数据来确定执行时具体的值的。触发数据可以从当前表格的已有数据中选择,确定数据后还可以选择该数据的历史版本,用来做历史问题的验证。

当然,不同的触发动作,可以选择的触发数据有一定的区别,比如基于数据触发的手动工作流,就只可以选择根据条件筛选出的数据。


3.png

设置触发数据后,可以看到下面的表达式就已经实时的计算出响应的结果了。如果你继续编辑工作流,点击表达式下面的“=”,也可以立即重新计算。不同类型的表达式,会提供不同的计算结果,比如返回关联数据的,结果会返回数据,点击即可查看。

4.png

比如作为修改数据的查找条件的,结果会返回找到的数据列表,选择指定数据后,可以继续计算修改这条数据的后续表达式计算结果。

5.png

3、表达式执行的中间过程拆解

上面可以将表达式实时计算出结果了,但是对于比较长的表达式,最后的结果如果不正确,还是不便于调试具体哪个环节出错了。

这时可以进入表达式的“大屏编辑”,然后点击底部的“查看执行过程”,就可以看到表达式执行的中间过程,会把每一步的计算结果全部罗列出来,酷不酷!鼠标放到右侧执行过程的每一行,在左边的表达上都会高亮对应的代码,这样可以更直观的显示出每个代码的执行结果。

6.png

7.png

4、工作流执行链


在A表创建数据后,触发A1、A2工作流,A1修改B表后又会触发B1、B2的工作流,以此类推。这里反应了一个工作流逐层触发的简单过程,在这样的过程中如果某个中间环节的赋值出错了,往往很难追溯是哪条数据触发后才一步一步导致的。

现在就可以通过“工作流执行链”来详细查看一次工作流的完整执行链路过程。

入口

1)在数据的动态中,鼠标放到“工作流”几个字上,点击“查看工作流执行链”

9_1.png

2)在工作流的执行日志后,鼠标点击每条日志最前面的图标

9.png


查看执行链

点击后就可以看到工作流执行链了,会通过当前数据,或当前日志,逐层向前查找工作流的执行过程。在执行过程中,就可以看到底是通过那个工作流的那个执行结果的影响而导致的数据变化。同时还可以主动的向后继续查看,当前数据,或当前日志的这次变化,还会导致哪些后续的影响。

在工作流的执行结果中,详细的记录了本次执行结果,带来了哪些影响。比如具体修改了那些数据,给谁发出了什么样的通知等等~

10.png


通过以上的工作流优化,相信工作流的配置与运行会越来越合理和稳定!




回复

举报 使用道具

相关帖子
全部回复 (3)
查看全部
太给力了!!!

举报 回复 使用道具

打CALL~

举报 回复 使用道具

打CALL~ 真不容易

举报 回复 支持 反对 使用道具

吴杨(11012)
管理员
主题 38
回复 63
粉丝 0
|网站地图
快速回复 返回顶部 返回列表