我尝试将html表单用于定义变量的用户任务,以便在以下独占网关中选择一个sequenzflow。 HTML:
<div class="form-group">
<div class="radiobutton">
<label>
<input cam-variable-name="altneu" cam-variable-type="String" type="radio" name="altneu" class="form-control" value="NEU"/>
Neukunde
</label>
<label>
<input cam-variable-name="altneu" cam-variable-type="String" type="radio" name="altneu" class="form-control" value="ALT"/>
Altkunde
</label>
</div>
</div>
Sequenceflows:
<bpmn:sequenceFlow id="SequenceFlow_0a0vwxr" name="Kunden-stammdaten sind vorhanden" sourceRef="ExclusiveGateway_0vokx46" targetRef="ExclusiveGateway_074f3z1">
<bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${altneu == 'ALT'}]]></bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:sequenceFlow id="SequenceFlow_1cwjztj" name="Kundenstammdaten sind nicht vorhanden" sourceRef="ExclusiveGateway_0vokx46" targetRef="Task_1peelfz">
<bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${altneu == 'NEU'}]]></bpmn:conditionExpression>
</bpmn:sequenceFlow>
执行时出现此异常:
提交任务表单时发生错误: 无法提交任务表单713c798f-ebeb-11e7-9cb1-dcfe074be7ab:表达式中使用的未知属性:$ {altneu =='NEU'}。原因:无法解析标识符'altneu'
答案 0 :(得分:0)
我在任务列表的帮助下用camunda bpm 7.8测试了你的表单并得到了消息,无法实例化具有相同名称的变量。这意味着,引擎无法识别同一输入变量的两个或多个相同变量名称的出现。因此引擎实例化变量&#34; altneu&#34;因为它找到&#34; NEU&#34;的输入。然后它找到&#34; altneu&#34;再次尝试再次实例化&#34; altneu&#34;为&#34; ALT&#34;。但是&#34; altneu&#34;已经存在。
请参阅the controls section of camunda's manual。似乎没有对单选按钮的直接支持。如果可能,您可以使用a select?
ok
另一种选择可能是复选框。
ok == true
另外还有camunda的提示
如果不支持HTML控件,则需要编写自定义JavaScript。
有效。