---
sourceDocument: Interface utilisateur de la Now Platform Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/platform-user-interface

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Interface utilisateur de la Now Platform Xanadu

ft:clusterId :

    - platux

bundleId :

    - platux

workflow :

    - Platform


---

# Gestionnaire de navigation

# Gestionnaire de navigation {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 minutes de lecture

Un gestionnaire de navigation est une règle de vue scriptée qui s'exécute chaque fois que des données de la table spécifiée sont demandées dans la vue de formulaire.

## Créer un gestionnaire de navigation {#c_NavigationHandler__section_n4q_dqk_2kb}

La table Gestionnaire de navigation \[sys_navigator\] contient les gestionnaires de navigation sur votre instance. Accédez à cette table en saisissant <kbd class="ph userinput">sys_navigator.list</kbd> dans le navigateur de filtre. Les enregistrements du gestionnaire de navigation contiennent un champ Table pour indiquer la table à laquelle le gestionnaire de navigation s'applique et un champ de script contenant la règle de vue scriptée.  
Le script suivant provient du gestionnaire de navigation inclus dans le module d'extension HR. Le script force les enregistrements de la table dans le champ Table à utiliser la vue ESS pour les utilisateurs sans rôle et la vue par défaut pour tous les autres utilisateurs.

    var now_GR = new GlideRecord(hr.TABLE_CASE);  
    if (gr.get(g_uri.get('sys_id'))) {  
         if (!gs.getUser().hasRoles())   
              g_uri.set('sysparm_view', 'ess');  
         else  
              g_uri.set('sysparm_view', '');  
    }  
      
      
    answer =  g_uri.toString('hr_case.do'); 

## Exécuter les gestionnaires de navigation avant ou après les règles de vue

Utilisez la glide.ui.view_rule.check_after_nav_handler propriété système pour contrôler l'ordre dans lequel les règles de vue et les gestionnaires de navigation sont appliqués. Définissez la valeur de la propriété sur Vrai pour traiter les règles de vue après les gestionnaires de navigation. Si la propriété système n'existe pas dans votre instance, le gestionnaire de navigation a toujours la priorité.

La propriété système remplace le gestionnaire de navigation uniquement si la fonction scriptée du gestionnaire de navigation ne renvoie pas de réponse. Dans l'exemple de script ci-dessus, la propriété n'a aucun effet. Cela est dû au fait que ce gestionnaire de navigation renvoie toujours une réponse car la ligne de `réponse` se trouve en dehors de l'instruction `if` .  
Pour forcer le script de gestionnaire de navigation de l'exemple précédent à respecter les règles de vue, procédez comme suit :

1. Créez la glide.ui.view_rule.check_after_nav_handler propriété système.
2. Définissez la valeur de la propriété sur <kbd class="ph userinput">vrai</kbd>.
3. Mettez à jour le script du gestionnaire de navigation pour renvoyer une `réponse` uniquement lorsque la vue doit être modifiée ou forcée.
{#c_NavigationHandler__ol_odv_drk_2kb}  
Cet exemple est une version modifiée du script précédent. Dans ce cas, la ligne de `réponse` se produit uniquement lorsque l'utilisateur n'a pas de rôles. Si l'utilisateur dispose de rôles, `la réponse` n'est jamais obtenue et les règles d'affichage de la même table, le cas échéant, sont appliquées.

    var now_GR = new GlideRecord(hr.TABLE_CASE);  
    if (gr.get(g_url.get('sys_id'))) {  
         if (!gs.getUser().hasRoles()) {  
              g_url.set('sysparm_view'),'ess');  
              answer = g_url.toString('hr_case.do');  
         }  
    } 


