Cet exemple montre comment utiliser un qualificatif de référence avancé avec JavaScript et un script include pour restreindre les choix de groupe d’affectation d’incident aux seuls groupes contenant l’utilisateur spécifié dans le champ Affecté à .
Avant de commencer
Rôle requis : personalize_dictionary ou admin
Procédure
-
Ouvrez un incident.
-
Cliquez avec le bouton droit sur l’étiquette Groupe d’affectation et sélectionnez Configurer le dictionnaire.
-
Si le formulaire apparaît dans la vue par défaut, sous Liens connexes, cliquez sur Vue avancée.
-
Dans le champ Utiliser le qualificatif de référence , assurez-vous que l’option Avancé est sélectionnée.
-
Dans le champ Qualificatif de référence , saisissez javascript :new ReferenceQualifierHelper().backfillAssignmentGroup().
-
Enregistrez l'enregistrement.
-
Accédez à la .
-
Cliquez sur Nouveau.
-
Nommez vos includes de script en tant que ReferenceQualifierHelper pour correspondre au Javascript de l’étape suivante.
Ce nom garantit que le nom de l’API est généré correctement, en fonction du champ Nom.
-
Includes de script avec le code JavaScript suivant.
Assurez-vous que le champ
de formulaire Accessible est défini correctement pour l’environnement.
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'
};
Que faire ensuite
Pour tester, créez un incident, puis sélectionnez un utilisateur dans le champ Affecté à . Cliquez sur l’icône de recherche du groupe d’affectation . Seuls les groupes contenant l’utilisateur que vous avez sélectionné s’affichent. Par exemple, vous affectez un incident à Bob Smith, qui appartient au groupe Base de données et au groupe Mise en réseau . Les seules options qui apparaissent dans le groupe d’affectation sont Base de données et Mise en réseau.