Skip to content

Introducción a Salesforce Flow – Parte 81 (¿Alguna vez se preguntó qué es un flujo activado por registro por objeto – Por tipo?))

Esta es una continuación de mi último artículo Salesforce Flow Design Patterns: from Fundamentals to Mastery . En mi artículo anterior, hablé de varias prácticas recomendadas y consideraciones de diseño cuando se trata de crear un flujo eficiente. ¡Este artículo va un paso más allá y explica cómo un usuario puede crear y administrar un flujo 'Por objeto – Por tipo de registro activado'!

Un patrón de diseño de un flujo activado por registro por objeto simplemente significa tener un flujo por objeto para manejar toda la lógica empresarial en un objeto determinado.

Las ventajas de un flujo por objeto por tipo incluyen:

  • Orden de ejecución de control : cuando tiene varios flujos activados por registros en el mismo objeto, Salesforce no garantiza el orden de ejecución. El uso de un flujo activado por registro por objeto le dará esa flexibilidad.
  • Reutilización : poner lógica en SubFlow le ayudará a mejorar la reutilización. Puede llamar a un subflujo incluso desde un código Apex.
  • Reducción de la complejidad : es menos probable que alcance los límites, como la cantidad de consultas SOQL. Adherirse a la regla de un flujo por objeto también le permitirá evitar generar bucles infinitos.

La idea de Crear un flujo por objeto: por tipo proviene de las mejores prácticas y el patrón de diseño de Apex Trigger. La creación de un flujo por objeto permitirá al usuario lograr flexibilidad, crear flujos reutilizables y administrar todos los flujos para un objeto determinado en un solo lugar.

Desafortunadamente, a partir del lanzamiento de Winter'22 , no es posible crear un flujo de activación de registro con todos los eventos de activación . El flujo activado por registro solo admite los siguientes eventos:

  • Antes de insertar
  • Después del recuadro
  • Antes de la actualización
  • Después de la actualización
  • Antes de borrar

Si es así, utilicemos el marco de Un flujo activado por registro por objeto para crear el siguiente flujo activado por registro en cada objeto en lugar de crear varios flujos activados por registro después de guardar o antes de guardar en un objeto específico.

  1. Registros de activación: objectname antes de guardar
  2. Registros de activación: objectname antes de eliminar
  3. Registros de activación: objectname después de guardar

Hemos estado discutiendo sobre las mejores prácticas de Salesforce y los patrones de diseño en Salesforce Flow Design Patterns, desde los fundamentos hasta el dominio , incluso en la publicación actual del blog. Ahora es el momento de poner todo en un modelo funcional.

A continuación, se explica cómo aplicar el marco de trabajo Un flujo activado por registro por objeto en su organización:

  1. Cree un SubFlow: Account Handler , al que llamaremos desde el flujo Record-Triggered cuando sea necesario.
    1. Utilice las variables de registro para pasar los detalles de los registros de cuentas actuales y anteriores:
      1. varR_NewAccount
      2. varR_OldAccount
    2. Utilice variables booleanas para aislar la lógica para crear o actualizar el evento.
      1. varB_IsAfterInsert
      2. varB_IsAfterUpdate
      3. varB_IsBeforeDelete
  2. Cree el siguiente registro activado en un objeto determinado:
    1. Activador de registro: cuenta antes de guardar
      1. No es compatible con subflujo
    2. Activador de registro: cuenta antes de eliminar
      1. Subflujo de controlador de cuenta de llamada
    3. Activador de registro: cuenta después de guardar
      1. Subflujo de controlador de cuenta de llamada
  3. Luego use más SubFlow para manejar la lógica empresarial y llámelo desde donde sea necesario
    1. Subflujo: Crear tarea
    2. Subflujo: Creación de cuenta posterior

Subflujo: Administrador de cuentas – Flujo iniciado automáticamente

El primer paso es crear un subflujo que no sea más que un flujo iniciado automáticamente con las siguientes variables. Estas variables se utilizarán para almacenar valores actuales y anteriores del registro de una cuenta. También nos ayudará a identificar los nodos de decisión correctos:

  1. varR_NewAccount – Variable de registro
  2. varR_OldAccount – Variable de registro
  3. varB_IsAfterInsert – Variable booleana
  4. varB_IsAfterUpdate – Variable booleana
  5. varB_IsBeforeDelete – Variable booleana

varR_NewAccount

Una variable de registro se utiliza para almacenar los valores actuales del registro de una cuenta.

varR_OldAccount

Una variable de registro se utiliza para almacenar valores anteriores del registro de una cuenta.

varB_IsAfterInsert

La variable booleana se utiliza para almacenar el contexto de flujo. Pasaremos el valor a esta variable de Record-Trigger: Account After Save .

varB_IsAfterUpdate

La variable booleana se utiliza para almacenar el contexto de flujo. Pasaremos el valor a esta variable de Record-Trigger: Account After Save .

varB_BeforeDelete

La variable booleana se utiliza para almacenar el contexto de flujo. Pasaremos el valor a esta variable de Record-Trigger: Account Before Delete .

Nodo de decisión

Ahora use el elemento de decisión para identificar la ruta correcta cuando un subflujo es llamado por un flujo activado por registro:

Después de insertar nodo

Después de actualizar el nodo : –


Antes de eliminar nodo
: –

SubFlow: Administrador de cuentas

Al final, un subflujo se verá como la siguiente captura de pantalla:

Activador de registro: cuenta después de guardar

Ahora crearemos After Save Record-Triggered Flow y llamaremos Subflow: Account Handler desde allí. Asegúrese de pasar el valor correcto a las variables.

Activador de registro: cuenta antes de eliminar

Ahora crearemos Before Delete Record-Triggered Flow y llamaremos Subflow: Account Handler desde él. Asegúrese de pasar el valor correcto a las variables.

Activador de registro: cuenta antes de guardar

A partir del lanzamiento de Winter'22 , Salesforce Before-Save Flow no admitía subflujos. Siéntase libre de escribir toda la lógica en el mismo flujo. Consulte este artículo para saber cuándo usar el flujo activado por registro antes de guardar o después de guardar.

¿Que sigue?

¡Aprender a través de un caso de uso, por supuesto!

Requisito comercial : – Elise Shelley , desarrolladora líder de aplicaciones en Universal Containers (UC), recibe el requisito de crear una tarea cada vez que se crea una nueva cuenta.

Como sabe, la creación de una tarea es muy común después de que se gana o se pierde un trato. Entonces, según lo que aprendimos anteriormente, creemos un SubFlow para crear una Tarea:

Subflujo: Crear tarea : –

  1. Crear una tarea de variable de registro para almacenar los valores de la tarea
  2. Luego use el elemento Crear registros para crear una nueva tarea.

Variable de tarea de mapa : –

El siguiente paso es abrir Subflujo: Administrador de cuentas . En el nodo Después de insertar, agregue un elemento de asignación para asignar la variable de registro de tarea.

Campos de tareas del mapa : –

Ahora agregue SubFlow para crear una tarea y pase la variable {! VarRTask_Insert}.

Al final, tu Flow debería verse como la siguiente captura de pantalla:

En el futuro, forme el hábito de modificar el Administrador de cuentas cada vez que obtenga un nuevo requisito y no toque el flujo principal, es decir ( Activador de registro: Cuenta después de guardar y Activador de registro: Cuenta antes de eliminar ).

¿Tiene su propia salsa secreta Salesforce Flow? ¡Estupendo! ¡Compártelo!

Evaluación formativa:

¡Quiero saber de ti!

¿Ha realizado el examen de Diseñador de experiencia de usuario? ¿Te estás preparando para el examen ahora? ¡Comparte tus consejos en los comentarios!

Haz una publicación y etiquétame en Twitter @automationchamp usando #AutomationChampionFlow.

 Corrector de pruebas : - Munira Majmundar

Esta es una traducción realizada por EGA Futura, y este es el link a la publicación original: https://automationchampion.com/2021/12/08/one-flow-per-object-design-pattern/

Últimas novedades 
de EGA Futura
1954
Desde hace más de 25 años potenciamos a las Empresas de Iberoamérica

🎬 Video de Juan Manuel Garrido » Claves para tu Productividad diaria 🙌✅

🎬 Video de EGA Futura » Facturación Electrónica en Uruguay » Conceptos básicos con EGA Futura Windows

🎬 Video de EGA Futura » Facturación Electrónica en Uruguay » Configuración de EGA Futura Windows

🎬 Video de EGA Futura » Facturación Electrónica en Uruguay » Funcionamiento con EGA Futura Windows

🎬 Video de EGA Futura » Configuración de la Plataforma EGA Futura

🎬 Video de EGA Futura » Configuración de usuario en EGA Futura

🎬 Video de EGA Futura » Como automatizar la publicación en Redes Sociales?

🎬 Video de Juan Manuel Garrido » Cómo restaurar la configuración de fábrica de EGA Futura Windows sin perder la información

🎬 Video de Juan Manuel Garrido » Factura electrónica: Prueba de Factura Electronica previa a la activacion

🎬 Video de EGA Futura » Como se registran los Beneficios de cada Empleado en la base de datos de EGA Futura

🎬 Video de EGA Futura » EGA Futura Time Clock » Reloj de Control horario y asistencia

🎬 Video de EGA Futura » Como registrar Observaciones en un Empleado dentro de EGA Futura People?

🎬 Video de EGA Futura » Cómo registrar la Educación de cada Empleado en EGA Futura People?

🎬 Video de EGA Futura » Como hacer la Desvinculación de un Empleado? (Offboarding)

🎬 Video de EGA Futura » Como registrar Habilidades o Skills de empleados dentro de EGA Futura

🎬 Video de EGA Futura » Como hacer el Onboarding o Proceso de Incorporación de un Empleado?

🎬 Video de EGA Futura » Cómo administrar Turno de trabajo dentro de EGA Futura

🎬 Video de EGA Futura » Que es un Ticket interno dentro de la Plataforma EGA Futura

🎬 Video de EGA Futura » Que son los Entrenamientos de Empleado en EGA Futura people?

🎬 Video de EGA Futura » Qué son los Epics dentro de EGA Futura

🎬 Video de EGA Futura » Qué es EGA Futura People?

🎬 Video de EGA Futura » EGA Futura People » Asistencias

🎬 Video de EGA Futura » Soporte EGA Futura » Software de Gestión Windows vs Software de Gestión Nube 🤩

🎬 Video de EGA Futura » ツ Comparando un Objeto con un Fichero

🎬 Video de EGA Futura » ✍( ͡* ͜ʖ ͡*) ¿Qué es una Aplicación?

Introducción a Salesforce Flow - Parte 81 (¿Alguna vez se preguntó qué es un flujo activado por registro por objeto - Por tipo?))
Introducción a Salesforce Flow – Parte 81 (¿Alguna vez se preguntó qué es un flujo activado por registro por objeto – Por tipo?))