Referenzqualifizierer

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 6 Minuten Lesedauer
  • Verwenden Sie Referenzqualifizierer, um die Daten zu filtern, die für ein Referenzfeld zurückgegeben werden.

    A Referenzfeld Speichert einen Link (Verweis) zu einem Feld in einer anderen Tabelle, sodass die Datensätze/Felder in der referenzierten Tabelle für das Formular verfügbar sind, das das Referenzfeld enthält.

    Zum Beispiel die Zugewiesen an Das Feld in der Incident-Tabelle ist ein Verweis auf die Anwendertabelle [sys_user]. Standardmäßig werden alle Werte für das Feld, auf das verwiesen wird, in angezeigt Referenzsuche Und können direkt über das Referenzfeld (Vorauseingabe) aufgerufen werden. Wenn im vorherigen Beispiel kein Referenzqualifizierer definiert ist, werden alle Anwender in der Anwendertabelle in der Referenzsuche angezeigt. Einschließlich der inaktiven Anwender. Manchmal kann dies die gewünschte Funktionalität sein. In anderen Fällen kann jedoch nur eine Teilmenge der verfügbaren Werte erwünscht sein. Erstellen Sie in diesem Fall einen Referenzqualifizierer, um die verfügbaren Daten so zu filtern, dass nur die gewünschten Werte zurückgegeben und dem Formular zur Verfügung gestellt werden. Z. B. nur die aktiven Anwender oder Anwender mit einer bestimmten Rolle. Referenzqualifizierer sind robust und können aus einfachen UND/ODER-Bedingungen, Inline-JavaScript oder komplexen bestehen Skripteinbindung .

    Sie können den Referenzqualifizierer für eine Tabelle und jede Tabelle basierend auf dieser Tabelle (übergeordnet oder erweitert) ändern, indem Sie einen Referenzqualifizierer über definieren Wörterbucheintrag Formular. Sie können den Referenzqualifizierer auch nur für eine erweiterte Tabelle und ihre untergeordneten Elemente (nicht die übergeordnete Tabelle) über ändern Wörterbuchüberschreibung . Sie können nur einen einzelnen Referenzqualifizierer pro Feld und pro Formular/Tabelle definieren. Referenzqualifizierer gelten nicht für Bedingungsgeneratoren. Informationen zur Verwendung der Filterung in Bedingungsgeneratoren finden Sie unter Erstellen Sie eine dynamische Filteroption .
    Hinweis:
    • Das Erstellen von Referenzqualifizierern erfordert Kenntnisse über den zugrunde liegenden ServiceNow Datenmodell (Tabellen und Felder) und Wissen über Webservices Und Skripts .
    • Um einzuschränken, auf welche Daten spezifische Anwender zugreifen können, verwenden Sie ACLs, die keine Qualifizierer referenzieren.

    Sie können einen Referenzqualifizierer mit einer der folgenden Methoden definieren.

    Einfacher Referenzqualifizierer

    Einfache Referenzqualifizierer verwenden UND/ODER Anweisungen (Bedingungen), um einfache Filter zu erstellen. Verwenden Sie einfache Referenzqualifizierer, wenn Sie nach Bedingungen filtern, z. B. ob ein Unternehmen aktiv ist, ein Anwender eine bestimmte Rolle hat und/oder sich ein Anrufer in einer bestimmten Zeitzone befindet. Einfache Referenzqualifizierer können maximal 13 Referenzqualifizierer-Bedingungen haben. Weitere Informationen zur Verwendung von Bedingungsgeneratoren finden Sie unter Condition builder.

    Abbildung : 1. Beispiel für einfachen Referenzqualifizierer
    Einfacher Referenzqualifizierer

    Dynamische Referenzqualifizierer

    Dynamische Referenzqualifizierer ermöglichen Ihnen die Verwendung von Erstellen Sie eine dynamische Filteroption Dient zum Ausführen einer Abfrage für ein Referenzfeld, um den zurückgegebenen Datensatz zu filtern. Dynamische Filteroptionen sind gespeicherte Filter, die enthalten können Codierte Abfragezeichenfolgen , JavaScript oder Skripteinbindungen und können in mehreren dynamischen Referenzqualifizierern verwendet werden. Änderungen, die an einer dynamischen Filteroption vorgenommen werden, gelten automatisch für alle Referenzqualifizierer, die dieselbe dynamische Filteroption verwenden. Verwenden Sie diesen Typ von Referenzqualifizierer, wenn Sie denselben Filter für mehrere Formulare verwenden möchten oder um „nicht-Code-versierte“ Implementierern Filterfunktionen bereitzustellen.

    Die Basisinstanz bietet mehrere dynamische OOB-Filteroptionen. Wenn keine dynamische Filteroption vorhanden ist, die Ihren Anforderungen entspricht, können Sie eine neue dynamische Filteroption erstellen, die Ihren Anforderungen entspricht. Ein Beispiel für eine dynamische OOB-Filteroption ist der Referenzqualifizierer auf der Modell-ID Feld in einem Konfigurationselementformular, z. B. dem Computerformular. Der Referenzqualifizierer ruft auf CI-Modellqualifizierer Dynamische Filteroption, die wiederum den aufruft ModellAndKategorieFilter Skripteinbindung. Diese Skripteinbindung filtert den Datensatz basierend auf der Klasse des CI. Die einzigen Optionen für die Modell-ID sind Optionen, die zu derselben Klasse wie das aktuelle CI gehören. Beispielsweise sind nur CIs verfügbar, die zur Computerklasse gehören Modell-ID Feld im Computerformular.

    Um die verfügbaren dynamischen Filteroptionen zu suchen, navigieren Sie zu Systemdefinition Dynamische Filteroptionen . Klicken Sie in der rechten Ecke der Liste „dynamische Filteroptionen“ auf das Filtersymbol, und erstellen Sie die Filterbedingung „Verfügbar für Referenzqual“ ist „wahr“ . Alle dynamischen Filteroptionen, die in dynamischen Referenzqualifizierern verwendet werden können, werden angezeigt.
    Abbildung : 2. Beispiel für dynamischen Referenzqualifizierer
    Dynamischer Referenzqualifizierer

    Erweiterter Referenzqualifizierer

    Mit erweiterten Referenzqualifizierungen können Sie eine Inline-codierte Abfragezeichenfolge oder einen JavaScript-Filter (tatsächlicher Code oder Name einer vorhandenen Skripteinbindung oder Business-Regel) direkt in definieren Referenzqual Feld des Referenzqualifizierers. Ähnlich wie bei den anderen Referenzqualifiziererertypen wird beim Laden des Formulars der Filter ausgeführt, und nur die Datensätze, die dem Filter entsprechen, werden im Referenzfeld angezeigt. Verwenden Sie diesen Referenzqualifizierer für Implementierungen, die nur einen einfachen, eindeutigen Filter erfordern, der nicht von einem einfachen Referenzqualifizierer behandelt werden kann und nicht für mehrere Referenzfelder verwendet wird.
    Hinweis:
    Als gute Praxis sollten Sie JavaScript-Aufrufe für Funktionen in einer Skripteinbindung anstelle einer globalen Business-Regel durchführen.
    Ein Beispiel für eine codierte Abfragezeichenfolge ist Lieferant=wahr , Der alle Unternehmen zurückgibt, die als Lieferanten festgelegt sind. Die Eingabe dieser Zeichenfolge entspricht der Verwendung des Bedingungsgenerators, wie im Beispiel für den einfachen Referenzqualifizierer gezeigt. Weitere Informationen zur gültigen Syntax der codierten Abfragezeichenfolge und Beispiele finden Sie unter Codierte Abfragezeichenfolgen .
    Abbildung : 3. Beispiele für erweiterten Referenzqualifizierer
    Codierte Abfragezeichenfolge in einem erweiterten referenzierten Qualifizierer
    Ein Beispiel für einen JavaScript-Aufruf ist javascript:New myScriptInclude().my_refqual() . Dieser Code ruft die Funktion auf Mein_refqual() In der Skripteinbindung MyScriptInclude() . Die Funktion muss eine Abfragezeichenfolge zurückgeben, die die in einem Referenzfeld verfügbaren Optionen filtern kann.
    Hinweis:
    Sie können auch codierte JavaScript-Filter wie verwenden javascript:'u_Active=true^' + "u_HR_Service="+current.HR_Service In Referenzqualifizierer.
    In einem anderen Beispiel: Wenn Sie versuchen, basierend auf dem aktuellen Unternehmen zu filtern, haben Sie kein Suchskript verwenden, können aber einfach diese Zeile Ihrem dynamischen Qualifizierer hinzufügen:
    return "company=" + current.company;
    Sie können dies auch vereinfachen und einen erweiterten Referenzqualifizierer anstelle eines dynamischen verwenden:
    javascript:"company=" + current.company
    Codierte Abfragezeichenfolge in einem erweiterten referenzierten Qualifizierer, Beispiel 2

    Ein zusätzliches Beispiel, das Referenzfeld so konfigurieren, dass nur Anwender einer bestimmten Gruppe angezeigt werden, finden Sie unter So wählen Sie nur Anwender einer bestimmten Gruppe in einem Referenzfeld aus [KB0831564] artikel in Now Support Knowledge Base

    an.

    Zugehörige Listen und Referenzqualifizierer

    Wenn ein Feld auf mehreren angezeigt wird Zugehörige Listen In einer einzelnen Formularansicht muss möglicherweise validiert werden, welche zugehörige Liste referenziert wird, um den Referenzqualifizierer für das Feld ordnungsgemäß zu erstellen. In dieser Situation Konfigurieren Sie das Listensteuerelement Für die zugehörige Liste und geben Sie ein eindeutiges Tag in ein Listenbearbeitungs-Tag Feld. Dieser Tag-Wert ist verfügbar, um Skripts als Variable mit dem Namen zu filtern ListEditRefQualTag . Der folgende Skripteinbindungscode ist ein Beispiel für eine Funktion, die diesen Tag-Typ verwendet.
    // Advanced reference qualifier on the CI Relationship Child field that takes into account
    // the related list that we are editing the child field on, if the field is being edited
    // from a tagged related list. 
     
     cmdb_rel_ci_child_refQual:function(){ 
     
      if(listEditRefQualTag =="application") return "sys_class_name = cmdb_ci_appl";
     
      if(listEditRefQualTag =="database") return "sys_class_name = cmdb_ci_database"
     
      }

    Aktuelle Javascript-Syntax in Referenzqualifizierern wird verwendet

    Aktuell Ist ein JavaScript-Objekt, das die Felder und Feldwerte des aktiven (aktuellen) Datensatzes enthält. Bei Formularen ist dies der Datensatz, der im Formular angezeigt (geladen) wird. Innerhalb erweiterter und dynamischer Referenzqualifizierer können Sie JavaScript verwenden Aktuell Objekt zum Definieren von Filtern wie javascript:"Company=" + current.company .

    Dieses JavaScript gibt innerhalb eines Referenzqualifizierers nur die Datensätze aus der referenzierten Tabelle zurück, die dem Unternehmensfeldwert des aktuellen Datensatzes entsprechen. Also, wenn der Wert, der in angezeigt wird Unternehmen Feld ist Acme. JavaScript gibt alle Referenzfelddatensätze zurück, deren Unternehmenswert Acme entspricht (Unternehmen="Acme"). Wenn Sie dann einen Datensatz aufrufen, dessen Unternehmenswert „ViewRite“ ist, wird JavaScript in Company=„ViewRite“ aufgelöst.

    Alle Felder im aktuell geladenen Formular (Tabellen) sind für die Verwendung mit verfügbar Aktuell Objekt. Verwenden Dot-Walking Dient zum Zugriff auf Werte in einer Tabelle, einschließlich der referenzierten Tabelle. Zum Beispiel im Incident-Formular die Zugewiesen An Feld verweist auf die Anwendertabelle. Verwenden Sie die folgende Syntax, um auf die E-Mail-Adresse des Anwenders zuzugreifen: javascript:"emailAddress=" + current.assigned_to.email .