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.
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.
- Escribir la clase Apex.
- Asignar permisos a la clase.
- 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.
- Haga clic en y seleccione Consola de desarrollador.
- En el menú Archivo, seleccione Nuevo | Clase Apex.
- Para el nombre de clase, ingrese
toggleServiceAppointmentJeopardy
y, a continuación, haga clic en OK. - Seleccione todo el código en la consola de desarrollador y elimínelo.
- 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; } }
- 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.
- Haga clic en y seleccione Configuración.
- En el cuadro Búsqueda rápida, ingrese
permiso
. - Seleccione Permisos personalizados.
- Haga clic en Nuevo.
- 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).
- Etiqueta:
- 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.
- Haga clic en y seleccione Configuración.
- En el cuadro Búsqueda rápida, ingrese
permiso
y haga clic en Conjuntos de permisos. - Haga clic en Nuevo.
- En Etiqueta, ingrese
Lead Dispatcher
(Despachador principal) y haga clic en Guardar. - En esa pestaña, desplácese hacia abajo y haga clic en Permisos personalizados.
- Haga clic en Editar.
- Seleccione toggle Service Jeopardy y haga clic en Agregar.
- Haga clic en Guardar.
- Haga clic en Gestionar asignaciones.
- Haga clic en Agregar asignaciones.
- 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.
- En el Iniciador de aplicación , abra el Administrador de Field Service.
- Haga clic en la pestaña Configuraciones de Field Service.
- Abra Interfaz de usuario de la Consola de despachador y haga clic en Acciones personalizadas.
- 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.
- 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.
- Etiqueta en la Consola de despachador:
- 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.
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.