有一个调用式的多实例流程
主流程 call ctivity
<callActivity id="callsub" name="其他部门" calledElement="workplan_sub">
<extensionElements>
<activiti:executionListener event="start" delegateExpression="${startSubProcessListener}"/>
</extensionElements>
<multiInstanceLoopCharacteristics isSequential="false" activiti:collection="${depts}" activiti:elementVariable="userids">
<completionCondition>${signComplete.isComplete(execution)}</completionCondition>
</multiInstanceLoopCharacteristics>
</callActivity>
子流程:
<process id="workplan_sub" name="其他部门协作(子流程)" isExecutable="true">
<startEvent id="deptstart"/>
<userTask id="wtask6" name="其他部门" activiti:candidateUsers="${userids}"/>
<userTask id="wtask7" name="经办员" activiti:assignee="${userid}"/>
<endEvent id="deptend"/>
<sequenceFlow id="sub_flow1" sourceRef="deptstart" targetRef="wtask6"/>
<sequenceFlow id="sub_flow2" sourceRef="wtask6" targetRef="wtask7"/>
<sequenceFlow id="sub_flow3" sourceRef="wtask7" targetRef="deptend"/>
</process>
按照我的理解 流程引擎会循环将候选用户放入userids 中 ,那么这些就会成为wtask6的candidateUsers 但是在实际运行时却报错:
org.activiti.engine.ActivitiException: Unknown property used in expression: ${userids}
at org.activiti.engine.impl.el.JuelExpression.getValue(JuelExpression.java:53)
at org.activiti.engine.impl.bpmn.behavior.UserTaskActivityBehavior.handleAssignments(UserTaskActivityBehavior.java:121)
at org.activiti.engine.impl.bpmn.behavior.UserTaskActivityBehavior.execute(UserTaskActivityBehavior.java:89)
at org.activiti.engine.impl.pvm.runtime.AtomicOperationActivityExecute.execute(AtomicOperationActivityExecute.java:44)
at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:87)
Truncated. see log file for complete stacktrace
Caused By: org.activiti.engine.impl.javax.el.PropertyNotFoundException: Cannot resolve identifier 'userids'
at org.activiti.engine.impl.juel.AstIdentifier.eval(AstIdentifier.java:83)
at org.activiti.engine.impl.juel.AstEval.eval(AstEval.java:50)
at org.activiti.engine.impl.juel.AstNode.getValue(AstNode.java:26)
at org.activiti.engine.impl.juel.TreeValueExpression.getValue(TreeValueExpression.java:114)
at org.activiti.engine.impl.delegate.ExpressionGetInvocation.invoke(ExpressionGetInvocation.java:33)
Truncated. see log file for complete stacktrace
请问各位大神 是什么原因 子流程没有获取到 userids的值
- 大小: 36.7 KB
- 大小: 7.6 KB
分享到:
相关推荐
标题提到的"调用 FORTRAN77 子例程的 C 程序"涉及到的就是如何在C或C++程序中调用FORTRAN77编写的子程序。FORTRAN77是早期的科学计算常用语言,因其高效处理数值计算而广泛应用于工程和科学应用。然而,在现代软件...
子例程是程序的一部分,可以在需要时通过调用多次来执行,而无需每次都重复编写相同的功能代码。这样做不仅提高了代码的可读性和维护性,还使得不同的程序员可以专注于各自负责的程序段和子例程。 子例程的调用通常...
【SAP GUI750 子例程补丁】是一个专为解决SAP图形用户界面(GUI)在750版本中遇到特定问题的更新程序。这个补丁主要针对双击子例程无响应的问题,这可能是由于软件内部的某些错误或者不兼容性导致的。在日常使用SAP...
标题 "调用 FORTRAN90 子例程的 C 程序" 指的是在 C 或 C++ 语言中使用 FORTRAN90 编写的子程序或函数。FORTRAN90 是一种广泛用于科学计算的语言,因为它在处理矩阵运算和数值分析方面效率很高。C 和 C++ 作为通用...
- **隔离性**:函数内部与调用者之间是相互隔离的,不会直接访问调用者的变量,避免了潜在的数据混乱问题。 - **内存效率**:函数局部变量在函数退出后会自动释放,有助于节省内存资源。 然而,使用函数也会带来...
将来我将添加有关如何使用子例程的更多详细信息。 子程序包括具有 UMAT 形式的各种本构模型的经典元素和 Cosserat 元素。作者 ,大学 EAFIT 教授。安装下载子程序并使用子程序附带的输入文件 ( .inp ) 运行 Abaqus。...
### ABAP 子程序及其调用 #### 一、概述 在ABAP编程语言中,子程序是一种重要的编程工具,它允许程序员将复杂的任务分解成更小、更易于管理的部分。这种模块化的编程方法不仅可以提高代码的可读性和可维护性,还...
s7200smart 梯形图 点控举升点击,单击按钮开始,再次单击按钮停止
**Abaqus用户子程序入门实例1:UMAT子程序详解** 在有限元分析中,Abaqus是一款功能强大的软件,能够处理复杂的结构、热力学和流体动力学问题。UMAT(User-Defined Material)是Abaqus提供的一种用户自定义材料行为...
导出的数据可能供其他程序或用户使用,或者用于进一步的分析和建模。 这些子例程构成了一个完整的数据处理流程,从原始数据的导入,到数据处理和分析,再到最终结果的导出。MATLAB的强大在于其丰富的数学和科学计算...
本书是面向专业程序员和学生的C语言UNIX软件开发指南。 它着重于UNIX系统调用接口。
1. **函数与子例程**:Perl支持内置函数(如`print`, `reverse`, `sort`, `open`, `close`, `split`等)以及用户自定义的子例程。子例程可以接受参数,执行特定任务,并返回值。 2. **作用域**:作用域规则决定了...
当一个应用程序执行系统调用时,CPU执行软中断指令,这会将执行状态从用户态(目态)切换到内核态(管态),并跳转到相应的系统调用处理程序(也称为子例程)。处理程序执行完毕后,控制权再返回给用户程序,恢复...
arm专利:选择子例程返回机制
本资源集合了一份针对S7-200SMART的标准化程序,其中包含了MODBUS RTU轮询功能和可重复调用的子程序设计,旨在帮助用户更好地理解和应用这些技术。以下是详细的知识点解析: 1. **S7-200SMART PLC简介**: S7-200...
VB “借鸡生蛋”子例程代码,防LOADER 设计端,这个问题是在VB软件防破解中提到过,把源码分享上来供参考学习。 发现已经存在就删除它,然后就重新创建;目的是为了防止有人故意同名替换,定义一个数组储存数据。...
1. **基础语法**:涵盖变量声明、数据类型(如标量、数组、哈希)、流程控制(if语句、while循环、for循环)、函数和子例程的使用。 2. **文本处理**:Perl在处理文本方面非常强大,可能会包含正则表达式(用于模式...
USDLFD(可能代表用户定义的应力/应变加载功能动态)是有限元分析软件中的一个用户自定义子程序,它允许工程师或研究人员定制材料行为以适应特定问题的需求。在这个场景中,它被用于模拟基于Hashin标准的复合材料的...
这份光盘包含了丰富的汇编语言实例,旨在通过实践帮助用户深入理解和掌握汇编语言的基本概念、语法以及编程技巧。其中,TextPad的安装程序和步骤的提供,使得初学者在编写和调试汇编代码时有一个方便的文本编辑工具...