工作流任务问题

问题

现在先跟你说一下客户的当前背景,客户那里的MOSS系统,用的帐号基本上是只有只读权限的,所以审批不了公文,这是正常现象.

但他们要求用户审批得了公文,所以我就得对工作流的任务下手了,进行处理:

在工作流开发里面,用CreateTask活动来创建任务,CreateTask活动有一个HybridDictionary类型的属性叫做SpecialPermissions,来解决权限问题.也就是说将这个任务指定给这个人,那就只有这个人看得到任务,并批得了任务,就算是只读用户也可以(我自己用只读+限制访问的用户权限进行测试过,可以).

本上说,上面的方法可以解决我的难题了,但在后面的应用中,我就出现问题了,我说一下问题的大概情况:

在一个流程中,用CreateTask活动来创建任务,不被包函在whileActivate里面,可以通过SpecialPermissions指定权限,实现我要的效果.

但你知道,我们设计的工作流是顺序流,是通过while循环的方式,实现流程任务跳转及回退的,也就是说,任务是需要被包函在whileActivate里面的,但这个时候,我就发现了问题, CreateTask里面的SpecialPermissions指定任务权限它不工作了,没有效果.但我使用的程序是一样的,区别就在于有没有在whileActivate里面.不知道是不是WF里的一个bug还是需要特点的方式实现 .

这是我遇到的主要问题.

即然上面的方式实现不了我的需求,我就试想着用别的方法来实现:自定义任务的权限,把任务当成一个item级来看待,分配权限,虽然里面我做到了任务权限分配,但又出现一个问题,那就是在工作流审批时,出现了任务锁定,无法审批工作流错误,在些,我再多问一个问题,工作流任务列表里的任务是不是不能被修改的呢?我发觉我一修改到任务列表的东西,都会出现任务锁定问题,对此问题,有什么解决的办法吗?

上面的这个问题导致了今天无法让用户测试流程的原因,因为权限的问题没有解决,使得流程不能发给用户,这个问题比较急,希望尽快得到处理或有其它办法.

测试结论

SpecialPermissions来给任务赋权限可以实现只让被赋权限人看到和编辑,而且在While中也不受影响。

工作流任务是个特殊的任务列表,不能通过对一般的列表赋权限给工作流任务列表的ITEM赋权限,否则会使工作流状态锁死,不知道能解决不。

明天在研究。。。。。。

你可能感兴趣的:(工作流)