Manipulador de navegação
Um manipulador de navegação é uma regra de exibição com script e é executado sempre que os dados da tabela especificada são solicitados na exibição de formulário.
O script a seguir vem do manipulador de navegação incluído com o plug-in de RH. O script força registros da tabela no Tabela Campo para usar a exibição ESS para usuários sem funções e a exibição padrão para todos os outros usuários.
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');
Execute manipuladores de navegação antes ou depois das regras de exibição
Use glide.ui.view_rule.check_after_nav_handlerpropriedade do sistema para controlar a ordem na qual as regras de exibição e os manipuladores de navegação são aplicados. Defina o valor da propriedade como Verdadeiro para processar regras de exibição após manipuladores de navegação. Se a propriedade do sistema não existir em sua instância, o manipulador de navegação sempre terá precedência.
A propriedade do sistema substituirá o manipulador de navegação somente se a função de script do manipulador de navegação não retornar uma resposta. No script de exemplo acima, a propriedade não tem efeito. Isso ocorre porque este manipulador de navegação sempre retorna uma resposta devido a. resposta linha fora de se declaração.
Este exemplo é uma versão modificada do script anterior. Nesse caso, o resposta a linha só ocorre quando o usuário não tem funções. Se o usuário tiver funções, resposta nunca é atingido e as regras de exibição na mesma tabela, se houver, são aplicadas.
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');
}
}