Filteren van workflowstatus in Sharepoint 2007

Vandaag was ik druk met het maken van een custom pagina binnen Sharepoint. De bedoeling van deze pagina was om bulk-accorderingen te kunnen doen op Workflow taken. In dit geval was het namelijk best mogelijk dat je ineens een stuk of 10 (of meer) taken toegewezen had gekregen. Als je in 1 oogopslag al weet dat ze allemaal moeten worden goedgekeurd (of afgekeurd), dan wil je dit niet stuk voor stuk moeten afhandelen. Nu had ik al een mooi stuk code geschreven om te achterhalen wat de taken in de lijst waren, maar hier moest ook nog een filter op komen, immers je wilt niet de reeds afgesloten (goedgekeurde, afgekeurde, beindigde) workflows bewerken. Enige probleem dat ik ondervond was dat je in de CAML-query niet kon filteren op de tekst Voltooid of ieder ander passende status tekst. Door wat slim te debuggen kwam ik er al snel achter dat de status met een ID wordt aangegeven. Op nagenoeg de eerste pagina die ik vond via Google stond een mooi lijstje met de status id’s en bijbehorende teksten.

Status Value
Not Started 0 
Failed on Start 1 
In Progress 2 
Error Occurred 3 
Canceled 4 
Completed 5 
Failed on Start (retrying) 6 
Error Occurred (retrying) 7 
Canceled 15 
This is defined but I don't think this value is used Approved 16 
Rejected 17

Bron: https://www.sharepointblogs.com/dwise/archive/2006/12/11/howto-filter-a-view-based-on-workflow-status.aspx

Zo’n lijstje is natuurlijk altijd handig om te kunnen raadplegen. In mijn geval moest ik status 5 gebruiken, aangezien ik een kleine workflow had die alleen maar de status In progress of Completed kan krijgen (maar dan met de Nederlandse vertalingen uiteraard).


Share