我的Activiti表单中有两个字段。我有两个字段Dated
和Date Received
,它们都采用日期值。我试图找到最适合我的任务的Activiti服务。
我的任务是这样的:当Dated
填充日期时,Date Received
字段将获取Date Received
字段的值。所以例如如果Date Received
的日期为12/03/1990
,那么在运行时,Dated
字段也会获取该值。
我尝试实现以下逻辑,但我不知道这是否是实现此目的的正确方法。
@Component("helloWorldBean")
public class HelloWorldBean implements JavaDelegate{
@Override
public void execute(DelegateExecution execution) throws Exception {
RuntimeService runtime = execution.getEngineServices().getRuntimeService();
runtime.setVariable(execution.getId(), "addLetter-targetdatesladate", "HELLO WORLD");
}
}
这是访问运行时服务的正确方法吗?我还检查了dynamic field Injection
部分here下的Activiti用户指南。
答案 0 :(得分:0)
此处有明显插件的道歉,但BP3的Brazos UI框架恰好处理了这种情况。过程9或任务)变量在过程的上下文中自动更新,因为它们在页面/表单上更新。并且可以链接更新,以便更新一个变量自动驱动流程本身内的另一个变量的更新(而不仅仅是在表单上)。
这样,多个用户可以订阅同一组进程(或任务)变量,并立即看到其他人做出的更新。
可能这个答案会被拉出来,但听起来这样可以很好地满足你的用例。
Brazos Developer Edition可从www.bp-3.com免费下载
答案 1 :(得分:0)
这似乎是javascript
而不是java
的工作。使用dependent field
字段中的值设置dependee
的值(即,当用户选择字段时,应填充其他字段)。