当Sharepoint工作流启动后,任务已指派给某人,因职位变更,需要更换审批人,比较难以处理,尤其是如果该工作流是采用VS2005结合Infopath开发的。
替换方法如下:
1.确定新审批人的用户信息,一般的格式可能是:357;#Zhang, san
可通过以下方法查到,才看系统中的所有用户,修改默认视图,使其显示ID和Name,这样就可以得到357 和Zhang, san, 在这两个关键字中间加;#,不要空格
2.写一个小程序,思路是定位到要更换审批人的任务上,最后通过以下语句替换。

Item["AssignedTo"]="357;#Zhang, san";
Item["WorkflowVersion"]="1";
Item.update();

注意一定要设置WorkflowVersion为1,否则即使制定了新的审批人,他审批时却可能报错This task is currently locked by a running workflow and cannot be edited.

以上程序运行完毕后,审批人就换成Zhang san了。

但是此时zhang san 可能还是看不到该任务,注意要给zhang san 赋予相应任务的参与权限,现在不用代码了,直接在MOSS中,直接通过Manage Permissions设置就可以了