Javascript前端启动SharePoint工作流

      在企业内部,很多SharePoint上的需求是即时而小规模的,要求快速实现。用前端的技术很多时候也可以满足用户需求,同时避免了后端开发的部署,IIS重启等,减少了deliver的时间。在目前的很多小应用中,我很多都用SPservice来做前端。SPservice是基于JQuery来访问SharePoint webservice的javascript库,codeplex上有很多介绍。比如要点击一个button启动一个list上的workflow的代码如下:

<script type="text/javascript" language="javascript" src="http://xxxxx/JQuery/jquery-1.4.4.min.js"></script>
   <script type="text/javascript" src="http://xxxx/jquery/jquery.SPServices-0.5.8.min.js"></script>

  

var g_workflow_templateid = "{d7b03357-1ad6-40b7-8d08-0c10d2935766}";
$().SPServices({
	operation: "StartWorkflow",
	async: true,
	item: "http://{ServerName}/sites/{SiteName}/Lists/{ListName}/" + itemID + "_.000" ,
	templateId: g_workflow_templateid ,
	workflowParameters:"<Data/>",
	completefunc: function(xData, Status) {
	   //prompt("test",xData.responseXML.xml);
	        
	 	alert("workflow has been started.");
	 					    
	}
});

      需要注意的参数是templateId:g_workflow_templateid,每次当你通过SharePoint designer修改workflow的时候,templateId会改变。它可从你通过list settings里手动启动workflow的页面的URL里取得,也可通过SharePoint designer查看workflow的配置文件里找到。另外一个需要传值的itemID 当然就是当前list item的ID。

 

 

 

 

 

posted @ 2012-03-01 14:25  AutodeskWebDev  阅读(2053)  评论(4编辑  收藏  举报