0

我正在尝试使用 Camunda 7.12 对文档工作流程进行建模。其中一个要求是用户可以为整个过程定义一个截止日期,并且系统必须在截止日期前几天发送剩余的日期。

有人建议我定义一个带有计时器事件的子流程,该事件在达到用户在开始表单中选择的日期时触发。

因此,我在模型中定义了以下子流程:

子流程

计时器事件具有以下属性:

定时器事件属性

due_date变量由用户在启动进程时以表单形式输入,但我不知道如何将它(或者是否可能)传递给其余子进程。

有任何想法吗?或者关于如何完成的替代方案?

提前致谢,

4

2 回答 2

0

在https://jira.camunda.com/browse/CAM-9303中修复了一个相关问题

以及相关的单元测试(https://github.com/camunda/camunda-bpm-platform/blob/33601f3026341882afae321611dfe4e8dfd31d2c/engine/src/test/java/org/camunda/bpm/engine/test/bpmn/event/timer/ StartTimerEventTest.java#L1351-L1446 )

通过 camunda 7.12 以及我创建的 @SpringBootTest。

但是,我在使用此过程 通过任务列表手动测试时看到了同样的问题: https : //cawemo.com/share/6bf324bb-4002-490c-8739-7ca94803acc0

Tasklist 使用的 API 与测试中使用的调用不同。

我看到的可能的解决方法:

a) 使用自己的 REST 服务包装测试runtimeService().createProcessInstanceByKey(...)中使用的 API,并通过此端点启动。

b) 改变流程模型并将流程移动到嵌入式子流程中,然后将中间定时器事件附加到它。这会在事件注册之前创建变量。这里的例子:

https://cawemo.com/share/870694cf-b704-42c2-b0d7-a2637406d356

在表单变量的上下文中针对此问题的新 JIRA 票证已在此处创建: https ://jira.camunda.com/browse/CAM-11357

于 2020-01-21T17:21:43.673 回答
0

我找到了一个不涉及模型大变化的解决方案。简单地说,我将流程启动事件设置为Asynchronous Before. 现在,计时器启动事件可以获取到期日期值并按预期​​启动剩余任务。

干杯,

于 2020-01-27T11:45:06.667 回答