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.
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.
- Haga clic en
para mostrar la caja de herramientas.
- Haga clic en New Resource (Nuevo recurso).
- En Resource Type (Tipo de recurso), seleccione Formula (Fórmula).
- En API Name (Nombre de API), introduzca
frmChangeDateNote
.
- 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).
- Introduzca este texto en el campo Formula (Fórmula):
" Shipping address added on " & TEXT()
[Dirección de envío añadida el " & TEXT()] - Coloque el cursor entre los paréntesis ().
- En el campo Insert a resource… (Introducir un recurso…), seleccione $Flow > Current Date (Fecha actual).
- 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.
- 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.
- 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).
- Haga clic en el elemento Copy Billing Address (Copiar dirección de facturación) y seleccione Edit Element (Editar elemento).
- Haga clic en + Add Assignment (Agregar asignación).
- 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.
- En el campo Operator (Operador), seleccione Add (Sumar).
- 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.
- Guarde el flujo.
Ahora, cuando el elemento Update Records (Actualizar registros) actualice la cuenta, la actualización incluirá la descripción modificada.
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).
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.
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
- Trailhead: Fórmulas y validaciones (usar campos de fórmula)
- Ayuda de Salesforce: Consideraciones de las fórmulas de flujo