Workflow 在露天获取工作流任务的NodeRef

Workflow 在露天获取工作流任务的NodeRef,workflow,alfresco,activiti,alfresco-share,alfresco-webscripts,Workflow,Alfresco,Activiti,Alfresco Share,Alfresco Webscripts,我创建了一个工作流,当我转到任务编辑页面时: 我正在尝试获取工作流任务的文件(latexemplo-2.pdf)的nodeRef: 20649美元 我想这样做: var taskId = args.taskId var task = workflow.getTaskById(taskId); nodeRef = task.getPackageResources()[0].nodeRef; 但我得到“args未定义”。。。“未定义工作流”。。。“任务未定义” 如何以其他方式获取节点ref?很遗

我创建了一个工作流,当我转到任务编辑页面时:

我正在尝试获取工作流任务的文件(latexemplo-2.pdf)的nodeRef:

20649美元

我想这样做:

var taskId = args.taskId
var task = workflow.getTaskById(taskId);
nodeRef = task.getPackageResources()[0].nodeRef;
但我得到“args未定义”。。。“未定义工作流”。。。“任务未定义”


如何以其他方式获取节点ref?

很遗憾,您无法在浏览器中访问存储库中的信息

一个快速而肮脏的解决方案是直接使用页面中已有的信息

我已经启动了工作流,并像您一样打开了任务页面。 使用浏览器调试工具,我检查了html。 如下图所示,Alfresco将附加到任务的文档存储在隐藏输入中。你可以使用雅虎来获得它

搜索id为“page\u x002e\u data-form\u x002e\u task-edit\u x0023\u default\u assoc\u packageItems”的元素。 如果关联了多个文档,则该值将是一个以逗号分隔的noderefs列表。我得到第一个元素。这当然是有效的,因为只有当有一个且只有一个文档关联时。您可能还应该考虑没有关联文档或存在多个文档的情况

var nodeRef = YAHOO.util.Selector.query("#page_x002e_data-form_x002e_task-edit_x0023_default_assoc_packageItems")[0].value;

您可以通过使用获取分配给您的所有当前任务详细信息 在Freemarker中


因此,您可以获得任务的or节点ref

我正在共享端运行一个小程序,javascript是控制小程序的代码。我已经看到了这个链接,但我不明白如何才能获得任务的节点。当文件在存储库中并且我以这种方式访问时,我会在URL上获得nodeRef。但当我发送一封包含任务的电子邮件或从其他地方访问时,我只得到了有问题的url。如果代码在浏览器上执行,您将无法加载任务。您可以只读取URL中传递的参数。然后,您需要调用webscript来执行访问alfresco存储库所需的任何逻辑。请您重写您的问题,并说明您需要做什么?否则就很难写出答案。我编辑了我的问题,并放了一个屏幕截图来帮助我。基本上,我想要代码上的内容,但代码不起作用,因为“args未定义”,还有其他。。。