Este exemplo mostra como usar um qualificador de referência avançado com JavaScript e uma inclusão de script para restringir as opções de grupo de atribuição de incidentes somente aos grupos que contêm o usuário especificado no campo Atribuído a.
Antes de Iniciar
Função necessária: personalize_dictionary ou administrador
Procedimento
-
Abra um incidente.
-
Clique com o botão direito do mouse no rótulo do grupo de atribuição e selecione Configurar dicionário.
-
Se o formulário for exibido na exibição Padrão, em Links relacionados, clique em Exibição avançada.
-
No campo Usar qualificador de referência, certifique-se de que a opção Avançado esteja selecionada.
-
No campo Qualificador de referência, insira javascript:new ReferenceQualifierHelper().backfillAssignmentGroup().
-
Salve o registro.
-
Navegar até .
-
Clique em Nova.
-
Nomeie suas inclusões de script como ReferenceQualifierHelper para corresponder ao Javascript na etapa seguinte.
Este nome garante que o Nome da API seja gerado corretamente, com base no campo Nome.
-
Inclusões descript com o seguinte código JavaScript.
Certifique-se de que o campo
de formulário Acessível esteja definido corretamente para o ambiente.
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'
};
O que Fazer Depois
Para testar, crie um incidente e selecione um usuário no campo Atribuído a. Clique no ícone de pesquisa de grupo de atribuição. Somente os grupos que contêm o usuário selecionado são exibidos. Por exemplo, você atribui um incidente a Rob Smith, que pertence ao grupo Banco de dados e ao grupo Rede. As únicas opções que aparecem no grupo de atribuição são Banco de dados e Rede.