En Salesforce, validar los datos antes/después de la inserción es muy importante y debe tenerse en cuenta. En la mayoría de los escenarios, después de ingresar los datos en el objeto Salesforce, se debe producir algunas inserciones/actualizaciones incorrectas de la manipulación de datos y se debe manejar las inserciones incorrectas/actualizaciones. Para lograr esto, Salesforce introdujo un script de Apex que se conoce como "disparador". Sumerja rápidamente la guía que se ocupa de eventos de activación, variables de contexto, tipos y escenarios con ejemplos en tiempo real.
Disparador de Apex
En Salesforce, Trigger es un código APEX (.apxt) que dispara antes o después de las instancias de manipulación de datos. Basado en el evento que se especifica en el disparador, se dispara en objetos especificados en Salesforce. Además, podemos especificar los contextos que nos ayudan a acceder a los contextos de tiempo de ejecución. Esto nos ayuda a prevenir acciones no deseadas/innecesarias en objetos en Salesforce. Digamos que, en el objeto de cuenta, necesitamos actualizar solo el teléfono cuando la "industria" es "agricultura".
Eventos de activación
Como ya discutimos, un gatillo se dispara antes o después de que ocurran las operaciones de DML. Hay tres operaciones DML que ocurren en el objeto Salesforce.
Un evento de gatillo más que se puede disparar después de undeletion es "después de Undetelete".
Tipos de activación
Básicamente, hay dos tipos de desencadenantes: el gatillo "antes" y el gatillo "después".
Activar variables de contexto
Es importante ver qué escenario de activación se dispara. Necesitamos rastrear en qué contexto de activación se dispara el gatillo. Todas las variables de contexto de disparador devuelven verdadero si el gatillo se dispara debido a ese evento. Veamoslos uno por uno.
1. Isinsert: Si el gatillo se dispara debido a un evento de inserto DML, IsinSert se hace realidad.
Ejemplo: Creación de contacto cuando se crea "cuenta".
2. update: Si el gatillo se dispara debido a un evento DML de actualización, ISUPDate se hace realidad.
Ejemplo: Si el "nombre de la cuenta" no es nulo, puega los "ingresos anuales".
3. isdelete: Si el gatillo se dispara debido a un evento DML Delete, ISDelete se hace realidad.
Ejemplo: Los registros de la cuenta no pueden eliminar si la "calificación de cuenta" está "caliente".
4. isundelete: Si el gatillo se dispara debido a un evento de DML no delgado, Isundelete se hace realidad.
Ejemplo: Los registros de la cuenta se recuperan de Salesforce Recycle Bin.
Sintaxis de activación:
Podemos crear un script Apex que se dispara en función de las instancias de DML utilizando la palabra clave "disparador" seguida del nombre del activador. Pregunta sobre qué objeto Salesforce debe ocurrir el disparador durante la creación del script de Apex en sí mismo. Todos los eventos de activación se especifican después del objeto Salesforce.
Trigger Trigger_name en Salesforce_object_api (Trigger_events)Configuración del medio ambiente
1. Vaya a la "Consola de desarrollador" y vaya al archivo "Seleccionar nuevo". Luego, elija "Apex Trigger".
2. Pregunta el nombre del script y el objeto Salesforce de modo que el disparador se dispare en este objeto. Haga clic en "Enviar" para crear un nuevo activador APEX.
Escenario 1: Antes de insertar
Cuando la cuenta se crea con la industria de la "educación", disparamos un desencadenante que asigna el campo de "tipo" al "socio tecnológico" [Objeto - Cuenta].
disparar antes de_insert en cuenta (antes de insertar)"Primero, iteramos los registros de la cuenta y verificamos si la industria es" educación "o no. Si es "educación", asignamos el "socio de tecnología" al campo "Tipo".
Caso de prueba:
Vaya a la pestaña "Cuentas" desde el lanzador de aplicaciones y cree una cuenta con la industria como "educación". Compruebe si el campo "Tipo" está poblado con "Socio de tecnología" o no.
Al hacer clic en "Guardar", puede ver que "Tipo" se crea con "Socio de Tecnología".
Escenario 2: después de insertar y después de la actualización
Cuando la cuenta se crea con la calificación "cálida", disparamos un disparador que crea un contacto con "Contact LastName" como "Linuxhint-Account", "Título" como "Gerente" y "Departamento" como "Ventas" [Objeto " - Cuenta].
Trigger After_insert_trigger en Account (después de insertar, después de la actualización)Primero, creamos una lista del tipo de "contacto" e iteramos el objeto "cuenta". Dentro del bucle "para", verificamos si la "calificación de cuenta" es "cálida" o no. Si es "cálido", creamos "contacto" y asignamos tres campos con los valores y agregamos este objeto a la lista de contactos (declarado anteriormente). Finalmente, insertamos estos tres campos en el objeto "Contacto" usando el DML inserto.
Caso de prueba:
Vaya a la pestaña "Cuentas" desde el lanzador de aplicaciones y cree una cuenta con la "calificación" como "cálida". Compruebe si el registro de contacto se crea con tres campos especificados.
Al hacer clic en "Guardar", puede ver que "Contacto" se crea con tres campos. Ir a la pestaña "Contactos".
Podemos ver que se crean tres campos. Vaya a la pestaña "Detalles" para ver los campos.
Escenario 3: antes de la actualización
Cuando la campaña se actualiza con el tipo de "Conferencia", disparamos un desencadenante que actualiza el campo "Estado" a "Completado" [Objeto - Campaña].
disparar antes_update_trigger en la campaña (antes de la actualización)Primero, iteramos los registros de la campaña y verificamos si el "tipo" es "conferencia" o no. Si es "Conferencia", actualizamos el campo "Estado" a "Completado".
Caso de prueba:
Vaya a la pestaña "Campañas" desde el lanzador de aplicaciones y abra cualquier registro existente.
Este registro es de tipo "seminario web" y su estado está "planificado". Ahora, edite este registro actualizando el tipo de "conferencia".
Podemos ver que el "estado" se actualiza a "completado".
Escenario 4: Eliminar (antes)
Cuando intentamos eliminar los registros del objeto de campaña cuando el estado está "completado" o el tipo es "conferencia", lanzamos un error de tal manera que no podremos eliminar los registros. Mostramos el error usando el método adderror () [objeto - campaña].
disparar delete_trigger en la campaña (antes de eliminar)Caso de prueba:
Vaya a la pestaña "Campañas" del lanzador de aplicaciones y abra cualquier registro existente con el estado "completado" o con el tipo de "conferencia".
Haga clic en "Eliminar" en el menú desplegable a la derecha.
Podemos ver que se lanza el error y no se elimina.
Conclusión
El activador es un script de Apex que se dispara antes o después de las instancias de manipulación de datos. Basado en el evento que se especifica en el disparador, se dispara en objetos especificados en Salesforce. Aprendimos los cuatro escenarios diferentes para disparar el disparador tras la inserción, actualización y eliminación con diferentes ejemplos en diferentes objetos. Aquí, utilizamos los objetos de cuenta, contacto y campaña para la demostración. Puede seguir los mismos ejemplos en sus objetos personalizados.