我正在尝试获取工作流任务文件(latexexemplo-2.pdf)的nodeRef:
http:// localhost:8080 / share / page / task-edit?taskId = activiti $ 20649
我正在尝试通过这种方式:
var taskId = args.taskId
var task = workflow.getTaskById(taskId);
nodeRef = task.getPackageResources()[0].nodeRef;
但是我得到“未定义args”……“未定义工作流”……“未定义任务”。
如何以另一种方式获取nodeRef?
不幸的是,您无法在浏览器中访问存储库中的信息。
一种快速而肮脏的解决方案是直接使用页面中已经存在的信息。
我已经启动了工作流程,并像您一样打开了任务页面。使用浏览器调试工具,我检查了html。正如您在下面的图像中看到的那样,Alfresco将附加到任务的文档存储在隐藏的输入中。您可以使用YAHOO来获取它。
搜索标识为“ page_x002e_data-form_x002e_task-edit_x0023_default_assoc_packageItems”的元素。如果有多个关联的文档,则该值将是逗号分隔的节点引用列表。我得到第一个要素。当然,只有在关联一个文档和只有一个文档的情况下,这才可以正常工作。您可能还应该考虑以下情况:没有文档关联或存在多个文档。
var nodeRef = YAHOO.util.Selector.query("#page_x002e_data-form_x002e_task-edit_x0023_default_assoc_packageItems")[0].value;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句