Calcular 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 fecha en un flujo.
- Crear una fórmula para calcular valores dinámicos en un flujo.
- Explicar por qué podría usar una fórmula en un flujo.
Manipular datos con el elemento de asignación
El elemento Assignment (Asignación) también puede cambiar los datos de las variables existentes en lugar de reemplazarlas por completo.
Combinar texto
Cuando el tipo de datos de una variable es texto, puede seleccionar Add (Suma) como el operador del elemento de asignación. El operador de suma permite agregar texto al final del valor actual.
El flujo Set Shipping Address (Establecer dirección de envío) funciona bastante bien, pero ahora Flo quiere saber qué tan actual es la dirección de envío. En el elemento de asignación Copy Address (Copiar dirección), agregaremos una fila que anexe una nota al campo Description (Descripción) de la cuenta, en la que se indique la fecha cuando se agregó la dirección de envío a la cuenta. No queremos reemplazar lo que ya se encuentra en el campo de descripción, solo agregar una nota al final. Sin embargo, tenga en cuenta que Salesforce no puede combinar las variables de texto con recursos que no son de texto, como las variables de fecha o los campos numéricos. Para agregar datos que no son de texto, cree una fórmula que use la función TEXT() para convertir el valor que no es de texto a texto.
Primero, creemos una fórmula que contenga el texto agregado.
- 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
.
- En Data Type (Tipo de datos), seleccione Text (Texto). (Aunque vamos a agregar una fecha, el resultado final tiene que ser el tipo de datos de texto para poder agregarlo a un campo de texto).
- Introduzca este texto en el campo Formula (Fórmula):
" Shipping Address added on " & TEXT()
(" Dirección de envío agregada el " & TEXT()) - Coloque el cursor entre los paréntesis ( ).
- En el campo Insert a resource… (Insertar un recurso…), seleccione $Flow > Current Date (Fecha actual).
- Haga clic en Check Syntax (Comprobar sintaxis).
El comprobador de sintaxis es especialmente útil para detectar errores en fórmulas complejas y largas con funciones anidadas.
- Haga clic en Done (Listo).
Antes de avanzar al siguiente paso, hagamos una pausa y observemos algunas características en esa fórmula.
- Observe los espacios al principio y al final de la frase que está entre comillas. Los espacios separan la frase nueva del texto que ya está en el campo Description (Descripción) y de la fecha que sigue. Por ejemplo, sin un espacio al final, el flujo definiría la descripción como “Shipping Address added on03-02-2023” (Dirección de envío agregada el2/03/2023).
- El símbolo
&
le indica a la fórmula que debe combinar el texto anterior y posterior, similar a lo que hacemos con el operador de suma de la asignación.
- La función
TEXT()
convierte lo que tiene adentro en texto, para que pueda usarse en un campo de texto.
A continuación, agregue la línea de adición de texto 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 de Obtener datos de cuenta) y, a continuación, seleccione Account Description (Descripción de la cuenta). Establecemos el campo de descripción de la variable de la cuenta aquí porque la variable es lo que cambia.
- En el campo Operator (Operador), seleccione Add (Suma).
- En el campo Value (Valor), seleccione frmChangeDateNote. Seleccionamos la fórmula aquí porque contiene el valor de texto que agregaremos a la descripción.
- Guarde el flujo.
Ahora, cuando el elemento Update Records (Actualizar registros) actualiza la cuenta, la actualización incluye la descripción modificada.
Realizar cálculos simples
También puede usar el operador de suma para agregar una variable con el tipo de datos de número o divisa. Sin embargo, esto realiza cálculos matemáticos reales; si combinamos los valores numéricos 4 y 2, el resultado es 6, no 42. También puede usar el operador Substract (Resta) para restar de los valores de las variables de número y divisa.
Por ejemplo, este elemento de asignación resta un descuento del importe de una oportunidad. El importe de la variable de oportunidad va en el campo Variable, porque ese es el valor que va a cambiar. El operador se establece en Substract (Resta). Por último, la variable con el importe de descuento va en el campo Value (Valor).
Pero mire esa segunda línea: está sumando a un campo de fecha. También puede usar los operadores de suma y resta para sumar o restar días de un valor de fecha. Este elemento de asignación suma 2 días a la fecha de cierre de la oportunidad.
Calcular cambios de forma automática con fórmulas
Cuando creó la fórmula frmChangeDateNote, el símbolo &
combinó dos textos y funcionó del mismo modo que lo hace el operador de suma en una asignación. Po lo tanto, ¿por qué no usamos el símbolo &
para adjuntar la fecha directamente al campo de descripción? El símbolo & solo funciona en las fórmulas, y Description (Descripción) es un campo de texto largo. En las fórmulas de flujo, Salesforce no permite campos de texto largo porque pueden exceder con facilidad el límite de cálculo para una fórmula.
Esta restricción es un ejemplo de los límites y las complicaciones con las fórmulas en los flujos. Las fórmulas de flujo tienen un tiempo de cálculo limitado y una cantidad limitada de caracteres, lo cual hace que las fórmulas complejas sean riesgosas por naturaleza. Además, a diferencia de las variables, las fórmulas no se pueden modificar a mitad del flujo. Entonces, ¿cuándo es una buena idea usar una fórmula?
Piense en las fórmulas como esos otros destornilladores que vienen en la caja de herramientas, los que tienen puntas con formas que no vio nunca. Puede que no los use mucho, pero cuando se encuentra con un tornillo con una de esas puntas, se alegra de tener esa herramienta especial. Dicho de otra forma, como regla general, debe usar una fórmula cuando se encuentra en una situación que solo una fórmula puede resolver.
La fórmula frmChangeDateNote es un gran ejemplo que sigue esa regla. No podemos usar solo un elemento de asignación para adjuntar la fecha a la descripción porque la fecha tiene que convertirse primero a un valor de texto. Necesitamos la función TEXT() de la fórmula para hacer la conversión.
Recursos
- Trailhead: Fórmulas y validaciones (Usar campos de fórmula)
- Ayuda de Salesforce: Consideraciones sobre las fórmulas en los flujos