Navigations-Handler
Ein Navigations-Handler ist eine geskriptete Ansichtsregel und wird jedes Mal ausgeführt, wenn Daten aus der angegebenen Tabelle in der Formularansicht angefordert werden.
Das folgende Skript stammt aus dem Navigations-Handler, der im HR-Plugin enthalten ist. Das Skript erzwingt Datensätze aus der Tabelle in Tabelle Feld zur Verwendung der ESS-Ansicht für Anwender ohne Rollen und der Standardansicht für alle anderen Anwender.
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');
Führen Sie Navigations-Handler vor oder nach Ansichtsregeln aus
Verwenden Sie glide.ui.view_rule.check_after_nav_handlerSystemeigenschaft zur Steuerung der Reihenfolge, in der Ansichtsregeln und Navigations-Handler angewendet werden. Legen Sie den Eigenschaftswert auf fest Wahr Dient zum Verarbeiten von Ansichtsregeln nach Navigations-Handlern. Wenn die Systemeigenschaft in Ihrer Instanz nicht vorhanden ist, hat der Navigations-Handler immer Vorrang.
Die Systemeigenschaft überschreibt den Navigations-Handler nur, wenn die geskriptete Navigations-Handler-Funktion keine Antwort zurückgibt. Im obigen Beispielskript hat die Eigenschaft keine Auswirkung. Dies liegt daran, dass dieser Navigations-Handler aufgrund von immer eine Antwort zurückgibt Antwort Position außerhalb von Wenn Anweisung.
Dieses Beispiel ist eine geänderte Version des vorherigen Skripts. In diesem Fall wird Antwort Position tritt nur auf, wenn der Anwender keine Rollen hat. Wenn der Anwender Rollen hat, Antwort Wird nie erreicht, und Ansichtsregeln in derselben Tabelle werden angewendet, falls vorhanden.
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');
}
}