Articles

Orden de ejecución (Reglas, Disparadores, etc.) en Salesforce y el registro de depuración

Salesforce tiene un montón de reglas que se pueden definir en objetos y campos. Por ejemplo, puede definir reglas de validación, reglas de flujo de trabajo, creador de procesos, flujos, reglas de asignación, reglas de escalado, reglas de respuesta automática, disparadores, etc.

Ya sea que sea administrador, consultor, desarrollador o arquitecto, es importante que comprenda el orden en que se ejecutan estas reglas y disparadores.

La siguiente imagen muestra visualmente el orden de ejecución. (Para obtener más detalles, consulte la URL de la Guía para desarrolladores de Apex mencionada en la sección»Referencias & Url útiles » a continuación).

Ahora, a veces las cosas no funcionan como se espera. Tu sistema puede comportarse como un borracho (o al menos eso crees). En tales casos, la función «Registros de depuración» de Salesforce vendrá a su rescate.

Digamos que hemos configurado el siguiente objeto on Lead

  1. Hay una regla de validación en el objeto lead que indica que si la calificación de lead es activa, el correo electrónico no puede estar en blanco
  2. Entonces hemos configurado reglas duplicadas en Salesforce para garantizar que el lead que se está creando no exista ya
  3. es una regla de asignación de leads definida en Salesforce que asigna todos los leads «calientes» al usuario «Nick Admas».
  4. Luego hay una regla de flujo de trabajo con acción de actualización de campo definida que establece el campo de la lista de selección de la industria de Plomo en «Tecnología» si la ciudad es San Francisco.
  5. A continuación, hay un Generador de procesos con criterios si el estado del cliente potencial es «Visita al sitio», entonces se debe crear un registro de Visita al sitio que mapee automáticamente los valores del cliente potencial.

Si está utilizando una combinación de diferentes funciones en Salesforce y tiene problemas en los que el sistema no se comporta de la manera que espera, la mejor manera de diagnosticar y solucionar problemas será activar la depuración (Setup -> Registros de depuración), ejecutar la transacción y, a continuación, comprobar el registro de depuración. Basado en el ejemplo dado anteriormente, esto es lo que verá en el registro de depuración (desplácese sobre estas imágenes para ampliarlas).

Debugging Order of Execution in Salesforce
Debugging Order of Execution in Salesforce

Keep this sequence in mind while designing your solution and your app will behave properly.

(Por cierto, si se está preparando para la certificación de Desarrollador de plataforma, hay un par de preguntas sobre el orden de ejecución)

Referencia & URLs útiles
  1. Disparadores y Orden de ejecución – Guía para desarrolladores de Apex (15 minutos) – https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_triggers_order_of_execution.htm
  2. 20 Monitoreo diferente & Herramientas de auditoría en Salesforce – Publicación de blog (20 minutos) – https://www.asagarwal.com/monitoring-and-auditing-tools-in-salesforce/
Registro de cambios de publicación de blog
  1. Agosto 2015 – Primera publicación
  2. Agosto de 2019-Actualizado para incluir reglas duplicadas, creadores de procesos & flujos
  3. Noviembre de 2020-Actualizado según la versión de invierno 21 para incluir flujos activados por registros