flowable子任务没有taskkey

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flowable子任务没有taskkey相关的知识,希望对你有一定的参考价值。

参考技术A 1、嵌套子流程的子流程,子流程嵌入在它的主流程(上图命名为入口流程,主流程是指整个流程图);
2、嵌套子流程的子流程没有流程实例id,主流程有流程实例Id;(流程实例id是指,启动流程之后,会生成的id)
3、嵌套子流程节点区别于任务节点,嵌套子流程没有任务id(taskId),任务节点有任务id(taskId),但,任何类型的节点都有执行id(Id)。(任务id,节点类型为UserTask的,并节点在被触发之后,生成的id)
4、不能人为的启动嵌套子流程的子流程

Flowable入门系列文章22 - 基本的Flowable概念三

1、声明任务

会计师现在需要主张任务。通过声明任务,该特定用户将成为任务的受让人,并且该任务将从会计组的其他成员的每个任务列表中消失。声明一项任务的方式如下:

taskService.claim(task.getId(), "fozzie");

该任务现在位于声明该任务的用户的个人任务列表中。

 List<Task> tasks = taskService.createTaskQuery().taskAssignee("fozzie").list();

在Flowable Task应用程序中,单击声明按钮将调用相同的操作。该任务现在将移至登录用户的个人任务列表。您还将看到任务的受理人已更改为当前登录的用户。

2、完成任务

会计师现在可以开始编制财务报告。一旦报告完成,他可以完成任务,这意味着完成任务的所有工作。

taskService.complete(task.getId());

对于Flowable引擎,这是流程实例现在可以继续执行的外部信号。任务本身将从运行时数据中删除。遵循任务的单个外出转换,将执行转移到第二个任务(“验证报告”)。现在将使用与第一个任务所描述的相同的机制来分配第二个任务,这个任务将被分配给管理组。

在演示设置中,通过单击任务列表中的完整按钮完成任务。由于Fozzie不是会计师,所以我们需要注销Flowable Task应用程序并以kermit身份登录(谁是经理)。第二个任务现在可以在未分配的任务列表中看到。

3、结束这个过程

验证任务可以以与以前完全相同的方式检索和声明。完成这个第二个任务将把流程执行移到结束事件,结束流程实例。流程实例和所有相关的运行时执行数据将从数据存储中删除。

以编程方式,你也可以验证过程已经结束,使用 historyService。

 HistoryService historyService = processEngine.getHistoryService();
 HistoricProcessInstance historicProcessInstance =
historyService.createHistoricProcessInstanceQuery().processInstanceId(procId).singleResult();
System.out.println("Process instance end time: " + historicProcessInstance.getEndTime());

上面文章来自盘古BPM研究院:http://vue.pangubpm.com/
文章翻译提交:https://github.com/qiudaoke/flowable-userguide
了解更多文章可以关注微信公众号:

以上是关于flowable子任务没有taskkey的主要内容,如果未能解决你的问题,请参考以下文章

第十四篇Flowable事件-错误事件

第十四篇Flowable事件-错误事件

flowable会签结束,会签变量没有更新。bug

Flowable入门系列文章48 - Http任务

Flowable入门系列文章49 - 骡子任务

Flowable入门系列文章50 - 骆驼任务