# Exemple - Traitement de processus

Il existe une extension pour traiter les rendez-vous de processus. Dans le processus, l'on peut créer des noeuds de personne pour le compte ELOas. Si un processus active ce noeud, il est possible de déterminer et de traiter une liste des rendez-vous actifs des processus par le biais d'une recherche ELOas "WORKFLOW". Les métadonnées peuvent être complétées et le processus transféré.

Les rulesets nécessaires doivent être créés au niveau XML.

Le rassemblement de la liste des rendez-vous de processus ressemble en gros à une recherche normale. En tant que nom pour le champ de métadonnés, est entré "WORKFLOW", le terme de recherche en lui-même est ignoré et devrait rester vide.

<base>
    <name>Workflow2</name>
    <search>
        <name>"WORKFLOW"</name>
        <value></value>
        <mask>13</mask>
        <max>1000</max>
    </search>
    <interval>1M</interval>
</base>

Même si aucun masque de recherche n'est requis pour le rassemblement de la liste, un masque de recherche doit tout de même être indiqué. Seuls les processus de la liste des dates possédant ce masque sont traités. C'est nécessaire afin que les données d'indexation puissent être chargées dans les variables JavaScript locales. Si les processus sont possibles pour plusieurs masques, le ruleset doit être créé plusieurs fois.

Information

Dans la liste des rendez-vous, aucun „FindFirst – FindNext“ n'est exécuté. S'il existe beaucoup d'échéances, qui ne sont pas traitées, il se pourrait que les nouvelles échéances ne soient pas trouvées pour un traitement.

Lors du traitement des processus, il existe deux activités en plus de la modification des métadonnées: un transfert ciblé et une modification du processus. L'exemple suivant doit montrer comment l'on peut influencer le processus selon les métadonnées actuelles. A ces fins nous allons présenter un processus d'approbation simple, pour lequel le responsable n'a pas encore été défini au début. Au cours du processus, le service d'entrée de courrier est entré dans un champ d'indexation RESPONSABLE. Dans le modèle, le noeud responsable est initialisé avec le champ d'indexation propriétaire, la valeur en elle-même est lue par ELOas dans le champ d'indexation RESPONSABLE et entrée dans le noeud. ELOas tourne sous le nom ELO elowf et a un noeud de personne entre le poste de l'entrée de courrier et le responsable.

Créateur de processus, modèle de processus avec ELOas

Illustr. : créateur de processus, modèle de processus avec ELOas

Une fois que le processus arrive auprès d'ELOas, le service de l'entrée de courrier a déterminé le responsable. ELOas lit le champ de métadonnées RESPONSABLE et entre la valeur dans le noeud suivant RESPONSABLE. Cela se fait par la simple règle suivante:

<rule>
    <name>Expand Name</name>
    <condition></condition>
    <script>
        log.debug("Process WF: " + NAME);
        wf.changeNodeUser("Responsable", RESPONSABLE);
        EM_WF_NEXT = "0";
    </script>
</rule>

La modification du nom utilisateur ELO est effectuée par la commande wf.changeNodeUser. Le premier paramètre est le nom du noeud de processus et le second paramètre est le nom utilisateur ELO qui doit être entré. La librairie wf (verrouiller le processus, lire, rechercher un noeud, actualiser un utilisateur, enregistrer le processus, annuler le verrouillage) s'occupe du reste.

Une fois que le nom utilisateur a été placé, le processus doit être transféré. Cela se fait en plaçant les variables EM_WF_NEXT. Si celle-ci reste vide, rien n'est transféré. La date reste (cela ne devrait pas être le cas indéfiniment, sinon, la liste sera trop longue tôt ou tard). Si toutes les conditions préliminaires pour un transfert ont été rassemblées, alors l'on peut entrer le numéro de connexion ou le nom du noeud suivant. S'il existe seulement un successeur, alors il faut entrer le numéro de connexion: EM_WF_NEXT = "0";.

S'il existe plusieurs successeurs, il vaut mieux indiquer le nom du noeud suivant. Admettons que le processus soit comptabilisé automatiquement après le traitement, cela signifie que le noeud Comptabilité est transféré à ELOas. Celui-ci exécute un script qui vérifie les données. Si tout est en ordre, alors la fonction ERPverify() livre un true et le processus doit être transféré au noeud Comptabiliser. S'il existe une erreur, alors le processus retourne vers l'utilisateur responsable. Le script pourrait ressembler à ceci:

If (ERPverify()) {
    EM_WF_NEXT = "Comptabiliser";
}   else {
    EM_WF_NEXT = "Responsable";
}
Dernière mise à jour: 26 septembre 2023 à 07:46