Restringir o campo do grupo de atribuição

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 1 min. de leitura
  • 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

    1. Abra um incidente.
    2. Clique com o botão direito do mouse no rótulo do grupo de atribuição e selecione Configurar dicionário.
    3. Se o formulário for exibido na exibição Padrão, em Links relacionados, clique em Exibição avançada.
    4. No campo Usar qualificador de referência, certifique-se de que a opção Avançado esteja selecionada.
    5. No campo Qualificador de referência, insira javascript:new ReferenceQualifierHelper().backfillAssignmentGroup().
    6. Salve o registro.
    7. Navegar até Definições do sistema > Inclusões de script.
    8. Clique em Nova.
    9. 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.
    10. 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.