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.

Agregar una acción personalizada

Objetivos de aprendizaje

Después de completar esta unidad, podrá:

  • Definir la funcionalidad y la ubicación de una acción personalizada.
  • Crear una clase Apex utilizando un código de muestra.
  • Establecer permisos para la clase Apex.
  • Agregar una acción personalizada a la consola de despachador.
Nota

Nota

¿Es su idioma de aprendizaje español (LATAM)? Comience el reto en un Trailhead Playground en español (LATAM) y copie y pegue los valores en español (LATAM). Si no aprueba el reto en su organización en español (LATAM), recomendamos que (1) cambie la configuración local a Estados Unidos, (2) cambie el idioma a inglés (según estas instrucciones) y, luego, (3) haga clic en el botón “Check Challenge” (Comprobar el reto) nuevamente.

Consulte la insignia Trailhead en su idioma para obtener más información sobre cómo aprovechar la experiencia de Trailhead en otros idiomas.

Mostrar acciones personalizadas donde los usuarios las necesitan

Jacinta acude a Maria con otra solicitud. A veces, los trabajadores móviles se ponen en contacto con ella para decirle que están enfermos o que se retrasó una cita. Estos cambios de horario ponen en peligro sus próximas citas, con el riesgo de que no se completen en el día. Jacinta quiere poner el estado de esas citas en In Jeopardy (En riesgo) desde el Gantt. ¿Maria puede ayudar?

Por supuesto que sí. Maria puede crear una acción personalizada y agregarla al Gantt de Jacinta para establecer el estado de las citas. Las acciones personalizadas pueden llamar a una clase Apex o abrir una página de Visualforce. Pueden ejecutarse sobre registros en varias áreas de la consola de despachador. Maria decide que esta acción se realiza mejor a través de una clase Apex.

Maria le pregunta a Jacinta dónde le gustaría ver la acción personalizada. Maria enumera los lugares donde un administrador puede agregar acciones personalizadas a la consola de despachador.

  • La lista de citas de servicio en citas individuales o múltiples
  • El Gantt en citas individuales o múltiples
  • El Gantt en trabajadores móviles individuales o ausencias de recursos
  • Polígonos en el mapa (la acción se ejecuta sobre las citas dentro de un polígono)

Jacinta le pide a Maria que agregue la acción personalizada a las citas de servicio individuales en el Gantt. Maria está lista para los próximos pasos.

  1. Escribir la clase Apex.
  2. Asignar permisos a la clase.
  3. Agregar la acción personalizada a la consola de despachador.

Escribir una clase Apex

Maria comprueba si el código para la solicitud de Jacinta ya existe. Está fascinada por encontrar una muestra de código de clase Apex que hace justo lo que necesita en la Guía de desarrollador de Field Service. Utiliza la clase toggleServiceAppointmentJeopardy que se proporciona allí para realizar el trabajo.

  1. Haga clic en Configuración y seleccione Consola de desarrollador.
  2. En el menú Archivo, seleccione Nuevo | Clase Apex.
  3. Para el nombre de clase, ingrese toggleServiceAppointmentJeopardy y, a continuación, haga clic en OK.
  4. Seleccione todo el código en la consola de desarrollador y elimínelo.
  5. Ingrese el nuevo código. Maria pega el código de muestra.
    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. Seleccione Archivo | Guardar.

La nueva clase de Maria se guarda en la lista de clases Apex.

Asignar permisos

Aunque Maria creó la clase, no puede agregarla a la consola de despachador hasta que configure los permisos adecuados.

En primer lugar, configura los permisos personalizados para su nueva acción personalizada del Gantt.

  1. Haga clic en Configuración y seleccione Configuración.
  2. En el cuadro Búsqueda rápida, ingrese permiso.
  3. Seleccione Permisos personalizados.
  4. Haga clic en Nuevo.
  5. Ingrese la etiqueta, el nombre y la descripción. Maria ingresa los siguientes datos:
    • Etiqueta: toggle Service Jeopardy
    • Nombre: toggle_Service_Jeopardy
    • Descripción: Grant permission to view and use the toggleServiceJeopardy class on the Gantt (concede permiso para ver y utilizar la clase toggleServiceJeopardy en el Gantt).
  6. Haga clic en Guardar.

A continuación, ella crea un conjunto de permisos personalizados para sus despachadores principales y agrega el permiso recién creado.

  1. Haga clic en Configuración y seleccione Configuración.
  2. En el cuadro Búsqueda rápida, ingrese permiso y haga clic en Conjuntos de permisos.
  3. Haga clic en Nuevo.
  4. En Etiqueta, ingrese Lead Dispatcher (Despachador principal) y haga clic en Guardar.
  5. En esa pestaña, desplácese hacia abajo y haga clic en Permisos personalizados.
  6. Haga clic en Editar.
  7. Seleccione toggle Service Jeopardy y haga clic en Agregar.
    En el conjunto de permisos de los despachadores principales, se muestra el permiso toggle Service Jeopardy agregado a la lista de permisos habilitados.
  8. Haga clic en Guardar.
  9. Haga clic en Gestionar asignaciones.
  10. Haga clic en Agregar asignaciones.
  11. Seleccione el cuadro junto a su nombre y haga clic en Asignar.

Maria tiene los permisos correctos para agregar la acción a la consola de despachador. Un paso más y ella habrá terminado.

Agregar la acción a la consola de despachador

Maria está lista para agregar la nueva acción a la consola de despachador para que Jacinta pueda verla.

  1. En el Iniciador de aplicación Icono del Iniciador de aplicación, abra el Administrador de Field Service.
  2. Haga clic en la pestaña Configuraciones de Field Service.
  3. Abra Interfaz de usuario de la Consola de despachador y haga clic en Acciones personalizadas.
  4. En la columna de la izquierda, seleccione una categoría de acción para definir la ubicación y el alcance de la acción. Maria selecciona Gantt.
  5. Haga clic en Nueva acción e ingrese los detalles. Maria ingresa los siguientes datos:
    • Etiqueta en la Consola de despachador: Change Jeopardy Status (Cambiar el estado en riesgo)
    • Tipo de acción: Clase Apex
    • Clase Apex: toggleServiceAppointmentJeopardy
    • Permiso personalizado requerido: toggle Service Jeopardy
    • Icono: Seleccione un icono para mostrar junto a la etiqueta de la acción.
      Pestaña Acciones personalizadas con los valores completados.
  6. Haga clic en Guardar.

Maria le dice a Jacinta que su nueva acción está lista para empezar. Cuando Jacinta hace clic con el botón derecho en una cita de servicio existente en el Gantt, ve una opción para cambiar su estado en riesgo. Para seleccionar citas de servicio múltiples, mantiene pulsada la tecla Ctrl y las selecciona.

El menú del botón derecho de una cita de servicio en el Gantt se abrió para mostrar la opción Cambiar el estado en riesgo agregada en la parte inferior del menú

Maria agregó una acción al Gantt. Definió la acción, decidió dónde ponerla, encontró una muestra de código que hacía lo que ella necesitaba y estableció los permisos. Luego, lo agregó a la configuración de la interfaz de usuario de la Consola del despachador. Ahora, Jacinta puede cambiar los estados de las citas de servicio en riesgo según se necesite.

Maria y Jacinta personalizaron la consola de despachador para satisfacer las necesidades del equipo. ¿Recuerda cuando le pedimos que pensara en formas de personalizar su propia consola de despachador? Seguramente, ahora tiene algunas ideas geniales.

Comparta sus comentarios de Trailhead en la Ayuda de Salesforce.

Nos encantaría saber más sobre su experiencia con Trailhead. Ahora puede acceder al nuevo formulario de comentarios en cualquier momento en el sitio de Ayuda de Salesforce.

Más información Continuar a Compartir comentarios