Wiki source code of Workflow Script
Show last authors
1 | On trouve du script à plusieurs endroits du moteur de workflow. Le principal étant l'étape script du processus de workflow. D'autres étapes utilisent du scripting comme les attributions, approbations, branches, compteur de temps et notification. |
2 | |
3 | |
4 | == Etape script == |
5 | |
6 | L'étape script du processus de workflow a un fonctionnement identique à celui d'un script d'opération. Tous les objets systèmes Requea sont accessibles et l'objet associé au processus est accessible via la variable ''data''. |
7 | |
8 | |
9 | == Autres étapes == |
10 | |
11 | Pour les autres étapes de workflow, nous allons voir les différentes propriétés de ces étapes qui utilisent du script. |
12 | Pour ces scripts, tous les objets systèmes Requea sont accessibles et l'objet associé au processus est accessible via la variable ''data''. Le retour se fait par la dernière variable manipulée par le script. |
13 | |
14 | === Script de date limite === |
15 | |
16 | Présent dans Attribution, Approbation et compteur de temps |
17 | Ce script doit retourner une date qui sert de date limite à l'étape. Cette date est recalculée à chaque fois que l'objet associé au processus est modifié. |
18 | |
19 | === Script de cloture automatique === |
20 | |
21 | Présent dans Attribution, Approbation et compteur de temps |
22 | Ce script doit retourner une valeur de statut si l'étape doit être cloturée. Sinon, il doit retourner ''null''. Ce script est recalculé à chaque fois que l'objet associé au processus est modifié. |
23 | La valeur de statut est une chaîne de caractères parmi: |
24 | |
25 | * completed (compteur de temps) |
26 | * canceled (tous) |
27 | * approved (approbation et attribution) |
28 | * denied (approbation et attribution) |
29 | Exemple : |
30 | var ret = null; |
31 | if (data.rqStatus != "submitted") |
32 | ret = "completed"; |
33 | ret; |
34 | |
35 | === Conditions de branches === |
36 | |
37 | Le script de condition retourne un booléen qui conditionne l'exécution de la branche. |
38 | |
39 | |
40 | === Script d'assignation === |
41 | |
42 | Pour les étapes d'assignation et d'approbation ayant un type d'assignation Script, le script exécuté doit retourner soit un objet de type sysPerson (ou rqEmployee) ou un objet de type sysUserGroup. |
43 | |
44 | |
45 | === Variables de champs textes === |
46 | |
47 | Les valeurs de certaines propriétés des étapes de workflow peuvent être contruites dynamiquement à partir de l'objet associé au processus. L'instruction script doit être précédée par '''${''' et terminée par '''}''' et doit produire un retour de type String sauf pour les destinataires et copie d'email qui retournent un objet sysPerson. Si l'on veut plusieurs destinataires, on sépare les tokens '''${...}''' par des ''';''' et le système construira une liste d'objets sysPerson. |
48 | |
49 | Les propriétés concernées sont: |
50 | |
51 | * Description (attribution et approbation) |
52 | * Destinataire et Copie (notification) |
53 | * Sujet et message d'un modèle de notification |
54 | Exemple : |
55 | Prêt de matériel ${data.rqNumber} pour ${data.rqBeneficiary.sysLabel} : Affectation du matériel pour le ${System.formatDateTime(data.rqStartTime)} |