Erstellen Sie geskriptete Filter
Der Bedingungsgenerator allein kann einige Filter nicht erstellen, z. B. das Anzeigen eines Datensatzes, der von einer nicht zugehörigen Tabelle abhängt. Wenn Sie JavaScript kennen, können Sie JavaScript-Funktionen zur Verwendung in erweiterten Filtern erstellen.
Vorbereitungen
Erforderliche Rolle: admin
Prozedur
Beispiel
Das Unternehmen erstellt eine Anwendung, Intensive Care, und eine Tabelle, [u_intensive_care]. Die Tabelle enthält zwar ein Referenzfeld für den Kundennamen, es gibt jedoch keinen direkten Link zur Benutzertabelle. Daher kann der Manager mit dem Bedingungsgenerator keinen Incident-Listenfilter für Kunden einrichten, die sich auf der Intensivstation befinden.
Die Lösung besteht darin, eine JavaScript-Funktion zu schreiben, die eine GlideRecord-Abfrage verwendet, um ein Array von Benutzer-sys_ids in der Tabelle [u_intensive_care] zu erstellen, wie im folgenden Beispielcode gezeigt. Rufen Sie die Funktion über den Bedingungsgenerator in der Incident-Tabelle ([Caller] [is] [javascript:myFunction()]) auf.
function myFunction ( ) {
var arrUsers = [ ];
gr = new GlideRecord ( 'u_intensive_care' );
now_GR. query ( );
while (now_GR. next ( ) ) {
arrUsers. push (now_GR. u_customer. toString ( ) );
}
return arrUsers;
}