Amministrazione di base > Supporto per la collaborazione > Amministrazione dei workflow > Strumenti per workflow > Amministrazione dei modelli di workflow > Esempi di codice di workflow > Esempi di transizione > Transizione Completa task
  
Transizione Completa task
Molte attività vengono instradate in base al conteggio dei voti. Ad esempio, un task di approvazione può essere assegnato a diversi utenti. Per completare il task, l'utente deve approvare o rifiutare l'oggetto in esame. L'opzione selezionata determina l'avanzamento del workflow.
I conteggi dei voti vengono generalmente configurati aggiungendo un'espressione nella scheda Instradamento. Tuttavia, è possibile utilizzare la transizione Completa task nella scheda Transizioni per un controllo più dettagliato sul processo di conteggio.
Esempio
Si supponga di creare un modello di workflow semplice da utilizzare quando si esaminano determinati oggetti. La prima attività richiede che gli utenti esaminino l'oggetto e lo approvino o lo rifiutino.
Se l'oggetto viene approvato, passa allo stato Approvato. Se viene rifiutato, passa allo stato Rifiutato.
Tutti i partecipanti sono obbligatori. I partecipanti di attività sono utenti con ruolo di Responsabile qualità e Ingegnere.
Per spostare l'oggetto sullo stato Approvato, tutti i partecipanti devono votare "Approva".
Se di 2 utenti con ruolo di Responsabile qualità votano "Rifiuta", l'attività viene completata e l'oggetto viene spostato sullo stato Rifiutato.
A questo scopo, è possibile immettere l'espressione riportata di seguito per la transizione Completa task.
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 Completa task
Conteggio dei voti in base al ruolo.

/*
* @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
Conteggio dei voti in base all'evento di instradamento.

/*
* @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
Completare l'attività quando le condizioni sono soddisfatte.

/*
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