La fonctionnalité “Out of Office” dans Nintex K2 permet aux utilisateurs de spécifier leur indisponibilité pour traiter les tâches assignées dans les workflows, tout en assurant que ces tâches sont réaffectées à des délégués désignés afin que les processus métier continuent de fonctionner de manière fluide.
Il est possible de le faire soit même , à tout moment, de façon aisée sans passer par le management, à partir d’un formulaire.
Le formulaire se présente sous la forme suivante :
Je vais vous décrire comment il fonctionne.
Ce formulaire est constitué de 02 vues:
- une entête qui a un logo et un titre et l’utilisateur connecté
- la vue principale dans laquelle l’utilisateur se met ou se retire “Out of office”
Nous allons nous attarder sur la configuration de la vue principale. En édition, elle se présente de la manière suivante:
Elle est constitué de 02 boutons “Set out of office” et “Remove out of office” et d’un ensemble d’autres contrôles (picker, labels et data label, timmer, etc).
- Initialisation de la vue
Lors de l’initialisation de la vue, nous avons les configurations suivantes :
– Le statut de l’utilisateur est récupéré et affiché (available ou out of office) à travers la méthode “Get User status” qui a en entrée le FQN de l’utilisateur connecté et la valeur “Yes” et en sortie le statut de l’utilisateur dans le data label dl_RealUserStatus:
2. Le data label dl_USerStatus_Unstyle
Ce data label contient le statut de l’utilisateur connecté : Out Of Office ou Available. Un style conditionnel est appliqué pour gérer les couleurs du statut (Vert pour Available et rouge pour Out of office). Voici les configurations faites lorsque ce contrôle change :
a) Tous les autres label sont cachés
b) Si dl_USerStatus_Unstyle contient la valeur “Out of office“, l’ensemble des instructions suivantes sont exécutées.
- La méthode “Get Worklist Share” du smartObject “Task List Share” est appelée avec les paramètres suivants:
En sortie, workTypes(workType[]) est récupérée dans le data label dl_worktypeArray.
- La méthode “Deserialize Array” du smartObject “Work Type” est appelée avec comme entrée le data label dl_workTypeArray . La sortie Worktype(worktype) est renvoyé dans le data label dl_Worktype .
- Ensuite La méthode “Deserialize ” du smartObject “Work Type” est appelée avec en entrée le data label dl_Worktype. La sortie workTypeExceptions(workTypeException[]) est renvoyé dans le data label dl_worktypedestinationarray
- Ensuite la liste des destinataires (c’est le control déverseur qui a pour source de donnée le smartobject Work Type Array Destination ) est alimentée avec en entrée le data label dl_worktypedestinationarray
- les boutons “Remove out of office (btn_Remove)” et le contrôle contenant la liste des destinataires s’affichent (List Box)
c) Si dl_USerStatus_Unstyle contient la valeur “None“, on le remplace par la valeur “Available”
d) Si dl_USerStatus_Unstyle contient la valeur “Available”:
- on affiche le bouton “Set out of Office” et la liste des destinataires
- On affiche le control Picker
3. Le principale bouton est “Set out of office”
Ce bouton s’affiche lorsqu’un utilisateur est disponible (statut available).Le clic sur ce bouton permet de mettre un utilisateur out of Office. Les configurations sur ce bouton sont faites selon l’ordre suivant:
a. Après la vérification des champs obligatoires (le contenu du picker), on appelle premièrement la règle @vGenerateDestinationarray.
Cette règle permet d’avoir l’ensemble des utilisateurs vers qui iront les tâches délégués. Elle a les configurations suivantes :
- On vide la data label dl_worktypedestinationarray à travers un “transfert data”
- Ensuite on appelle la méthode “Serialize Add Item To Array” du smartObject “Work type Destination” comme sur l’image, en sortie le résultat est sauvegardé dans la data label dl_worktypedestinationarray
b. Ensuite la méthode “Serialise Item To Array” du smartObject “Work Type” est appelée avec les paramètres suivants comme sur l’image. La sortie est retournée dans la data label dl_dworkTypeArray.
c. La méthode “Update Worklist Share” du smartObject “Task List Share” est appelée avec les paramètres suivants:
d. La méthode “Serialise Item to array” du smartObject “Out of office User” est appelée avec les paramètres suivants comme sur l’image. La donnée en sortie est enregistrée dans le data label dl_UserOOf :
e. La méthode “Set out of Office Status for User” du smartObject “Out of office User” est appelée avec les paramètres suivants :
f: La vue est ensuite réinitialisée.
4. Le bouton Remove out of office (btn_Remove)
Le clic sur ce bouton permet de rendre un utilisateur qui était “ouf of Office” disponible à nouveau. Les configurations de ce bouton nous montrent les étapes suivantes:
– Le workflow Rou_UnshareWorkList_WF est configuré à l’aide de l’appel de la méthode “Unshare Worklist” du smartObject Task list Share. Elle permet d’annuler le partage de la liste des tâches.
J’espère que vous avez apprécié cet article.