Navigations-Handler

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 1 Minute Lesedauer
  • Ein Navigations-Handler ist eine geskriptete Ansichtsregel und wird jedes Mal ausgeführt, wenn Daten aus der angegebenen Tabelle in der Formularansicht angefordert werden.

    Erstellen Sie einen Navigations-Handler

    Die Tabelle „Navigations-Handler“ [sys_Navigator] enthält die Navigations-Handler in Ihrer Instanz. Greifen Sie auf diese Tabelle zu, indem Sie eingeben sys_Navigator.list Im Filternavigator. Navigations-Handler-Datensätze enthalten ein Tabelle Feld, um anzugeben, für welche Tabelle der Navigations-Handler gilt, und ein Skript Feld, das die geskriptete Ansichtsregel enthält.

    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.

    Um zu erzwingen, dass das Navigations-Handler-Skript im vorherigen Beispiel Ansichtsregeln berücksichtigt, gehen Sie wie folgt vor:
    1. Erstellen Sie glide.ui.view_rule.check_after_nav_handlerSystemeigenschaft.
    2. Legen Sie den Wert der Eigenschaft auf true fest.
    3. Aktualisieren Sie das Navigations-Handler-Skript so, dass nur zurückgegeben wird Antwort Wann die Ansicht geändert oder erzwungen werden muss.

    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');  
         }  
    }