Última actualización el 19 de octubre de 2022 por Rakesh Gupta
Gran idea o pregunta duradera:
- ¿Cómo puede evitar la codificación rígida de ID en Salesforce Flow?
Objetivos:
Esta publicación de blog nos ayudará a comprender lo siguiente
- Comprender cómo usar etiquetas personalizadas para evitar el código duro de identificación en el flujo
- Comprender cómo usar la configuración personalizada para evitar el código duro de identificación en el flujo
- Comprender cómo usar tipos de metadatos personalizados para evitar el código duro de ID en el flujo
Donna Serdula trabaja como administradora de sistemas en Gurukul On Cloud (GoC) . Ha recibido un requisito de la administración cada vez que se crea una cuenta para la industria sin fines de lucro , crea automáticamente un caso y lo asigna a la cola de expertos sin fines de lucro para verificar el estado sin fines de lucro de la organización.
Enfoque de Campeón de Automatización (I-do):
Sí, a veces es una buena idea codificar los valores (por ejemplo, mientras se aprende Apex o Salesforce Flow o codificar el valor circular , es decir, 3.14), pero no existe una regla simple sobre cuándo; depende completamente del contexto. Si está codificando el valor de la constante gravitacional de la tierra, a nadie le va a importar. Si codifica la ID del registro (cola, grupo o ID de registro de Salesforce, etc.), tendrá problemas.
Una y otra vez, veo código de Apex o flujos que contienen identificaciones codificadas, ya sea el campo Descripción , una identificación de usuario o incluso una identificación de grupo, etc. El problema con los ID de codificación rígida es que cualquier cambio debe realizarse en el Flujo mismo, probarse nuevamente y luego implementarse en la organización de producción.
Los ID de registro pueden cambiar, por ejemplo, entre un espacio aislado y un entorno de producción . Es posible que una cola (expertos sin fines de lucro) tenga una ID diferente en un sandbox y una organización de producción .
Ahora puede consultar la identificación de la cola de expertos sin fines de lucro mientras crea un caso a través de Salesforce Flow.
El problema con este enfoque ( ID de cola de codificación fija ) es que, si está desarrollando en Sandbox, los ID de la cola recién creada cambiarán cuando llegue a Producción y tendrá que volver a trabajar.
–> De acuerdo con las mejores prácticas de Salesforce, todos le sugerirán que no codifique las identificaciones, consulte por ellas . Siempre es bueno seguir las mejores prácticas de Salesforce cuando sea posible.
Entonces, ¿qué sigue? ¿Cómo evitar la codificación rígida de ID en los flujos?
Algunas de las formas de evitar la codificación rígida son las siguientes
- Etiqueta personalizada : las etiquetas personalizadas son valores de texto personalizados a los que se puede acceder desde clases de Apex, páginas de Visualforce, flujos o componentes Lightning. Al implementar una etiqueta personalizada, sus datos también se implementan. Para evitar un comportamiento inesperado, asegúrese de actualizar el valor de la etiqueta personalizada después de la implementación.
- Configuración personalizada : – Las configuraciones personalizadas son variables que usa en su código pero establece y modifica fuera de su código. Los ajustes personalizados se almacenan en caché. Es especialmente útil para almacenar información a la que se accederá con frecuencia desde el código Apex o Flow, ya que funcionará mejor que un objeto personalizado. No cuenta contra los límites de SOQL cuando se recupera . La configuración personalizada no trae datos cuando los implementa.
- Tipo de metadatos personalizados : los tipos de metadatos personalizados son similares a la configuración personalizada. Al implementar un tipo de metadatos personalizado, sus datos también se implementan.
Antes de discutir la solución, permítame mostrarle un diagrama de un flujo de proceso de alto nivel. Dedique unos minutos a repasar el siguiente diagrama de flujo y comprenderlo.
Comencemos a construir este proceso de automatización.
Práctica guiada (nosotros hacemos):
Hay 2 pasos para resolver el requisito empresarial de Donna utilizando el flujo activado por registro después de guardar . Debemos:
- Crear una cola de expertos sin fines de lucro
- Pasos de flujo de Salesforce:
- Definir propiedades de flujo
- Fórmula para determinar si el registro se crea o actualiza
- Agregar un elemento de decisión para la industria de cuentas de cheques
- Agregue un elemento de obtención de registro para encontrar el ID de la cola
- Agregue un elemento de decisión para verificar la cola encontrada o no
- Agregue un elemento de creación de registros para crear un nuevo caso
Paso 1: Crear una cola Expertos en organizaciones sin fines de lucro
- Haga clic en Configuración .
- En la interfaz de usuario, escriba Colas .
- Haga clic en el botón Nuevo .
- Ingrese la etiqueta , el nombre de la cola se completará automáticamente.
- Haga clic en Guardar.
Paso 2.1: Definir propiedades de flujo
- Haga clic en Configuración .
- En el cuadro Búsqueda rápida, escriba Flujos .
- Seleccione Flujos, luego haga clic en Nuevo flujo .
- Seleccione la opción Record-Triggered Flow , haga clic en Create y configure el flujo de la siguiente manera:
- Objeto: Cuenta
- Activar el flujo cuando: se crea o actualiza un registro
- Establecer criterios de entrada
- Requisitos de condición: Ninguno
- Optimice el flujo para la acción y los registros relacionados
- Haga clic en Listo .
Paso 2.2: fórmula para determinar si el usuario está creado o actualizado
- En Caja de herramientas , seleccione Administrador y, a continuación, haga clic en Nuevo recurso para determinar si el registro es nuevo o antiguo.
- Ingrese la siguiente información :
- Tipo de recurso : Fórmula
- Nombre de API : forB_IsNew
- Tipo de datos : booleano
- Fórmula : EsNuevo()
- Haga clic en Listo .
Paso 2.3: agregue un elemento de decisión para verificar la industria de la cuenta
Usaremos el elemento Decisión para verificar si la industria de la cuenta no tiene fines de lucro.
- En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
- Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
- En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
- Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
- Fila 1:
- Recurso: {!$Record.Industry}
- Operador: Igual
- Valor: sin fines de lucro
- Haga clic en Agregar tarea
- Fila 2:
- Recurso : {!forB_IsNew}
- Operador : Igual
- Valor : {!$ConstanteGlobal.Verdadero}
- Fila 1:
- Cuándo ejecutar Resultado : Si se cumplen los requisitos de la condición .
- Haga clic en Listo .
Paso 2.4: agregue un elemento Obtener registro para encontrar el ID de cola para expertos sin fines de lucro
El siguiente paso es encontrar la Cola de expertos sin fines de lucro.
- En Flow Designer, debajo del nodo Sin fines de lucro , haga clic en el icono + y seleccione el elemento Obtener registros .
- Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
- Seleccione el objeto Grupo de registros de la lista desplegable.
- Seleccione Se cumplen todas las condiciones (Y) .
- Establecer condiciones de filtro
- Fila 1:
- Campo : Nombre
- Operador : Igual
- Valor : Expertos en organizaciones sin fines de lucro
- Haga clic en Agregar condición
- Fila 2:
- Campo : Tipo
- Operador : Igual
- Valor : cola
- Fila 1:
- Cuántos registros almacenar:
- Seleccione Solo el primer registro
- Cómo almacenar datos de registro:
- Elija la opción para Almacenar automáticamente todos los campos .
- Haga clic en Listo .
Paso 2.5: agregue un elemento de decisión para verificar la cola desde la variable de registro
Ahora usaremos el elemento Decisión para verificar la variable de registro del paso 2.4 para encontrar si devuelve la cola o no.
- En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
- Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
- En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completará automáticamente.
- Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
- Fila 1:
- Recurso: {!Get_Queue}
- Operador: es nulo
- Valor: {!$ConstanteGlobal.Falso}
- Haga clic en Listo .
- Fila 1:
Paso 2.6: Crear registros: crear un caso y asignarlo a la cola sin fines de lucro
Para crear un caso y asignarlo a la cola de Expertos sin fines de lucro , usaremos el elemento Crear registros .
- En Flow Designer, haga clic en el icono + y seleccione el elemento Crear registros .
- Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
- Ingrese la siguiente información :
- Cuántos registros crear : uno
- Cómo establecer los campos de registro : use recursos separados y valores literales
- Objeto : Caso
- Establecer valores de campo para el caso
- Fila 1:
- Campo : Estado
- Valor : Nuevo
- Haga clic en Agregar campo
- Fila 2:
- Campo : ID de propietario
- Valor : {!Get_Queue.Id}
- Haga clic en Agregar campo
- Fila 3:
- Campo : MonedaIsoCode
- Valor : USD
- Haga clic en Agregar campo
- Fila 4:
- Campo : Descripción
- Valor : verificar el estado sin fines de lucro de la organización
- Haga clic en Agregar campo
- Fila 5:
- Campo : ID de cuenta
- Valor : {!$Record.Id}
- Fila 1:
- Haga clic en Guardar .
Al final, Donna's Flow se verá como la siguiente captura de pantalla:
Una vez que todo se vea bien, realice los siguientes pasos:
- Haga clic en Guardar .
- Ingrese la etiqueta de flujo , el nombre de la API se completará automáticamente.
- Haga clic en Mostrar avanzado .
- Versión de API para ejecutar el flujo : 56
- Etiqueta de la entrevista : No codificar el ID {!$Flow.CurrentDateTime}
- Haga clic en Guardar .
¡Casi ahí! Una vez que todo se vea bien, haga clic en el botón Activar .
Prueba de concepto
A partir de ahora, si un usuario comercial crea una cuenta con Industria sin fines de lucro , el flujo activado por registro creará automáticamente un nuevo caso. Es hora de probar el proceso.
- Vaya a la pestaña Cuenta y cree una nueva cuenta para Industria sin fines de lucro , como se muestra en la siguiente captura de pantalla:
- Una vez hecho esto, haga clic en el botón Guardar n. Abrirá la página de detalles de la cuenta y verificará la lista relacionada con el caso, como se muestra en la siguiente captura de pantalla:
Evaluación formativa:
¡Quiero saber de ti!
¿Qué es una cosa que aprendiste de esta publicación? ¿Cómo imagina aplicar este nuevo conocimiento en el mundo real? Siéntase libre de compartir en los comentarios a continuación.
…
Esta es una traducción realizada por EGA Futura, y este es el link a la publicación original: https://automationchampion.com/2022/10/19/getting-started-with-process-builder-part-60-just-say-no-to-hard-coded-id/