【发布时间】:2021-09-15 13:22:21
【问题描述】:
我有一个带有自定义工作流程的 Alfresco community 5.2 安装。用户需要指定一些参与者作为此工作流程的一部分并查看提交的文档。用户分为 4 组(共同作者、审阅者、批准者、授权者),我使用 Alfresco JS Api 开始工作流程,传递所有变量和参与者。
我遇到的问题是:其中一个参与者组(审阅者)的工作流变量已正确传递给 wf Params,但在工作流启动时被接收为 null
var wfparams = new Array();
wfparams["mywf:coAuthorsAssignees"] = coAuthorsProp;
wfparams["mywf:reviewersAssignees"] = reviewersProp;
wfparams["mywf:approverAssignee"] = approverProp;
wfparams["mywf:authorizerAssignee"] = authorizerProp;
wfparams["bpm:priority"] = workflowPriorityProp;
wfparams["mywf:taskDueDateDaysNumber"] = workflowTaskDueDateDaysNumberProp;
wfparams["bpm:description"] = workflowMessageProp;
wfparams["bpm:workflowDescription"] = workflowMessageProp;
wfparams["mywf:copyToInitiator"] = copyToInitiator;
wfparams["mywf:previousTaskComments"] = workflowInitiatorComment;
wfparams["_startTaskCompleted"] = new Date();
logger.info("mywf:reviewersAssignees"); // OK, the variable is correct
workflowAction.startWorkflow(package, wfparams);
这是我的开始
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://alfresco.org">
<process id="DTTPublishWorkflow" name="Parallel Review And Approve Document" isExecutable="true">
<extensionElements>
<activiti:executionListener event="start" class="org.alfresco.repo.workflow.activiti.listener.ScriptExecutionListener">
<activiti:field name="script">
<activiti:string><![CDATA[//checkSingleWFIstance();
// printing the variable inside the workflow (bpmn), I see it null
logger.info(execution.getVariable('mywf_reviewersAssignees')) // null
<!-- ... -->
这怎么可能?我错过了什么?
或者我可以做些什么来找出问题所在?我可以以某种方式调试在startWorkflow(package, wfparams); 下发生的事情吗?
-- 编辑--
会不会是javascript对象转换的一些奇怪问题?
【问题讨论】:
-
希望所有组都有用户,请在 js 分配期间检查这些组并检查该属性名称。
-
“希望所有群组都有用户”是什么意思?这些组不是强制性的。它们可以是空的。但问题是在 wfparams 中传递的变量值丢失了。会不会是一些 javascript 对象类型的问题?
-
您的每个自定义属性都是 null 还是只有这个?
-
很遗憾,只有这个