Calcular valores em variáveis e fórmulas
Objetivos de aprendizagem
Após concluir esta unidade, você estará apto a:
- Concatenar dois valores de texto em um fluxo.
- Adicionar e subtrair valores numéricos e de data em um fluxo.
- Criar uma fórmula para calcular valores dinâmicos em um fluxo.
- Explicar por que você usaria uma fórmula em um fluxo.
Manipular dados com o elemento Assignment (Atribuição)
O elemento Assignment (Atribuição) também pode mudar dados de variável existentes em vez de substituí-los totalmente.
Combinar texto
Quando o tipo de dados de uma variável é texto, você pode selecionar Adicionar como o operador do elemento Assignment (Atribuição). O operador Add (Adicionar) permite a você adicionar texto no final do valor atual.
O fluxo Definir endereço de entrega está funcionando bem, mas agora Flo quer saber se o endereço de entrega está atualizado. No elemento de atribuição Copy Address (Copiar endereço), vamos adicionar uma linha que acrescente uma nota ao campo Descrição de uma conta indicando quando o endereço de entrega foi adicionado à conta. Não queremos substituir o que já está no campo Descrição, apenas acrescentar uma nota ao final. No entanto, lembre-se de que o Salesforce não pode combinar variáveis de texto com recursos que não sejam texto, como variáveis de data ou campos numéricos. Para adicionar dados que não sejam texto, crie uma fórmula que use a função TEXT() para converter o valor que não é texto em texto.
Primeiro, vamos criar uma fórmula que contenha o texto adicionado.
- Clique em para exibir a Caixa de ferramentas.
- Clique em New Resource (Novo recurso).
- Em Resource Type (Tipo de recurso), selecione Formula (Fórmula).
- Em API Name (Nome da API), insira
frmChangeDateNote
.
- Para Tipo de dados, selecione Text (Texto). (Embora estejamos adicionando uma data, o resultado final precisa ser o tipo de dados Texto para podermos adicioná-lo a um campo de texto.)
- Insira esse texto no campo Formula (Fórmula):
" Shipping Address added on " & TEXT()
(Endereço de entrega adicionado em & TEXT()) - Coloque o cursor dentro dos parênteses ().
- No campo Insert a resource... (Insira um recurso), selecione $Flow > Current Date (Data atual).
- Clique em Check Syntax (Verificar sintaxe).
O verificador de sintaxe é bastante útil na hora de encontrar erros em fórmulas longas e complexas em funções aninhadas.
- Clique em Done (Concluído).
Antes de passarmos para a próxima etapa, vamos parar um momento para ver algumas coisas nessa fórmula.
" Shipping Address added on " & TEXT({!$Flow.CurrentDate})
- Observe os espaços no início e no final da frase entre aspas. Os espaços separam a nova frase do texto que já estava no campo de descrição e da data que vem a seguir. Por exemplo, sem um espaço no final, o fluxo definiria a descrição como “Endereço de entrega adicionado em 03-02-2023”.
-
&
diz à fórmula para combinar o texto antes e depois, de forma semelhante ao que fazemos com o operador Add (Adicionar) da atribuição.
- A função
TEXT()
converte o que está dentro em texto para poder ser usado em um campo de texto.
Em seguida, adicione a linha de adição de texto à atribuição Copiar endereço de faturamento.
- Clique no elemento Copy Billing Address (Copiar endereço de faturamento) e selecione Edit Element (Editar elemento).
- Clique em +Add Assignment (Adicionar atribuição).
- No campo Variable (Variável), selecione Account from Get Account Data (Conta de Get Account Data) e selecione Account Description (Descrição da conta). Definimos o campo de descrição da variável de conta aqui porque é a variável que está mudando.
- No campo Operator (Operador), selecione Add (Adicionar).
- No campo Value (Valor), selecione frmChangeDateNote. Selecionamos a fórmula aqui porque ela contém o valor de texto que estamos adicionando à descrição.
- Salve o fluxo.
Agora, quando o elemento Update Records (Atualizar registros) atualiza a conta, a atualização inclui a Descrição alterada.
Fazer cálculos simples
Você também pode usar o operador Add (Adicionar) para adicionar a uma variável o tipo de dados número ou moeda. Mas isso faz cálculos matemáticos; se você combinar os valores de número 4 e 2, verá 6 e não 42. Você também pode usar o operador Subtract (Subtrair) para subtrair de seus valores de variável de número e moeda.
Por exemplo, o elemento Assignment (Atribuição) subtrai um desconto do valor de uma oportunidade. O valor da variável de oportunidade vai para o campo de variável porque é o valor que está mudando. O Operator (Operador) é definido como Subtract (Subtrair). Por fim, a variável com o valor do desconto entra no campo de valor.
Mas veja a segunda linha: ela está adicionando a um campo de data. Você também pode usar os operadores Add (Adicionar) e Subtract (Subtrair) para adicionar ou subtrair dias de um valor de data. O elemento Assignment (Atribuição) adiciona 2 dias à data de fechamento da oportunidade.
Calcular alterações automaticamente com fórmulas
Quando você criou a fórmula frmChangeDateNote, o símbolo &
combinou dois textos, funcionando da mesma forma que o operador Add funciona em uma atribuição. Então por que não usamos o símbolo &
para anexar a data diretamente ao campo de descrição? O símbolo & funciona somente em fórmulas e o campo de descrição é um campo de texto longo. Nas fórmulas de fluxo, o Salesforce não permite campos de texto longo porque eles podem facilmente exceder o limite de cálculo de uma fórmula.
Essa restrição é um exemplo dos limites e das complicações de fórmulas em fluxos. As fórmulas de fluxo têm tempo de cálculo limitado e um número limitado de caracteres, o que torna as fórmulas complexas um risco inerente. Além disso, diferentemente das variáveis, as fórmulas não podem ser mudadas no meio do fluxo. Então quando é uma boa ideia usar uma fórmula?
Pense nas fórmulas como uma daquelas chaves de parafuso que vêm com seu kit de ferramentas, as que tem pontas em formatos que você nunca viu antes. Você pode não usá-las muito, mas quando encontra um parafuso igual a uma delas, fica feliz de ter essa ferramenta especial! Em outras palavras, como regra geral, você deve usar fórmulas quando está em uma situação que somente fórmulas podem resolver.
A fórmula frmChangeDateNote é um ótimo exemplo que segue essa regra. Não podemos usar somente um elemento Assignment (Atribuição) para anexar a data à descrição porque a data precisa ser convertida primeiro em um valor de texto. Precisamos da função TEXT() da fórmula para fazer a conversão.
Recursos
- Trailhead: Fórmulas e validações (usar campos de fórmula)
- Ajuda do Salesforce: Considerações sobre fórmula de fluxo