Eliminaci贸n definitiva de registros con Salesforce Flow

Eliminaci贸n definitiva de registros con Salesforce Flow

脷ltima actualizaci贸n el 22 de mayo de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

  • 驴C贸mo eliminar registros de Salesforce utilizando Flow?

Objetivos:

Despu茅s de leer este blog, podr谩:

  • Comprender la anotaci贸n @InvocableMethod
  • M谩s informaci贸n sobre el m茅todo database.emptyRecycleBin
  • Configurar la acci贸n de Apex para eliminar registros de forma permanente de Flow
  • Configurar el flujo de pantalla con el elemento Eliminar registro
  • Y mucho m谩s

驴Qu茅 es la eliminaci贸n completa?

La eliminaci贸n definitiva es la eliminaci贸n permanente de los registros especificados de la Papelera de reciclaje. Cuando los datos se eliminan de forma permanente, es casi imposible recuperarlos. Esto generalmente se logra a trav茅s de los m茅todos Database.EmptyRecycleBin .

Al vaciar los contenedores de reciclaje, tenga en cuenta las siguientes reglas y pautas:

  • Una vez que los registros se eliminan de la Papelera de reciclaje mediante esta llamada, se pueden consultar mediante queryAll() durante alg煤n tiempo. Por lo general, este tiempo es de 24 horas, pero puede ser m谩s corto o m谩s largo.
  • Una vez que los registros se eliminan mediante la llamada Database.EmptyRecycleBin , no se pueden recuperar.

Warren Mason es administrador de sistemas en Gurukul on Cloud (GoC). En GoC est谩n utilizando Salesforce Flow para optimizar los procesos de ventas. Warren tiene un requisito para eliminar clientes potenciales sin correo electr贸nico. Est谩 construyendo un flujo de pantalla:

  1. Descubra todos los clientes potenciales sin correo electr贸nico
  2. Eliminar definitivamente tales clientes potenciales

Enfoque de Campe贸n de Automatizaci贸n (I-do):

Si bien esto se puede resolver con varias herramientas de automatizaci贸n como Apex Trigger y otras, usaremos Salesforce Flow y llamaremos a un m茅todo de Apex . Para llamar a un m茅todo de Apex , agregue el elemento Acci贸n a su Flujo de Salesforce y seleccione una clase de Apex con una anotaci贸n @InvocableMethod .

En este art铆culo, usaremos la llamada clase de base de datos EmptyRecycleBin . Con Database.EmptyRecycleBin es posible borrar los registros de Salesforce. El m茅todo EmptyRecycleBin() elimina los registros de la papelera de reciclaje inmediatamente. A partir del lanzamiento de Summer'23 , no es posible acceder directamente al m茅todo EmptyRecycleBin desde Flow, por eso estamos usando la clase Apex Invocable.

Antes de discutir la soluci贸n, perm铆tame mostrarle un diagrama del proceso a un alto nivel. Dedique unos minutos a revisar el siguiente diagrama de flujo para comprenderlo.

Comencemos a construir este proceso de automatizaci贸n.

Pr谩ctica guiada (nosotros hacemos):

Hay 2 pasos para resolver el requisito comercial de Warren usando Screen Flow . Debemos:

  1. Cree una clase de Apex y una clase de prueba para eliminar registros de forma permanente de la Papelera de reciclaje.
  2. Flujo de fuerza de ventas
    1. Definir propiedades de flujo para el flujo de pantalla
    2. Agregue un elemento Obtener registros para encontrar todos los clientes potenciales sin direcci贸n de correo electr贸nico
    3. Agregue un elemento de decisi贸n para verificar los clientes potenciales encontrados o no (del paso 2)
    4. Agregue el elemento Eliminar registros para eliminar clientes potenciales
    5. Agregar acci贸n: llame a Empty RecycleBin Invocable Apex Class

Paso 1: Cree una clase de Apex y una clase de prueba

Ahora, tenemos que comprender una nueva anotaci贸n de Apex, es decir, @InvocableMethod . Esta anotaci贸n nos permite usar un m茅todo de Apex como algo que se puede llamar desde Flow y Apex. Los m茅todos invocables se llaman con la API REST y se usan para invocar un solo m茅todo de Apex. Los m茅todos invocables tienen valores de entrada y salida din谩micos y admiten llamadas de descripci贸n.

La anotaci贸n InvocableVariable identifica una variable de clase utilizada como par谩metro de entrada o salida para la acci贸n invocable de un m茅todo InvocableMethod. Si crea su propia clase personalizada para usarla como entrada o salida de un m茅todo invocable, puede anotar variables de miembros de clase individuales para que est茅n disponibles para el m茅todo.

La anotaci贸n de variable invocable admite los modificadores que se muestran en este ejemplo.


@InvocableVariable(label='variableLabel' description='variableDescription' requerido=(verdadero | falso))

La clase EmptyRecycleBin contiene dos variables, una para eliminar un solo registro y otra para manejar la eliminaci贸n de varios registros. Si茅ntase libre de pasar el valor a una o ambas variables seg煤n sea necesario. Cree la siguiente clase en su organizaci贸n.


clase p煤blica EmptyRecycleBin { @InvocableMethod(label='Papelera de reciclaje vac铆a' description='Eliminar permanentemente los registros de la Papelera de reciclaje.' iconName='slds:est谩ndar:record_delete' categor铆a = 'Acciones de Apex personalizadas') ejecuci贸n de vac铆o est谩tico p煤blico (Lista <Solicitudes> lista de solicitudes) { List<SObject> recordstoDelete = New List<SObject>(); para (Solicitudes req: lista de solicitudes) { if(req.obj != null){ recordstoDelete.add(req.obj); } if(req.listofSObjects != null){ recordstoDelete.addAll(req.listofSObjects); } } if(registrosparaEliminar.tama帽o()>0){ Database.emptyRecycleBin(registrosparaEliminar); } } Solicitudes de clases p煤blicas{ @InvocableVariable (descripci贸n ='Aceptar un registro de tipo SObject.' requerido=falso) objeto p煤blico SObject; @InvocableVariable (descripci贸n ='Aceptar m煤ltiples registros de un tipo SObject.' requerido=falso) public List<SObject> listofSObjects; }
}

Copie el c贸digo de GitHub o inst谩lelo usando esta URL .

Paso 2.1: Definir propiedades de flujo

  1. Haga clic en Configuraci贸n .
  2. En el cuadro B煤squeda r谩pida, escriba Flujos .
  3. Seleccione Flujos y luego haga clic en Nuevo flujo .
  4. Seleccione el flujo de pantalla   opci贸n y haga clic en Crear y configurar el flujo.
  5. Se abrir谩 el dise帽ador de flujo para usted.

Paso 2.2: Adici贸n de elementos Obtener registros para encontrar clientes potenciales sin correo electr贸nico

El siguiente paso es usar el objeto Prospecto para encontrar los prospectos sin direcci贸n de correo electr贸nico.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Obtener registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completar谩 autom谩ticamente.
  3. Seleccione el objeto Prospecto de la lista desplegable.
  4. Seleccione Se cumplen todas las condiciones (Y) .
  5. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo : Correo electr贸nico
      2. Operador : Igual
      3. Valor : {!$ConstanteGlobal.EmptyString}
  6. Cu谩ntos registros almacenar:
    1. Seleccionar todos los registros
  7. C贸mo almacenar datos de registro:
    1. Elija la opci贸n para Almacenar autom谩ticamente todos los campos .

Paso 2.3: uso del elemento de decisi贸n para verificar la variable de recopilaci贸n de registros (del paso 2)

Ahora usaremos el elemento Decisi贸n para comprobar la Variable de recopilaci贸n de registros del paso 2 para saber si devuelve el cliente potencial o no.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisi贸n .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completar谩 autom谩ticamente.
  3. En Detalles del resultado , ingrese la etiqueta que el nombre de la API se completar谩 autom谩ticamente.
  4. Requisitos de condici贸n para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso: {!Get_Leads}
      2. Operador: es nulo
      3. Valor: {!$ConstanteGlobal.Falso}
    2. Haga clic en Listo .

Paso 2.4: Agregar acci贸n: eliminar registros para eliminar clientes potenciales

El siguiente paso es eliminar los clientes potenciales que encontramos en el Paso 2.2 . Para ello utilizaremos el elemento Eliminar Registros .

  1. En Flow Designer, debajo del nodo S铆 , haga clic en el icono + y seleccione el elemento Eliminar registros .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completar谩 autom谩ticamente.
  3. Para C贸mo encontrar registros para eliminar, seleccione Usar los ID almacenados en una variable de registro o una variable de colecci贸n de registros .
  4. Selecciona el   {!Get_Leads} de la lista desplegable.
  5. Haga clic en Listo.

Paso 2.5: Adici贸n de una acci贸n para llamar a una clase de Apex invocable

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Acci贸n .
  2. Seleccione la clase de Apex invocable EmptyRecycleBin .
  3. Ingrese un nombre en el campo Etiqueta : el nombre de la API se completar谩 autom谩ticamente.
  4. Establecer valores de entrada:
    1. Objeto para 鈥渓istofSObjects鈥 (Entrada) : Lead
    2. Objeto para "obj" (Entrada) : Plomo
  5. Almacenar valores de entrada
    1. listofSObjects : {!Get_Leads}
  6. Haga clic en Listo .

Al final, Warren's Flow se ver谩 como la siguiente captura de pantalla:

Una vez que todo se vea bien, guarde el flujo.

Prueba de concepto

  1. Cre茅 201 clientes potenciales sin una direcci贸n de correo electr贸nico para probar el flujo anterior.
  2. Ahora ejecute el flujo de pantalla y espere a que se complete el flujo.
  3. Vuelva a la Papelera de reciclaje para asegurarse de que los clientes potenciales se hayan eliminado definitivamente.

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.

Seguir leyendo

Diferentes formas de hacer que el componente de la pantalla sea de solo lectura

Diferentes formas de hacer que el componente de la pantalla sea de solo lectura

脷ltima actualizaci贸n el 9 de abril de 2023 por Rakesh Gupta Gran idea o pregunta duradera: 驴C贸mo hacer que el componente de pantalla sea de solo lectura? Objetivos: despu茅s de leer este blog, podr谩: Agregar texto de solo lectura al componente de pantalla usando Display Text Agregar texto de solo lectura al componente de pantalla usando un Lightning Web personalizado

La publicaci贸n Diferentes formas de hacer que el componente de pantalla sea de solo lectura apareci贸 primero en Automation Champion .

Seguir leyendo

Agregar seguidores de Chatter al registro

C贸mo agregar autom谩ticamente seguidores de Chatter al registro

La publicaci贸n Agregar seguidores de Chatter al registro apareci贸 primero en Automation Champion .

Seguir leyendo

Mejores pr谩cticas de LWC para flujos de pantalla 鈽侊笍

Aseg煤rese de que sus componentes se integren bien en el motor de tiempo de ejecuci贸n de flujo y funcionen como se espera en este blog sobre Screen Flows.

La publicaci贸n Mejores pr谩cticas de LWC para flujos de pantalla apareci贸 primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Anunciando los Ganadores del Premio Codey 2022 鈽侊笍

Consulte los ganadores del Premio Codey a los mejores blogs, videos y podcasts de 2022, seg煤n la votaci贸n de la comunidad de desarrolladores de Salesforce.

La publicaci贸n Anunciando los ganadores del premio Codey 2022 apareci贸 primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Resumen de 2022: nuevas funciones para desarrolladores del a帽o pasado 鈽侊笍

Cada a帽o, los desarrolladores de Salesforce se encuentran en el extremo receptor de una cinta transportadora de funciones nuevas importantes y, a veces, esenciales de la plataforma de Salesforce.

La publicaci贸n 2022 en revisi贸n: nuevas funciones para desarrolladores del a帽o pasado apareci贸 primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Flujos de pantalla integrados en sus componentes web Lightning 鈽侊笍

Screen Flow permite a los desarrolladores y administradores crear interfaces de usuario y vincularlas a los datos de Salesforce, y utilizar componentes web Lightning como elementos de flujo.

La publicaci贸n Integrar flujos de pantalla en sus componentes web Lightning apareci贸 por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

Cree una b煤squeda filtrada con Choice Lookup

脷ltima actualizaci贸n el 11 de diciembre de 2022 por Rakesh Gupta Gran idea o pregunta duradera: 驴C贸mo se usa el nuevo componente de b煤squeda de opciones (beta) para mostrar registros filtrados? Este blog es una continuaci贸n de mi blog anterior: seleccione varios registros en el componente de b煤squeda. En el blog anterior, habl茅

La publicaci贸n Create Filtered Lookup with Choice Lookup apareci贸 primero en Automation Champion .

Seguir leyendo

Crear b煤squeda con formularios din谩micos para flujo

脷ltima actualizaci贸n el 9 de diciembre de 2022 por Rakesh GuptaGran idea o pregunta duradera: 驴C贸mo se agrega un campo de b煤squeda desde el objeto con el filtro de b煤squeda aplicado? Hasta ahora hemos discutido varios usos para usar diferentes campos de componentes de b煤squeda: 驴Qu茅? 驴Usar campo de b煤squeda en un elemento de pantalla de flujo?

La publicaci贸n Create Lookup with Dynamic Forms for Flow apareci贸 primero en Automation Champion .

Seguir leyendo

Seleccionar varios registros en el componente de b煤squeda

脷ltima actualizaci贸n el 8 de diciembre de 2022 por Rakesh Gupta Gran idea o pregunta duradera: al usar el componente de b煤squeda, permita que sus usuarios seleccionen m谩s de un registro. Este blog es una continuaci贸n de mi blog anterior: 驴Qu茅? 驴Usar campo de b煤squeda en un elemento de pantalla de flujo? En el blog anterior,

La publicaci贸n Seleccione varios registros en el componente de b煤squeda apareci贸 primero en Automation Champion .

Seguir leyendo

Limite el n煤mero de sesiones simult谩neas en Salesforce

脷ltima actualizaci贸n el 10 de octubre de 2022 por Rakesh GuptaGran idea o pregunta duradera: 驴C贸mo limitar la cantidad de sesiones simult谩neas para un usuario? Objetivos: despu茅s de leer este blog, podr谩: Comprender las sesiones concurrentes y c贸mo identificarlas usando Flow Limitar el n煤mero de sesiones concurrentes con

La publicaci贸n Limitar el n煤mero de sesiones simult谩neas en Salesforce apareci贸 primero en Automation Champion .

Seguir leyendo

Mostrar datos de registros en una tabla mediante DataTable

脷ltima actualizaci贸n el 9 de octubre de 2022 por Rakesh Gupta Gran idea o pregunta duradera: 驴C贸mo mostrar registros en una tabla usando la tabla de datos y procesar los registros seleccionados? Objetivos: despu茅s de leer este blog, podr谩: Comprender c贸mo usar la tabla de datos Funciona con el elemento Obtener registros para obtener

La publicaci贸n Mostrar datos de registros en una tabla usando DataTable apareci贸 primero en Automation Champion .

Seguir leyendo

Componente de 谩rea de texto enriquecido para Screen Flow

脷ltima actualizaci贸n el 10 de junio de 2022 por Rakesh Gupta Gran idea o pregunta duradera: 驴C贸mo agregar un campo de 谩rea de texto enriquecido a una pantalla de flujo? Objetivos: despu茅s de leer este blog, podr谩: Crear un componente web Lightning para el flujo de pantalla Agregar un editor de propiedades personalizado para un

El componente de 谩rea de texto enriquecido posterior para el flujo de pantalla apareci贸 por primera vez en Automation Champion .

Seguir leyendo

Esc谩ner de c贸digo de barras para el flujo de pantalla con la API de BarcodeScanner

脷ltima actualizaci贸n el 8 de junio de 2022 por Rakesh Gupta Gran idea o pregunta duradera: 驴C贸mo escanear y procesar un c贸digo de barras de Screen Flow? Objetivos: despu茅s de leer este blog, podr谩: Usar la API BarcodeScanner en el componente web Lightning Crear un componente web Lightning para el flujo de pantalla con un

La publicaci贸n Esc谩ner de c贸digo de barras para el flujo de pantalla con la API de BarcodeScanner apareci贸 primero en Automation Champion .

Seguir leyendo

C贸mo obtener la URL base de la organizaci贸n de Salesforce en Flow

脷ltima actualizaci贸n el 25 de abril de 2022 por Rakesh Gupta Gran idea o pregunta persistente: 驴C贸mo obtiene la URL base de su organizaci贸n de Salesforce (incluida la comunidad) y la URL completa de registro en Flow? Objetivos: despu茅s de leer este blog, podr谩: Obtener la URL base de su organizaci贸n de Salesforce en el flujo

La publicaci贸n C贸mo obtener la URL base de la organizaci贸n de Salesforce en Flow apareci贸 primero en Automation Champion .

Seguir leyendo

Secciones plegables en Screen Flow

脷ltima actualizaci贸n el 24 de abril de 2022 por Rakesh Gupta Gran idea o pregunta duradera: 驴C贸mo se crea un flujo de pantalla con secciones plegables? Objetivos: despu茅s de leer este blog, podr谩: Agregar una secci贸n al elemento de la pantalla Hacer que una secci贸n en el flujo de la pantalla sea plegable y mucho m谩s

La publicaci贸n Secciones plegables en Screen Flow apareci贸 primero en Automation Champion .

Seguir leyendo

C贸mo reparar el error FIELD_INTEGRITY_EXCEPTION

脷ltima actualizaci贸n el 18 de abril de 2022 por Rakesh Gupta Gran idea o pregunta duradera: 驴C贸mo resuelve el error FIELD_INTEGRITY_EXCEPTION? El flujo activado por registros es una forma de automatizar los procesos comerciales. Record-Triggered Flow es una poderosa herramienta para que los administradores y desarrolladores de sistemas implementen procesos comerciales sin escribir c贸digo. Sin embargo, con gran poder viene

La publicaci贸n C贸mo corregir el error FIELD_INTEGRITY_EXCEPTION apareci贸 primero en Automation Champion .

Seguir leyendo

Introducci贸n a Salesforce Flow – Parte 61 (Clonar un grupo p煤blico o una cola con miembros)

Clonar un grupo p煤blico o una cola con miembros en Salesforce usando Salesforce Flow

La publicaci贸n Getting Started with Salesforce Flow – Part 61 (Clonar un grupo p煤blico o cola con miembros) apareci贸 primero en Automation Champion .

Seguir leyendo

Cinco lecciones aprendidas al trabajar con componentes en Salesforce

脷ltima actualizaci贸n el 21 de diciembre de 2021 por Rakesh Gupta Introducci贸n En primer lugar, nos gustar铆a presentarnos a nosotros mismos y a nuestra empresa: SharinPix. Tenemos nuestra sede en Francia y nuestro objetivo es ser la opci贸n predeterminada cuando se trata de tomar, cargar y trabajar con im谩genes en el ecosistema de Salesforce. Empezamos

La publicaci贸n Cinco lecciones aprendidas al trabajar con componentes en Salesforce apareci贸 primero en Automation Champion .

Seguir leyendo

Introducci贸n a Salesforce Flow – Parte 69 (驴Establecer un valor predeterminado para el conjunto de opciones de registro? Claro, 驴por qu茅 no?)

脷ltima actualizaci贸n el 14 de septiembre de 2021 por Rakesh Gupta Gran idea o pregunta duradera: 驴Sorprendido, que establecer un valor predeterminado preseleccionado para un componente de Elecci贸n de registro no es f谩cil? Si es as铆, una cosa para recordar es que con suficiente creatividad y persistencia, la versatilidad de Salesforce Flows es tal que puede

La publicaci贸n Getting Started with Salesforce Flow – Part 69 (Establecer un valor predeterminado para Record Choice Set? Claro, 驴por qu茅 no?) Apareci贸 primero en Automation Champion .

Seguir leyendo

Introducci贸n a Salesforce Flow – Parte 68 (Configurar un enlace de registro din谩micamente en Flow)

Gran idea o pregunta duradera: 驴C贸mo se configura un enlace de registro de forma din谩mica en Flow? 驴Puedo crear un enlace din谩mico en el que se puede hacer clic en Salesforce Flow que se puede usar con un elemento Pantalla, una de las preguntas m谩s comunes que se hacen con bastante frecuencia? Hay varias formas de

La publicaci贸n Getting Started with Salesforce Flow – Part 68 (Configure a Record Link Dynamically in Flow) apareci贸 primero en Automation Champion .

Seguir leyendo

Introducci贸n a Salesforce Flow – Parte 67 (隆Hurra! 隆Analizar una lista de selecci贸n m煤ltiple ya no es un problema! 隆Uf!)

Gran idea o pregunta duradera: proporcione un asistente que le permita a su equipo de ventas internas y a los agentes de telemercadeo agregar clientes potenciales a varias campa帽as. Hace 6 a帽os escrib铆 un art铆culo (Agregar registro a varios grupos de Chatter – An谩lisis de campos de lista de selecci贸n de selecci贸n m煤ltiple) para analizar la lista de selecci贸n de selecci贸n m煤ltiple o el grupo de casillas de verificaci贸n en Salesforce Flow. No

La publicaci贸n Getting Started with Salesforce Flow – Part 67 (隆Hurra! 隆Analizar una lista de selecci贸n de selecci贸n m煤ltiple ya no es un problema! 隆Uf!) Apareci贸 primero en Automation Champion .

Seguir leyendo

Introducci贸n a Salesforce Flow – Parte 63 (Permitir a los usuarios transferir en masa los registros de su propiedad)

Gran idea o pregunta duradera: 驴C贸mo permite que los representantes de ventas transfieran f谩cilmente sus oportunidades a otro usuario? En el mundo actual, los representantes de ventas cambian de trabajo con frecuencia. Transferir sus negocios o clientes potenciales existentes o cerrados a otro usuario es鈥 Continuar leyendo

La publicaci贸n Getting Started with Salesforce Flow – Part 63 (Permitir que los usuarios transfieran en masa los registros que poseen) apareci贸 primero en Automation Champion .

Seguir leyendo

5 ideas simples de flujo de Salesforce con gran impacto

Salesforce Flow es una caracter铆stica extremadamente poderosa, la m谩s poderosa dentro del arsenal de cualquier administrador de Salesforce. Es una herramienta de configuraci贸n de apuntar y hacer clic que otorga a los administradores la capacidad de integrar l贸gica empresarial compleja en Salesforce sin tener que escribir una sola l铆nea de c贸digo. En este art铆culo, analizaremos cinco ideas diferentes de Salesforce Flow que pueden [鈥

La publicaci贸n 5 Ideas simples de flujo de Salesforce con gran impacto apareci贸 primero en Inspire Planner .

Seguir leyendo