Administration de base > Prise en charge de la collaboration > Administration des processus > Outils de processus > Administration des modèles de processus > Exemples de codes de processus > Exemples de transitions > Transition Terminer la tâche
  
Transition Terminer la tâche
Le routage de nombreuses activités repose sur une comptabilisation des votes. Par exemple, une tâche d'approbation peut être affectée à plusieurs utilisateurs. Pour exécuter la tâche, l'utilisateur doit approuver ou rejeter l'objet en cours de validation. L'option qu'il sélectionne détermine la façon dont le processus progressera.
Les comptabilisations des votes sont généralement configurées via l'ajout d'une expression sous l'onglet Routage. Toutefois, si vous souhaitez contrôler plus étroitement le processus de comptabilisation, vous pouvez utiliser la transition Terminer la tâche sous l'onglet Transitions.
Exemple
Vous créez un modèle de processus simple à utiliser lors de la validation de certains objets. La première activité nécessite que les utilisateurs valident l'objet et approuvent ou rejettent ce dernier.
Si l'objet est approuvé, il prend l'état Approuvé. S'il est rejeté, il passe à l'état Rejeté :
Tous les participants sont obligatoires. Les participants à l'activité sont des utilisateurs présentant les rôles Responsable qualité et Ingénieur :
Pour faire passer l'objet à l'état Approuvé, tous les participants doivent voter pour l'option "Approuver".
Si 2 des utilisateurs du rôle Responsable qualité votent pour l'option "Rejeter", l'activité est terminée, et l'objet passe à l'état Rejeté.
Pour obtenir ce résultat, vous pouvez entrer l'expression ci-après pour la transition Terminer la tâche :
java.util.Locale locale=wt.util.WTContext.getContext().getLocale();
int number=wt.workflow.work.WfTally.count(self,"Reject","Quality Manager",locale);
if(number>=2)
{
wt.workflow.work.WorkflowHelper.service.completeActivity(self,"Reject");
}
API Terminer la tâche
Comptabiliser les votes par rôle :

/*
* @param self : WfAssignedActivity ObjectReference
* @param eventToMatch : Routing option to tally
* @param assigneeRole : Role for which you want to tally the routing option
* @param locale : The locale in which you have specified the assignee role
* @return int : Number of votes from user in the specified role
* @throws WTException
*/
public static int count(ObjectReference self,String eventToMatch,String assigneeRole,Locale locale) throws WTException
Comptabiliser les votes par événement de routage :

/*
* @param self : WfAssignedActivity ObjectReference
* @param eventToMatch : Routing option to tally
* @param int : Number of votes for the routing event in the activity
* @throws WTException
*/
public static int count(ObjectReference self,String eventToMatch) throws WTException
Terminer l'activité lorsque les conditions sont remplies :

/*
Supported API : True
Method to complete the activity
* @param self : WfAssignedActivity ObjectReference
* @param events : Routing event to follow
* @throws WTException
*/
public void completeActivity(ObjectReference self,String events) throws WTException