我想以编程方式启动工作流程。因此写了一个网络脚本。
I want to start a workflow programatically. So written a web script.
执行脚本:
function startWorkflow() { var workflow = actions.create("start-workflow"); workflow.parameters.workflowName = "activiti$alfGroupReview"; workflow.parameters["bpm:workflowDescription"] = "Please review "; workflow.parameters["bpm:groupAssignee"] = people.getGroup( "GROUP_site_collaborators");; var futureDate = new Date(); futureDate.setDate(futureDate.getDate() + 7); workflow.parameters["bpm:workflowDueDate"] = futureDate; workflow.execute(document); return ; }对于上述脚本,我收到错误消息未定义文档。我指的是 forums.alfresco/en/ viewtopic.php?f = 34& t = 42677 和 livinginjava.blogspot.in/2008/10/starting-alfresco-workflow-using.html链接。
For the above script, I am getting error "document is not defined". I am referring forums.alfresco/en/viewtopic.php?f=34&t=42677 and livinginjava.blogspot.in/2008/10/starting-alfresco-workflow-using.html links.
所以我更新了脚本到:
function startWorkflow() { var nodeRef = "workspace://SpacesStore/25285e6c-2995-49fe-aa50-1270cefc806a"; var docNode = search.findNode(nodeRef); var workflow = actions.create("start-workflow"); workflow.parameters.workflowName = "activiti$alfGroupReview"; workflow.parameters["bpm:workflowDescription"] = "Please review "; workflow.parameters["bpm:groupAssignee"] = people.getGroup( "GROUP_aloha_collaborators");; var futureDate = new Date(); futureDate.setDate(futureDate.getDate() + 7); workflow.parameters["bpm:workflowDueDate"] = futureDate; workflow.execute(docNode); return ; }在这里,nodeRef:是文档库中文档的引用。
Here, nodeRef : is ref of a document from document library.
现在新的错误是:
500 Description: An error inside the HTTP server which prevented it from fulfilling the request. Message: 06270056 Wrapped Exception (with status template): 06270273 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/justransform/startWF.get.js': null Exception: org.alfresco.scripts.ScriptException - 06270273 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/justransform/startWF.get.js': null org.alfresco.repo.jscript.RhinoScriptProcessor.execute(RhinoScriptProcessor.java:195)请先谢谢。
推荐答案如果以下条件,此代码可以正常运行:
This code runs fine if:
- docNode不为null。您应该为此添加一个支票。
- 您的组存在。可能值得为此添加检查。
- 工作流程存在指定的ID。使用工作流控制台进行确认。例如,您提供的ID并非开箱即用的。如果是自定义的,则可能是您尚未成功部署工作流,或者您的ID不正确。
不要使用称为工作流的变量。 Alfresco已经定义了一个根域对象,称为工作流。说到这一点,请随时使用工作流JavaScript API 来调用工作流而不是操作。
Also, do not use a variable called "workflow". Alfresco already defines a root-scoped object called "workflow". Speaking of that, feel free to use the workflow JavaScript API to invoke your workflow instead of an action. Either should work, though.
我使用 JavaScript控制台,工作流ID为 activiti $ activitiParallelGroupReview(以及将工作流变量更改为工作流Act之后)。
I ran your code successfully using the JavaScript console and a workflow id of "activiti$activitiParallelGroupReview" (and after changing your workflow variable to workflowAct).
更多推荐
使用alfresco Java脚本api或通过Web脚本启动工作流程
发布评论