Acceda din谩micamente a etiquetas personalizadas en Apex

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

Gran idea o pregunta duradera:

  • 驴C贸mo acceder din谩micamente a la etiqueta personalizada en Apex?

Objetivos:

Despu茅s de leer este blog, podr谩:

  • Acceda a la etiqueta personalizada en Apex din谩micamente
  • Acceda a la etiqueta personalizada en Apex de forma din谩mica para un idioma
  • y mucho m谩s

Ben Halpern es un desarrollador Jr. de Salesforce en Gurukul On Cloud (GoC) . Ben est谩 escribiendo c贸digo Apex para una historia de usuario que requiere obtener la siguiente etiqueta personalizada en alem谩n e hindi.

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

Despu茅s del lanzamiento de S ummer'23 , puede usar el m茅todo System.Label.get(namespace, label, language) para obtener una etiqueta personalizada, especificando opcionalmente un idioma . La funci贸n ahora permite la resoluci贸n din谩mica de nombres de etiquetas en tiempo de ejecuci贸n, incluida la anulaci贸n del idioma actual del usuario si existe una traducci贸n para el idioma solicitado.

Tambi茅n puede comprobar si existe una traducci贸n para una etiqueta y un idioma en un espacio de nombres mediante Label.translationExists(namespace, label, language) . No puede acceder a las etiquetas que est谩n protegidas en un espacio de nombres diferente.

Pr谩ctica guiada (nosotros hacemos):

Hay 3 pasos para resolver el requisito comercial de Ben usando Apex y Custom Label . Debemos:

  1. Configuraci贸n del banco de trabajo de traducci贸n
  2. Crear etiquetas personalizadas
  3. Script de Apex para acceder din谩micamente a etiquetas personalizadas

Paso 1: configurar el banco de trabajo de traducci贸n

Este paso es opcional; sin embargo, debemos asegurarnos de que el banco de trabajo de traducci贸n est茅 configurado correctamente para los requisitos actuales. Lea este art铆culo de ayuda para obtener instrucciones paso a paso.

Aseg煤rese de agregar idiomas para la traducci贸n, asignar traductores para cada idioma y activar o desactivar las traducciones de un idioma. Agregar茅 mi cuenta de usuario a hindi y alem谩n para el caso de uso comercial actual.

Paso 2: crea etiquetas personalizadas

  1. Haga clic en Configuraci贸n .
  2. En el cuadro B煤squeda r谩pida, escriba Etiquetas personalizadas .
  3. Seleccione Etiquetas personalizadas y luego haga clic en Nueva etiqueta personalizada .
    1. Cree la etiqueta personalizada como se muestra en la siguiente captura de pantalla:
  4. Haga clic en Ejecutar .

Paso 2: Script de Apex para acceder din谩micamente a etiquetas personalizadas

  1. Haga clic en Configuraci贸n | Consola de desarrollador .  
  2. Usar茅 la herramienta Ejecutar Apex an贸nimo en Developer Console para ejecutar el c贸digo Apex.
    1. Un bloque an贸nimo es un c贸digo Apex que no se almacena en los metadatos, pero se puede compilar y ejecutar. Los bloques an贸nimos se ejecutan como el usuario actual y pueden fallar al compilarse si el c贸digo viola los permisos de objeto y de nivel de campo del usuario.
  3. Para abrir la ventana Ejecutar an贸nimo, haga clic en Depurar | Abra la ventana Ejecutar an贸nimo .
     String choiceInEnglish = System.Label.get('rakeshistomMVP','PreferredFoodChoice','');
    system.debug('Valor original-'+choiceInEnglish); String choiceInHindi = System.Label.get('rakeshistomMVP','PreferredFoodChoice','hi');
    system.debug('Hindi Value-'+choiceInHindi); String choiceInGerman = System.Label.get('rakeshistomMVP','PreferredFoodChoice','de');
    system.debug('Valor alem谩n-'+elecci贸nEnAlem谩n);
Seguir leyendo

Configurar el tama帽o de lote para el activador de eventos de plataforma

Configurar el tama帽o de lote para el activador de eventos de plataforma

脷ltima actualizaci贸n el 30 de abril de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

  • 驴C贸mo configurar el usuario y el tama帽o del lote para Platform Event Trigger?

Objetivos:

Despu茅s de leer este blog, podr谩:

  • Comprender el tama帽o del lote para el activador de eventos de la plataforma
  • Anular el usuario de ejecuci贸n predeterminado para el desencadenador de eventos de la plataforma
  • Cree PlatformEventSubscriberConfig a trav茅s de la API REST
  • y mucho m谩s

Jestilla Zetkin trabaja como arquitecta de Salesforce en Gurukul On Cloud (GoC) . Recientemente, enfrent贸 desaf铆os mientras trabajaba con eventos de plataforma, principalmente l铆mites de gobernadores. Quiere aprender a configurar el tama帽o del lote para el activador de eventos de la plataforma. En este ejercicio, configuraremos el tama帽o del lote para lo siguiente:

  1. Activador de v茅rtice
    1. LeadGenerationEventTrigger en Lead_Generation__e
    2. Tama帽o del lote: 50
    3. Usuario ejecutor: Usuario de integraci贸n

驴Qu茅 es Plataforma de Eventos?

Las arquitecturas basadas en eventos se han vuelto muy populares en los 煤ltimos a帽os, y por una buena raz贸n. Se basa en el patr贸n de fuego y olvido . Activar un evento y dejar que cada sistema maneje la l贸gica empresarial le permite mantener los sistemas no relacionados desacoplados y puede ayudar a simplificar la arquitectura.

Los eventos de la plataforma le permiten entregar notificaciones de eventos seguras, escalables y personalizables dentro de Salesforce o desde fuentes externas. Las aplicaciones pueden publicar y suscribirse a eventos de plataforma en la plataforma de Salesforce mediante Apex, Flow o en un sistema externo mediante CometD. Si desea obtener m谩s informaci贸n sobre el evento de plataforma, consulte el m贸dulo de Trailhead .

驴Cu谩l es el tama帽o de lote predeterminado para el desencadenador de eventos de plataforma?

De forma predeterminada, el disparador de eventos de la plataforma se ejecuta como el usuario del sistema de procesos automatizados con un tama帽o de lote de 2000 mensajes de eventos. A veces es necesario cambiar el usuario y el tama帽o del lote para eludir los l铆mites del gobernador u otros desaf铆os.

Salesforce le permite anular el usuario de ejecuci贸n predeterminado y el tama帽o de lote de un desencadenador de Apex de evento de plataforma con PlatformEventSubscriberConfig en la API de herramientas o la API de metadatos para configurar el desencadenador.

Puede especificar cualquier usuario activo en la organizaci贸n de Salesforce. El activador se ejecuta en un contexto de sistema con privilegios para acceder a todos los registros independientemente de los permisos de nivel de campo y de objeto del usuario. Puede especificar un tama帽o de lote personalizado de 1 a 2000. El tama帽o del lote es el n煤mero m谩ximo de mensajes de eventos que se pueden enviar a un disparador en una ejecuci贸n.

Comprender el objeto PlatformEventSubscriberConfig

Hagamos una pausa aqu铆, familiar铆cese con el objeto de la API de herramientas PlatformEventUsageMetric en Salesforce. Representa los ajustes de configuraci贸n para un disparador de Apex de evento de plataforma, incluido el tama帽o del lote y el usuario que ejecuta el disparador.

Nombre del campo
Detalles
Tama帽o del lote Un tama帽o de lote personalizado, de 1 a 2000, para el desencadenador Apex del evento de plataforma. El tama帽o del lote corresponde al n煤mero m谩ximo de mensajes de eventos que se pueden enviar a un disparador en una ejecuci贸n. El tama帽o de lote predeterminado es 2000 para activadores de eventos de plataforma.
Nombre del desarrollador El nombre exclusivo del objeto PlatformEventSubscriberConfig.
etiqueta maestra Etiqueta para PlatformEventSubscriberConfig. En la interfaz de usuario, este campo es Configuraci贸n de suscriptor de eventos de plataforma.
PlatformEventConsumerId El ID del desencadenador de Apex del evento de plataforma que se va a configurar.
ID de usuario El ID del usuario con el que se ejecuta el desencadenador de Apex del evento de plataforma. De forma predeterminada, el disparador de eventos de la plataforma se ejecuta como la entidad de proceso automatizado. Establecer el usuario que ejecuta a un usuario espec铆fico tiene estos beneficios:

  • Los registros se crean o modifican como este usuario.
  • Los registros con campos OwnerId tienen sus campos OwnerId completados para este usuario cuando se crean o modifican.
  • Este usuario crea los registros de depuraci贸n para la ejecuci贸n del disparador.
  • Puede enviar un correo electr贸nico desde el activador, que no es compatible con el usuario de Proceso automatizado predeterminado.

Los componentes PlatformEventSubscriberConfig tienen el sufijo .platformEventSubscriberConfig y se almacenan en la carpeta PlatformEventSubscriberConfigs .

Este componente PlatformEventSubscriberConfig tiene la etiqueta LeadGenerationEventTriggerConfig . Contiene la configuraci贸n de un disparador de eventos de plataforma, LeadGenerationTrigger , y especifica el tama帽o del lote y el usuario.


<?versi贸n xml="1.0" codificaci贸n="UTF-8"?>
<PlatformEventSubscriberConfig xmlns="http://soap.sforce.com/2006/04/metadatos"> <platformEventConsumer>LeadGenerationTrigger</platformEventConsumer> <tama帽o del lote>50</tama帽o del lote> <masterLabel>LeadGenerationEventTriggerConfig</masterLabel> <usuario>desarrollador@automationchampion.com</usuario> <isProtected>falso</isProtected>
</PlatformEventSubscriberConfig>

Pr谩ctica guiada (nosotros hacemos):

Para agregar una configuraci贸n, realice una solicitud POST como se menciona a continuaci贸n:

  1. Abra Workbench e inicie sesi贸n con su nombre de usuario y contrase帽a de Trailhead Playground .
  2. Aseg煤rese de haber seleccionado la opci贸n Producci贸n para el medio ambiente .
  3. Navegue a la pesta帽a Utilidades y seleccione la opci贸n REST Explorer .
  4. Selecciona las siguientes opciones:
    1. Elija un m茅todo HTTP para realizar en el URI del servicio REST API a continuaci贸n : POST
    2. URL : /services/data/v58.0/tooling/sobjects/PlatformEventSubscriberConfig
    3. Cuerpo : proporcione los valores en el cuerpo de la solicitud. Esta solicitud de ejemplo configura un activador existente con un tama帽o de lote de 50 y especifica el ID de un usuario en ejecuci贸n.
      1. {
        "Tama帽o del lote": "50",
        鈥淣ombre del desarrollador鈥:鈥滾eadGenerationEventTriggerConfig鈥,
        鈥淢asterLabel鈥:鈥滾eadGenerationEventTriggerConfig鈥,
        鈥淧latformEventConsumerId鈥: 鈥01qB0000000Zcug鈥,
        鈥淚D de usuario鈥: 鈥005B00000015gt8鈥
        }
      2. D贸nde:
        1. 01qB0000000Zcug, disparador de Apex en Lead_Generation__e
        2. 005B00000015gt8, es el ID de usuario del usuario de integraci贸n
    4. Haga clic en Ejecutar .
  5. Puede consultar y recuperar las configuraciones en su organizaci贸n con SOQL. Si consulta desde Developer Console Query Editor, aseg煤rese de seleccionar Use Tooling API . Esta consulta de ejemplo recupera todas las configuraciones establecidas en su organizaci贸n de Salesforce.

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

Automation Studio y SQL en Marketing Cloud 鈽侊笍

Este blog lo ayuda a comprender los casos de uso de las actividades de Automation Studio y SQL Query en Marketing Cloud y brinda orientaci贸n sobre las mejores pr谩cticas.

La publicaci贸n Automation Studio y SQL en Marketing Cloud apareci贸 primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Escriba aserciones de Apex claras e intencionales con la nueva clase Assert 鈽侊笍

Una de las grandes mejoras nuevas de la versi贸n Winter '23 es una clase Assert dedicada. A medida que continuamos ampliando nuestra inversi贸n con Apex y la capacidad de prueba, esta actualizaci贸n har谩 que sea m谩s f谩cil encontrar todos los m茅todos de afirmaci贸n que necesita en un solo lugar. Echemos un vistazo a c贸mo esto se compara con el [鈥

La publicaci贸n Escribir afirmaciones claras e intencionales de Apex con la nueva clase de afirmaci贸n apareci贸 por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

Funciones interesantes de la plataforma de datos de clientes de Marketing Cloud para desarrolladores 鈽侊笍

La plataforma de datos de clientes (CDP) de Marketing Cloud existe desde hace un tiempo. Sin embargo, es posible que a煤n no est茅s familiarizado con 茅l. En nuestra publicaci贸n de blog anterior, discutimos la importancia de CDP en el contexto de Salesforce Genie. Esta publicaci贸n de blog lo guiar谩 a trav茅s de las funciones geniales que CDP tiene disponibles para los desarrolladores. [鈥

La publicaci贸n Caracter铆sticas interesantes de la plataforma de datos de clientes de Marketing Cloud para desarrolladores apareci贸 primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Redacci贸n de los servicios REST de Apex (y cu谩ndo no hacerlo) 鈽侊笍

Apex es el lenguaje central para personalizar la l贸gica comercial en la plataforma Salesforce y para la integraci贸n con sistemas de terceros. Siempre que necesite exponer datos de la plataforma o l贸gica personalizada a un sistema externo, una de sus opciones es crear un punto final REST de Apex personalizado. En esta publicaci贸n, discutiremos los casos de uso para implementar [鈥

La publicaci贸n Redacci贸n de los servicios REST de Apex (y cu谩ndo no hacerlo) apareci贸 primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

La forma m谩s f谩cil de convertir filtros ListView para usar en SOQL

脷ltima actualizaci贸n el 16 de mayo de 2022 por Rakesh GuptaGran idea o pregunta duradera: 驴C贸mo convertir filtros de vista de lista para usar en SOQL? Objetivos: despu茅s de leer este blog, podr谩: Convertir filtros de vista de lista a SOQL equivalente Exportar registros de la vista de lista a una hoja de c谩lculo de Excel Comprender las vistas de lista

La publicaci贸n La forma m谩s f谩cil de convertir filtros ListView para usar en SOQL apareci贸 primero en Automation Champion .

Seguir leyendo

Monitorear el uso de publicaci贸n y entrega de eventos de plataforma

脷ltima actualizaci贸n el 21 de marzo de 2022 por Rakesh Gupta Gran idea o pregunta duradera: 驴C贸mo monitorear el consumo de eventos de plataforma? Objetivos: despu茅s de leer este blog, podr谩: Comprender los eventos de la plataforma Diferentes aplicaciones para monitorear los usos de eventos de la plataforma Consultar los usos de eventos de la plataforma para un per铆odo de tiempo determinado Uso empresarial

El uso posterior de la publicaci贸n y entrega de eventos de la plataforma de monitoreo apareci贸 primero en Automation Champion .

Seguir leyendo

La forma m谩s f谩cil de ver los l铆mites diarios de la organizaci贸n

脷ltima actualizaci贸n el 21 de marzo de 2022 por Rakesh Gupta Gran idea o pregunta duradera: 驴C贸mo realizar un seguimiento del m谩ximo diario de su organizaci贸n y los l铆mites de asignaci贸n restantes? Objetivos: despu茅s de leer este blog, podr谩: Comprender el l铆mite asignado m谩ximo y restante Realizar un seguimiento de todos los l铆mites en un solo lugar a trav茅s de la API REST

La publicaci贸n La forma m谩s f谩cil de ver los l铆mites diarios de la organizaci贸n apareci贸 primero en Automation Champion .

Seguir leyendo

Introducci贸n a Salesforce Flow – Parte 75 (Implementar flujos o procesos mediante Workbench)

脷ltima actualizaci贸n el 16 de octubre de 2021 por Rakesh Gupta. Gran idea o pregunta duradera: 驴C贸mo se implementan los flujos o procesos con Workbench? Objetivos: Despu茅s de leer esta publicaci贸n de blog, el lector podr谩: Comprender c贸mo usar Workbench recuperar el conjunto de cambios Comprender c贸mo usar Workbench para implementar flujos

La publicaci贸n Getting Started with Salesforce Flow – Part 75 (Implementar flujo (s) o proceso (s) usando Workbench) apareci贸 primero en Automation Champion .

Seguir leyendo