Beschränken Sie das Zuweisungsgruppenfeld

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 1 Minute Lesedauer
  • Dieses Beispiel zeigt, wie Sie einen erweiterten Referenzqualifizierer mit JavaScript und einer Skripteinbindung verwenden, um die Auswahlmöglichkeiten für Incident -Zuweisungsgruppen auf die Gruppen zu beschränken, die den im Feld Zugewiesen an angegebenen Benutzer enthalten.

    Vorbereitungen

    Erforderliche Rolle: personalize_dictionary or admin

    Prozedur

    1. Öffnen Sie einen Incident.
    2. Klicken Sie mit der rechten Maustaste auf die Bezeichnung Zuweisungsgruppe, und wählen Sie Dictionary konfigurierenaus.
    3. Wenn das Formular in der Standardansichtangezeigt wird, klicken Sie unter Zugehörige Linksauf Erweiterte Ansicht.
    4. Vergewissern Sie sich, dass im Feld Referenzqualifizierer verwenden die Option Erweitert ausgewählt ist.
    5. Geben Sie im Feld Referenzqualität javascript:new ReferenceQualifierHelper().backfillAssignmentGroup()ein.
    6. Speichern Sie den Datensatz.
    7. Navigieren zu Systemdefinitionen > Skripteinbindungen.
    8. Klicken Sie auf Neu.
    9. Benennen Sie Ihre Skripteinbindungen als ReferenceQualifierHelper, damit sie dem Javascript im folgenden Schritt entsprechen.
      Dieser Name stellt sicher, dass der API-Name basierend auf dem Feld Name korrekt generiert wird.
    10. Skripteinbindungen mit dem folgenden JavaScript-Code.
      Stellen Sie sicher, dass das Feld „ Zugängliches Formular “ für die Umgebung richtig festgelegt ist.
      var ReferenceQualifierHelper = Class.create();
      ReferenceQualifierHelper.prototype = {
      	
      	backfillAssignmentGroup:function() {
      		var assigneeGroupsQualifier = '';
      		var assignee = current.assigned_to;
      		
      		//return if the assigned_to value is empty (this causes all groups to be returned)
      		if(!assignee)
      			return;
      		
      		//sys_user_grmember has the user to group relationship
      		var grAssigneeGroups = new GlideRecord('sys_user_grmember');
      		
      		grAssigneeGroups.addQuery('user',assignee);
      		grAssigneeGroups.query();
      		
      		while(grAssigneeGroups.next()) {
      			if (assigneeGroupsQualifier.length == 0) {
      				// Create the beginning of the qualifier and add the 1st group
      				assigneeGroupsQualifier = 'sys_idIN' + grAssigneeGroups.getValue('group');
      			}
      			else {
      				// build a comma separated string of groups if there is more than one
      				assigneeGroupsQualifier += (',' + grAssigneeGroups.group);
      			}
      		}
      		// return Groups where assigned to is in those groups we use IN for lists
      		
      		gs.log('DP: RefQual = ' + assigneeGroupsQualifier);
      		
      		return assigneeGroupsQualifier;
      	},
      	type: 'ReferenceQualifierHelper'
      };
      

    Nächste Maßnahme

    Erstellen Sie zum Testen einen Incident, und wählen Sie im Feld Zugewiesen an einen Benutzer aus. Klicken Sie auf das Suchsymbol für Zuweisungsgruppen. Es werden nur die Gruppen angezeigt, die den von Ihnen ausgewählten Benutzer enthalten. Weisen Sie beispielsweise einen Incident Bob Smith zu, der zur Gruppe „ Datenbank “ und zur Gruppe „ Netzwerk “ gehört. Die einzigen Optionen, die in der Zuweisungsgruppe angezeigt werden, sind Datenbank und Netzwerk.