Restringir o campo do grupo de atribuição

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 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 o incidente Grupo de atribuição opções para somente os grupos que contêm o usuário especificado em Atribuído a. campo.

    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 em Grupo de atribuição e selecione Configurar Dicionário .
    3. Se o formulário aparecer em Exibição padrão , em Links relacionados , clique em Exibição avançada .
    4. Em Use o qualificador de referência certifique-se de que Avançado a opção está selecionada.
    5. Em Qual. De referência campo, insira 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 a seguir.
      Este nome garante que o Nome da API seja gerado corretamente, com base no campo Nome.
    10. Inclusões de script Com o seguinte código JavaScript.
      Certifique-se de que Formulário acessível o campo está 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 Atribuído a. campo. Clique em Grupo de atribuição ícone de pesquisa. São exibidos somente os grupos que contêm o usuário selecionado. Por exemplo, você atribui um incidente a Bob Smith, que pertence a. Banco de dados e Rede grupo. As únicas opções que aparecem no grupo de atribuição são Banco de dados e. Rede .