Skip to main content
Join the Agentforce Virtual Hackathon to build innovative solutions and compete for a $50k Grand Prize. Sign up now. Terms apply.

Estimación de tiempo

Calcule valores en variables y fórmulas

Objetivos de aprendizaje

Después de completar esta unidad, podrá:

  • Concatenar dos valores de texto en un flujo.
  • Sumar y restar valores numéricos y de fechas en un flujo.
  • Crear una fórmula para calcular valores dinámicos en un flujo.
  • Explicar por qué podría utilizar una fórmula en un flujo.
Nota

Nota

¿Su idioma de aprendizaje es español? Comience el reto en un Trailhead Playground en español y utilice las traducciones proporcionadas entre paréntesis para navegar. Copie y pegue solo los valores en inglés, ya que las validaciones del reto se basan en los datos en inglés. Si no aprueba el reto en su organización en español, le recomendamos que (1) cambie la configuración regional a Estados Unidos, (2) cambie el idioma a inglés, siga las instrucciones descritas aquí y, a continuación, (3) vuelva a hacer clic en el botón Check Challenge (Comprobar el reto).

Consulte la insignia Trailhead en su idioma para obtener más información sobre cómo aprovechar la experiencia de Trailhead en otros idiomas.

Nota

Esta insignia es un paso más en el proceso de dominar Flow Builder. De principio a fin, la ruta Crear flujos con Flow Builder lo guía por todos los conceptos sobre Flow Builder. Siga esta secuencia recomendada de insignias para desarrollar capacidades sólidas de automatización de procesos y convertirse en experto de Flow Builder.

Manipular datos con el elemento Assignment (Asignación)

El elemento Assignment (Asignación) también puede modificar los datos existentes de una variable en lugar de reemplazarlos por completo.

Combinar texto

Cuando el tipo de datos de una variable es texto, puede seleccionar Add (Sumar) como operador del elemento Assignment (Asignación). El operador Add (Sumar) le permite añadir texto al final del valor actual.

El flujo Set Shipping Address (Establecer dirección de envío) está funcionando bastante bien, pero Flo ahora quiere saber cómo de actualizadas están estas direcciones. En el elemento de asignación Copy Address (Copiar dirección), vamos a agregar una fila que añada una nota al campo Description (Descripción) de la cuenta, indicando la fecha en la que se añadió la dirección de envío. No queremos reemplazar lo que ya está en el campo Description (Descripción), sino solo que se añada una nota al final del contenido. Sin embargo, tenga en cuenta que Salesforce no puede combinar variables de texto con recursos que no son texto, como pueden ser las variables de fechas o campos de números. Para incluir datos que no son texto, debe crear una fórmula que utilice la función TEXT() para convertir estos valores no textuales en texto.

Lo primero es crear una fórmula que contenga el texto añadido.

  1. Haga clic en Mostrar u ocultar la caja de herramientas para mostrar la caja de herramientas.
  2. Haga clic en New Resource (Nuevo recurso).
  3. En Resource Type (Tipo de recurso), seleccione Formula (Fórmula).
  4. En API Name (Nombre de API), introduzca frmChangeDateNote.
  5. Para el tipo de datos, seleccione Text (Texto). (Aunque estemos añadiendo una fecha, el resultado final debe ser un tipo de dato textual para que podamos añadirlo a un campo de texto).
  6. Introduzca este texto en el campo Formula (Fórmula):
    " Shipping address added on " & TEXT() [Dirección de envío añadida el " & TEXT()]
  7. Coloque el cursor entre los paréntesis ().
  8. En el campo Insert a resource… (Introducir un recurso…), seleccione $Flow > Current Date (Fecha actual).
  9. Haga clic en Check Syntax (Comprobar sintaxis).
    El corrector de sintaxis es especialmente útil para detectar errores en fórmulas largas y complejas con funciones anidadas.
    El campo de fórmula correspondiente a los pasos anteriores
  10. Haga clic en Done (Listo).

Antes de continuar con el siguiente paso, vamos a parar y echar un vistazo a un par de cosas de esa fórmula. 

" Shipping Address added on " & TEXT({!$Flow.CurrentDate})
  • Observe los espacios al principio y al final de la frase entrecomillada. Los espacios separan la nueva frase del texto que ya existe en el campo Description (Descripción) y de la fecha que le sigue. Por ejemplo, sin el espacio final, el flujo crearía una descripción que pondría "Dirección de envío añadida el02/03/2023".
  • El símbolo & le dice a la fórmula que combine el texto de antes y de después, similar a lo que estamos haciendo con el operador de la asignación Add (Sumar).
  • La función TEXT() convierte lo que está dentro del paréntesis en texto para poder utilizarlo en un campo de texto.

A continuación, agregue la línea de texto que quiere añadir a la asignación Copy Billing Address (Copiar dirección de facturación).

  1. Haga clic en el elemento Copy Billing Address (Copiar dirección de facturación) y seleccione Edit Element (Editar elemento).
  2. Haga clic en + Add Assignment (Agregar asignación).
  3. En el campo Variable, seleccione Account from Get Account Data (Cuenta desde Obtener datos de cuenta) y luego seleccione Account Description (Descripción de cuenta). Establecemos el campo Description (Descripción) de la variable de la cuenta aquí porque es la variable que cambia.
  4. En el campo Operator (Operador), seleccione Add (Sumar).
  5. En el campo Value (Valor), seleccione frmChangeDateNote. Seleccionamos la fórmula aquí porque contiene el valor de texto que queremos añadir a la descripción.
    La variable, el operador y el valor correspondientes a los pasos anteriores.
  6. Guarde el flujo.

Ahora, cuando el elemento Update Records (Actualizar registros) actualice la cuenta, la actualización incluirá la descripción modificada.

Nota

Si está utilizando una asignación solo para combinar dos textos sin ningún tipo de conversión, no necesita una fórmula para añadir espacio entre el texto antiguo y el nuevo. Puede añadir de manera manual un espacio antes del nuevo texto en el campo Value (Valor). Por ejemplo, con una variable llamada "Answer" (Preguntar), puede introducir " {!Answer}" directamente en el campo Value (Valor).

Realizar cálculos simples

También puede utilizar el operador Add (Sumar) para añadir una variable con un tipo de dato numérico o monetario. Sin embargo, esto realiza una fórmula matemática: si combina los valores de los números 4 y 2, obtendrá 6, no 42. También puede utilizar el operador Substract (Restar) para restar valores de variables numéricas y monetarias.

Por ejemplo, el elemento Assignment (Asignación) le resta un descuento al precio de la oportunidad. El importe de la variable de oportunidad va en el campo Variable, porque ese es el valor que cambia. Operator (Operador) se establece en Substract (Restar). Finalmente, la variable con el descuento se muestra en el campo Value (Valor).

El panel lateral New Assignment (Nueva asignación) correspondiente a las descripciones anteriores y posteriores.

Pero observe la segunda línea: está sumando un valor a un campo de fecha. También puede utilizar los operadores Add (Sumar) y Substract (Restar) para sumar o restar días a un valor de fecha. El elemento Assignment (Asignación) suma 2 días a la fecha de cierre de la oportunidad.

Calcular cambios automáticamente con fórmulas

Cuando creó la fórmula frmChangeDateNote, el símbolo & combinó dos textos, de la misma manera en que funciona el operador Add (Sumar) en una asignación. Entonces, ¿por qué no utilizamos el símbolo & para adjuntar la fecha directamente al campo Description (Descripción)? El símbolo & funciona solamente en fórmulas, y Description (Descripción) es un campo de texto largo. En las fórmulas de los flujos, Salesforce no admite campos de textos largos porque pueden superar fácilmente el límite de cálculo de una fórmula.

Esta restricción es un ejemplo de los límites y complicaciones del uso de fórmulas en los flujos. Las fórmulas de los flujos tienen un tiempo de cálculo y un número de caracteres limitados, lo que hace que las fórmulas complejas sean intrínsecamente arriesgadas. Además, a diferencia de las variables, las fórmulas no se pueden modificar a mitad de flujo. Entonces, ¿cuándo es una buena idea utilizar una fórmula?

Piense en las fórmulas como otros destornilladores que incluye su caja de herramientas, aquellos que tienen la punta de formas que no ha visto jamás. Puede que no los utilice mucho; pero, cuando se encuentre con un tornillo con una de esas huellas en el cabezal, se alegrará de tener ese destornillador especial. En otras palabras, como regla general, debería utilizar una fórmula cuando se encuentre con un problema que solo una fórmula puede solucionar.

Flo Smith sujetando perpleja un destornillador con una forma rara.

La fórmula frmChangeDateNote es el ejemplo perfecto que sigue esa regla. No podemos utilizar un elemento Assignment (Asignación) para adjuntar una fecha a la descripción porque primero la fecha se tiene que convertir en un valor de texto. Necesitamos utilizar la función TEXT() de la fórmula para realizar esa conversión.

Recursos

Reto práctico

+500 puntos

Prepararse

Completará esta/este unidad en su propia organización de prácticas. Haga clic en Iniciar para empezar a trabajar o haga clic en el nombre de su organización para seleccionar otro diferente.

Su reto

Combine Texts Using the Assignment Element
Create a flow that adds "VIP" to the beginning of an account's description when a related opportunity has “VIP” in its name and the opportunity is set to Closed Won.
  • Create a record-triggered flow:
    • Object: Opportunity
    • Trigger the Flow When: A record is updated
    • Condition Requirements: All Conditions Are Met (AND)
    • Add a condition:
      • Field: Stage
      • Operator: Equals
      • Value: Closed Won
    • Add another condition:
      • Field: Name
      • Operator: Contains
      • Value: VIP
    • When to Run the Flow for Updated Records: Only when a record is updated to meet the condition requirements
    • Optimize the Flow for: Actions and Related Records

  • Create a text variable:
    • API Name: VIP_Description
    • Default Value: VIP. (Include a space after the period so that the two texts don’t run together.)

  • Add a Get Records element:
    • Label: Get Account
    • API Name: Get_Account
    • Object: Account
    • Condition Requirements: All Conditions Are Met (AND)
      • Field: Id
      • Operator: Equals
      • Value: $Record > AccountId
    • Keep default values for all other settings

  • After the Get Records element, add an Assignment element:
    • Label: Append Description to VIP_Description
    • API Name: Append_Description_to_VIP_Description
    • Variable: VIP_Description
    • Operator: Add
    • Value: Account from Get Account > Account Description

  • After the Assignment element, add an Update Records element:
    • Label: Update Account Description
    • API Name: Update_Account_Description
    • Select Update records related to the opportunity record that triggered the flow
    • Records Related to Opportunity: Triggering Opportunity > Account ID (To select the whole Account record, after you select Account ID, click outside the picklist.)
    • Condition Requirements to Update Record: None—Update All Related Records
    • Set Field Values:
      • Field: Description
      • Value: VIP_Description

  • Save and activate the flow.
    • Label: Add VIP to Description
    • API Name: Add_VIP_to_Description
Comparta sus comentarios sobre Trailhead en la Ayuda de Salesforce.

Nos encantaría conocer su experiencia con Trailhead. Ahora puede acceder al nuevo formulario de comentarios cuando quiera desde el sitio de la Ayuda de Salesforce.

Más información Continuar para compartir comentarios