[Sharepoint]How to Complete Task using code and send to next task
来源:互联网 发布:算法的国内研究现状 编辑:程序博客网 时间:2024/06/06 20:29
为了实现批量签核,需在代码中实现完成task并自动生成下一步task的功能.
先在Task列表中找到相应的task记录, 如下代码中是 taskListItem , 且在工作流中有一个 checkbox 域-- Result 来标记签核结果
Hashtable data = new Hashtable(); data[SPBuiltInFieldId.Completed] = "TRUE"; data[SPBuiltInFieldId.PercentComplete] = 1; data[SPBuiltInFieldId.TaskStatus] = SPResource.GetString(new CultureInfo((int)taskListItem.Web.Language, false), "WorkflowTaskStatusComplete", new object[0]); data[taskListItem.Fields["Result"].Id] = "TRUE"; //data[taskListItem.Fields["Outcome"].Id] = "Completed"; data[SPBuiltInFieldId.Outcome] = "Completed"; data[SPBuiltInFieldId.FormData] = SPWorkflowStatus.Completed; //data[SPBuiltInFieldId.TaskStatus] = "#"; // This would mean that the task has been Approved //ht["TaskStatus"] = "@"; // This would mean that the task has been Rejected web.AllowUnsafeUpdates = true; SPWorkflowTask.AlterTask(taskListItem, data, true);
另外也可以根据表单记录来找到task然后实现签核
SPSite site = new SPSite("http://servername/");using (SPWeb web = site.OpenWeb()){ SPList list = web.Lists["TestList"]; SPListItem item = list.GetItemById(22); SPWorkflow workflow = item.Workflows[0]; SPWorkflowTask task = workflow.Tasks[0]; Hashtable ht = new Hashtable(); ht[SPBuiltInFieldId.Completed] = "TRUE"; ht["Completed"] = "TRUE"; ht[SPBuiltInFieldId.PercentComplete] = 1.0f; ht["PercentComplete"] = 1.0f; ht["Status"] = "Completed"; ht[SPBuiltInFieldId.TaskStatus] = SPResource.GetString(new CultureInfo((int)task.Web.Language, false), Strings.WorkflowStatusCompleted, new object[0]); ht[SPBuiltInFieldId.WorkflowOutcome] = "Approved"; ht["TaskStatus"] = "Approved"; ht["FormData"] = SPWorkflowStatus.Completed; web.AllowUnsafeUpdates = true; SPWorkflowTask.AlterTask((task as SPListItem), ht, true);}
参考:
http://social.msdn.microsoft.com/Forums/en-US/sharepointworkflow/thread/f2dc501d-f47b-4f47-a9f8-78b6af96ad60
http://social.technet.microsoft.com/Forums/en-SG/sharepoint2010programming/thread/0b915df7-6cef-4121-ba2d-999662659a27
- [Sharepoint]How to Complete Task using code and send to next task
- How to complete the task in Scrapy tutorial
- How (not) to complete workflow tasks using code in WSS3
- How to develop and deploy DNN Schedule Task
- How to send email using sqlserver
- how to make a task achieved
- About how to use Async Task interesting
- 多任务学习“Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics”
- 苹果脚本-How to send a message using iChat and AppleScript
- How to Back up and restore SharePoint 2013 using a VSS requestor
- Transfer task to action
- how to send email
- How to: Send Data Using the WebRequest Class
- how to send a SIP message using OSIP stack
- How to send email via vbs using cdo
- iPhone - How to send image + text on facebook using sharekit
- How to Create a Cron Job (Scheduled Task)
- How to throw a timeoutException for a task
- 折腾一下:在ubuntu下面使用金山快盘
- MFC多线程编的类型
- 一道终身受益的测试题
- sockaddr 和 sockaddr_in 的区别与联系
- stdafx.h
- [Sharepoint]How to Complete Task using code and send to next task
- juery 下拉框相关的
- Java transient 关键字用法
- smartclient 整合
- Ubuntu10.04下常用软件
- Java网络编程
- 查看MYSQL当前编码状态
- 隐式Intent响应与责任传递
- 在oracle下如何创建database link全面总结