Worklist show other’s worklist

  • 7 June 2010
  • 1 reply
  • 0 views

Badge +1

The activity has multiuser on it.

The activity setting is as follow,
General properties:
Create slot for each destination
Destination Rule Options:
Plan per destination -> All at once
Create a slot for each destination
Resolve all roles and groups to users

The senario is as follow,
When someone open a worklistitem and doesn’s submit it, the worklistitem status will change to "open".
Then the other people will see the worklistitem on their worklist, but they cann’t open it.


1 reply

Badge +2

Well, This is normal to avoid cuncurrent submission for the same task.


If your case need to be submited by 2 or 3 users at least -> set activity succeeding rule to 2 or 3 slots, however i believe its not recommended as if u need the task to be submitted by one user then "don't creat a slot for each destination" so that the task once opened will be in allocated status for the rest of the users.


Meanwhile, as a work around either you exclude open tasks with user other than the user task list, or add a button that do releasing for this task via managerial APIs as the following hints:


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


 workflowServer = new SourceCode.Workflow.Management.WorkflowManagementServer();

workflowServer.CreateConnection();


workflowServer.Connection.Open((GetManagementConnString()).ToString());




SourceCode.Workflow.Management.WorklistItems items = workflowServer.GetWorklistItems(wlCriteriaFilter);


bool released = ReleaseItemsByManager(items);


 


,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,



 


 /// <summary>



 



 


/// should be used within opened conection and workflowServer!= null



 



 


 


 


/// </summary>



 



 


 


 


/// <param name="items"></param>



 



 


 


 


/// <returns></returns>



 



 


 


 


private bool ReleaseItemsByManager(WorklistItems items)


{


bool released = false;

 



 


if (items != null && workflowServer != null) {

 



 


foreach (WorklistItem item in items)


{


 if (item.ID > 0){workflowServer.ReleaseWorklistItem(item.ID);


          released = true;break;


}}}return released;


}


///... i hope above can help!

Reply