Gestionnaire de navigation
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.
Le script suivant provient du gestionnaire de navigation inclus avec le module d’extension RH. Le script force les enregistrements de la table dans le champ Table à utiliser la vue ESS pour les utilisateurs n’ayant aucun 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 les règles de vue de processus après les gestionnaires de navigation. Si la propriété système n’existe pas dans votre instance, le gestionnaire de navigation a toujours priorité.
La propriété système ne remplace le gestionnaire de navigation que 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 .
Cet exemple est une version modifiée du script précédent. Dans ce cas, la ligne de réponse ne s’affiche que lorsque l’utilisateur n’a aucun rôle. Si l’utilisateur possède des rôles, la réponse n’est jamais atteinte et les règles d’affichage sur 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');
}
}