Skip to main content
Join the Agentforce Hackathon on Nov. 18-19 to compete for a $20,000 Grand Prize. Sign up now. Terms apply.

Criar uma ação personalizada

Objetivos de aprendizagem

Após concluir esta unidade, você estará apto a:

  • Definir a funcionalidade e a localização de uma ação personalizada.
  • Criar uma classe do Apex usando código de exemplo.
  • Definir permissões para a classe do Apex.
  • Adicionar uma ação personalizada ao Dispatcher Console.
Nota

Nota

Deseja aprender em português (Brasil)? Comece o desafio em um Trailhead Playground de português (Brasil) e copie e cole os valores de português (Brasil). Se você não passar no desafio em sua organização de português (Brasil), recomendamos que (1) mude o local para os Estados Unidos, (2) mude o idioma para inglês, seguindo as instruções aqui, e (3) clique novamente no botão “Validar o desafio”.

Consulte o emblema Trailhead no seu idioma para saber mais sobre como aproveitar a experiência de Trailhead em outros idiomas.

Exibir ações personalizadas onde os usuários precisam delas

Jacinta vai até Maria com outro pedido. Às vezes, os trabalhadores móveis entram em contato com ela para dizer que estão doentes ou que um compromisso está passando da hora. Essas mudanças de horário comprometem seus compromissos seguintes e criam o risco de não serem concluídos hoje. Jacinta quer definir o status desses compromissos como Em risco direto no Gantt. Maria pode ajudar?

Pode apostar que sim. Maria pode criar uma ação personalizada e adicioná-la ao Gantt da Jacinta para definir o status do compromisso. As ações personalizadas podem chamar uma classe do Apex ou abrir uma página do Visualforce. Elas podem ser executadas em registros em várias áreas do Dispatcher Console. Maria decide que isso é feito da melhor forma usando uma classe do Apex.

Maria pergunta a Jacinta onde ela gostaria de ver a ação personalizada. Maria lista os lugares onde um administrador pode adicionar ações personalizadas ao Dispatcher Console.

  • A lista de compromissos de serviço com compromissos individuais ou múltiplos
  • O Gantt com compromissos individuais ou múltiplos
  • O Gantt com trabalhadores móveis individuais ou ausências de recursos
  • Polígonos no mapa (a ação é executada nos compromissos dentro de um polígono)

Jacinta pede que Maria adicione a ação personalizada aos compromissos individuais de serviço no Gantt. Maria já pode passar para as próximas etapas.

  1. Escrever a classe do Apex.
  2. Atribuir permissões à classe.
  3. Adicionar a ação personalizada ao Dispatcher Console.

Escrever uma classe do Apex

Maria verifica se o código do pedido de Jacinta já existe. Ela fica feliz em encontrar uma amostra de código de classe do Apex que faz exatamente o que ela precisa no Guia de Desenvolvedores do Field Service. Ela usa a classe toggleServiceAppointmentJeopardy fornecida lá para fazer o trabalho.

  1. Clique em Configuração e selecione Developer Console.
  2. No menu File (Arquivo), selecione New (Novo) | Apex Class (Classe do Apex).
  3. Como nome da classe, insira toggleServiceAppointmentJeopardy e clique em OK.
  4. Selecione todo o código no Developer Console e exclua-o.
  5. Insira o novo código. Maria cola a amostra de código.
    global class toggleServiceAppointmentJeopardy implements FSL.CustomGanttServiceAppointmentAction {
    global String action(List<Id> serviceAppointmentsIds, Datetime
    	ganttStartDate, Datetime ganttEndDate, Map<String, Object>
    	additionalParameters) {   
    List<ServiceAppointment> saList = [SELECT 
    	FSL__InJeopardy__c, AppointmentNumber FROM
    	ServiceAppointment WHERE Id in: serviceAppointmentsIds];
    	String reply = '';
    	List<String> saNames = new List<String>();
    for (ServiceAppointment s : saList) {
    		s.FSL__InJeopardy__c = !s.FSL__InJeopardy__c;
    		saNames.add(s.AppointmentNumber);
    	}
    upsert saList;
    reply = String.join(saNames, ', ');
    	return 'Service Appointments successfully processed: ' + 
    	Reply;
    }
    }
  6. Selecione File (Arquivo) | Save (Salvar).

A nova classe de Maria está salva na lista de classes do Apex.

Atribuir permissões

Embora Maria tenha criado a classe, ela não pode adicioná-la ao Dispatcher Console até definir as permissões adequadas.

Primeiro, ela estabelece permissões personalizadas para sua nova ação personalizada do Gantt.

  1. Clique em Configuração e selecione Setup (Configuração).
  2. Na caixa Quick Find (Busca rápida), insira permissão.
  3. Selecione Custom Permissions (Permissões personalizadas).
  4. Clique em Novo.
  5. Insira o rótulo, o nome e a descrição. Maria insere o que segue.
    • Label (Rótulo): opção Serviço em risco
    • Name (Nome): opção_Serviço_em risco
    • Descrição: Grant permission to view and use the toggleServiceJeopardy class on the Gantt. (Conceder permissão para visualizar e usar a classe toggleServiceJeopardy no Gantt.)
  6. Clique em Salvar.

Em seguida, ela cria um conjunto de permissões personalizadas para seus dispatchers de lead e adiciona sua permissão recém-criada.

  1. Clique em Configuração e selecione Setup (Configuração).
  2. Na caixa Quick Find (Busca rápida), digite permissão e clique em Permission Sets (Conjuntos de permissões).
  3. Clique em Novo.
  4. Em Label (Rótulo), digite Dispatcher de Lead e clique em Save (Salvar).
  5. Nessa guia, role para baixo e clique em Custom Permissions (Permissões personalizadas).
  6. Clique em Edit (Editar).
  7. Selecione opção Serviço em risco e clique em Add (Adicionar).
    Conjunto de permissões de dispatchers de lead mostrando a opção de permissão Serviço em risco adicionada à lista de permissões habilitadas.
  8. Clique em Salvar.
  9. Clique em Gerenciar atribuições.
  10. Clique em Adicionar atribuições.
  11. Marque a caixa ao lado de seu nome e clique em Atribuir.

Maria tem as permissões corretas para adicionar a ação ao Dispatcher Console. Falta só um passo para ela concluir.

Adicionar a ação ao Dispatcher Console

Maria está pronta para adicionar essa nova ação ao Dispatcher Console para que Jacinta possa vê-la.

  1. No Iniciador de aplicativos Ícone do Iniciador de aplicativos, abra Administrador do Field Service.
  2. Clique na guia Field Service Settings (Configurações do Field Service).
  3. Abra a Dispatcher Console UI (Interface do usuário do Dispatcher Console) e clique em Custom Actions (Ações personalizadas).
  4. Na coluna à esquerda, selecione uma categoria de ação para definir o local e o escopo da ação. Maria seleciona Gantt.
  5. Clique em New Action (Nova ação) e insira os detalhes. Maria insere o que segue.
    • Label in Dispatcher Console (Rótulo no Dispatcher Console): Change Jeopardy Status (Alterar para status Em risco)
    • Action Type (Tipo de ação): Apex Class (Classe do Apex)
    • Apex Class (Classe do Apex): toggleServiceAppointmentJeoparty
    • Required Custom Permission (Permissão personalizada necessária): opção Serviço em risco
    • Icon (Ícone): selecione um ícone para exibir ao lado do rótulo da ação.
      Guia Ações personalizadas com os valores preenchidos.
  6. Clique em Salvar.

Maria diz a Jacinta que sua nova ação está pronta para uso. Quando Jacinta clica com o botão direito do mouse em um compromisso de serviço existente no Gantt, ela vê uma opção para alterar o status de risco. Para selecionar vários compromissos de serviço, ela mantém a tecla Ctrl pressionada e os seleciona.

Menu de contexto em um compromisso de serviço no Gantt aberto para mostrar a opção Alterar status de risco adicionada à parte inferior do menu

Maria acrescentou uma ação ao Gantt. Ela definiu a ação, decidiu onde colocá-la, encontrou uma amostra de código que fazia o que precisava e definiu as permissões. Em seguida, ela adicionou-a à configuração da interface do usuário do Dispatcher Console. Agora Jacinta pode mudar os status de risco de compromissos de serviço conforme a necessidade.

Maria e Jacinta personalizaram o Dispatcher Console para atender às necessidades da equipe. Lembra quando pedimos para você pensar em maneiras de personalizar seu próprio Dispatcher Console? Aposto que agora você tem ótimas ideias.

Compartilhe seu feedback do Trailhead usando a Ajuda do Salesforce.

Queremos saber sobre sua experiência com o Trailhead. Agora você pode acessar o novo formulário de feedback, a qualquer momento, no site Ajuda do Salesforce.

Saiba mais Continue compartilhando feedback