Annuler un workflow
L’annulation d’un workflow arrête l’exécution du workflow et définit l’état du contexte du workflow sur Annulé. Pour annuler un workflow en cours d’exécution, vous pouvez utiliser le script cancelContext(context). Vous pouvez définir un script onCancel pour nettoyer les activités de workflow non résolues.
Avant de commencer
Rôle requis : admin ou workflow_admin
Pourquoi et quand exécuter cette tâche
Procédure
Annuler un workflow avec le script cancelContext(context)
Pour annuler un workflow en cours d’exécution, vous pouvez utiliser le script cancelContext(context). Ce script peut être utile lorsqu’un workflow doit être annulé en réponse à un événement ou lorsqu’un utilisateur doit annuler manuellement un workflow.
Avant de commencer
Rôle requis : admin
Pourquoi et quand exécuter cette tâche
Pour en savoir plus, voir Workflow - cancelContext(GlideRecord context).
Définir un script à l’annulation
L’annulation d’un workflow peut laisser des enregistrements ou des scripts dans un état non résolu. Par exemple, l’annulation d’un workflow de catalogue de services peut laisser des éléments de catalogue dans le panier de l’utilisateur demandeur. Un administrateur peut spécifier un script à l’annulation qui s’exécute lorsque le workflow passe à l’état Annulé. Ce script peut notifier les utilisateurs, consigner des informations ou résoudre l’état de tout script exécuté dans une activité de workflow. La sys_id du contexte du workflow est disponible dans ce script à l’aide de la variable context_sys_id.
Pourquoi et quand exécuter cette tâche
Procédure
Exemple
var grContext = new GlideRecord("wf_context");
grContext.get(context_sys_id);
var grReq = new GlideRecord("sc_req_item");
// The current record may not exist, make sure it exists before modifying it.
if (grReq.get(grContext.id)) {
grReq.comments = "The workflow processing this item was Canceled. Contact your system administrator for further information.";
grReq.update();
}