Exemple : Paramétrage d'un workflow à utiliser avec le gestionnaire de traitement
La personne qui paramètre une tâche de workflow dans l'écran Gestionnaire traitmnt forme ajoute une tâche avec le type tâche défini sur Démarrer un workflow, spécifie des informations sur la tâche, et ensuite sélectionne l'événement de workflow dans le champ Nom événement. Le champ Nom d'événement répertorie tous les événements non-framework et non-core qui sont disponibles dans CloudSuite Business. Vous devez créer les événements de workflow qui seront listés ici.
Lorsque la personne affectée à la tâche de workflow ouvre la tâche dans le Gestionnaire traitmnt, le nom de l'événement est affiché dans le champ Nom événement. La personne clique sur le bouton pour démarrer le workflow.
L'événement HR_NewHireAnnouncement et son gestionnaire d'événements, ainsi que certaines actions d'événement et un exemple de procédure enregistrée, sont fournis dans la base de données initialisée, comme exemple de workflow à modifier et tester dans le Gestionnaire traitmnt. Cet exemple de workflow envoie une notification à tous les employés en fournissant les détails du nom et poste de la nouvelle embauche. Vous devez modifier cet exemple comme décrit ici si vous voulez le tester dans votre système. L'exemple montre comment passer des paramètres via le script d'écran pour cet événement. La procédure enregistrée générique déclenche tout événement personnalisé donné.
Evénement, Définition
Cet exemple d'événement HR_NewHireAnnouncement a un gestionnaire et trois actions d'événement :
- Type d'action "Définir attributs" SET(EVENTTITLE=E(EventTitle)) : Cette action d'événement écrit le RowPointer de tâche processus sur le titre de l'événement à des fins de références croisées.
- Le type d'action "Notifier" a les paramètres suivants :
- A : Constante commune événements "HRNewHireAnnouncementRecipients"
Remarque: Vous devez définir la liste des utilisateurs associés pour cette constante commune événements.
- Objet : Chaîne traduisible "Bienvenue au nouvel employé <empname>"
- Corps : Chaîne traduisible "Je suis très heureux d'annoncer que <empname> nous rejoindra comme <empposition> à partir d'aujourd'hui".
Cette action d'événement informe les utilisateurs qui sont associés à la constante commune événements à propos de la nouvelle embauche. EmpName et EmpPosition sont les paramètres d'entrée pour cet événement. Cette information est tirée du processus d'où provient ce workflow.
- A : Constante commune événements "HRNewHireAnnouncementRecipients"
- Type d'action : Fin
Si vous voulez écrire vos propres événements, vous devez utiliser les premières et troisièmes actions d'événement, et écrire vos propres actions d'événement entre les deux, en fonction de vos besoins.
L'exemple d'événement HR_NewHireAnnouncement est fourni comme inactif. Vous devez l'activer sur l'écran Activer gestionnaire d'évnt Workflow afin de l'utiliser. Dans le champ Notifier utl, spécifiez les utilisateurs appropriés qui doivent recevoir la notification d'annonce de nouvelle embauche.
Scripting écran :
- Pour tous les événements personnalisés qui doivent être pris en charge par le gestionnaire de traitement, identifiez les paramètres d'entrée qui sont requis. (L'exemple d'événement HR_NewHireAnnouncement nécessite deux paramètres d'entrée : EmpName et EmpPosition).
- Si un événement utilise des paramètres d'entrée, déterminez si ces valeurs de paramètre d'entrée peuvent être récupérées à
partir de composants, propriétés ou variables de page écran. Sinon, récupérez ces valeurs de l'écran. Affectez ces paramètres
d'entrée. (Pour notre exemple, les données des paramètres d'entrée peuvent toutes deux être récupérées à partir des composants
d'écran.)
Affectez les paramètres d'entrée, comme indiqué dans notre exemple:
If ThisForm.Components("MyTasksFormPageEventNameEdit").Text = "HR_NewHireAnnouncement" Then ThisForm.Variables("ParmName1").Value = "EmpName" ThisForm.Variables("ParmValue1").Value = ThisForm.Components("MyTasksFormPageEmpName1Edit").Text ThisForm.Variables("ParmName2").Value = "EmpPosition" ThisForm.Variables("ParmValue2").Value = ThisForm.Components("MyTasksFormPageJobTitleEdit").Text End If
Remarque: Si vous souhaitez exécuter des événements RH supplémentaires personnalisés du Gestionnaire de traitement, ajoutez votre propre bloc de code dans le script de l'écran Gestionnaire traitmnt pour affecter des paramètres d'entrée pour vos événements personnalisés. Nous fournissons l'exemple de code comme cadre sur lequel vous pouvez construire. - Exécutez la procédure enregistrée avec le nom de l'événement disponible sur l'écran, ainsi que toutes les paires nom/valeur qui sont prises en charge par la procédure enregistrée.
Procédure enreg.
Nous fournissons une procédure enregistrée générique GenericNotifyEventGlobalCsSp avec ces paramètres :
- EVENTNAME
- @ProcessTaskRowPointer
- @EventStateRowPointer OUTPUT
- @Infobar OUTPUT
- @ParmName1
- @ParmValue1
- @ParmName2
- @ParmValue2
- €¦etc pour les noms et valeurs de paramètres 3 à 19 ...
- @ParmName20
- @ParmValue20
La procédure enregistrée effectue les étapes suivantes :
- Initialiser @SessionId, @EventTrxId, @EventParmId
- Transférer @ProcessTaskRowPointer comme paramètre d'entrée à l'événement qui est stocké dans "Titre événement"
- Exécuter FireEventSp en transférant @EventName, @SessionId, @EventTrxId et @EventParmId
- WAITFOR DELAY '00:00:05'
- Lire le pointeur ligne état événement et revenir à l'écran.
Lorsque l'exemple de code est mis à jour comme indiqué ici, et que le bouton Gestionnaire traitmnt, le RowPointer de l'enregistrement de statut d'événement créé est stocké dans process_mgr_process_task.EventStateRowPointer. Le message de réussite est affiché comme "Evénement initié".
est cliqué dans l'écran