Skip to main content
Build the future with Agentforce at TDX in San Francisco or on Salesforce+ on March 5–6. Register now.

Definir e alterar valores de variável

Objetivos de aprendizagem

Após concluir esta unidade, você estará apto a:

  • Mudar o valor de uma variável de fluxo.
  • Usar uma variável para aceitar dados de várias fontes.
  • Criar vários caminhos com elementos Assignment (Atribuição) individuais.
Observação

Este emblema é uma das paradas no caminho para dominar o Flow Builder. Do início ao fim, a trilha Criar fluxos com o Flow Builder leva você numa jornada de aprendizado sobre tudo o que envolve o Flow Builder. Siga esta sequência recomendada de emblemas para desenvolver habilidades de automação de processos fortes e se tornar um especialista em Flow Builder.

O poder das alterações

Sempre que você armazena dados em um fluxo, ele fica praticamente perfeito e nunca precisa ser mudado de maneira nenhuma, certo? Não, isso é raro. Normalmente, você recupera dados de um registro em um fluxo, adiciona, exclui ou muda de alguma forma e depois envia de volta para o registro de origem.

As equipes de marketing e capacitação da Pyroclastic querem começar a usar o endereço de envio nas comunicações. Muitas contas têm os endereços de cobrança obrigatórios, mas não os endereços de envio. Flo pede a você para criar um fluxo que pergunta aos usuários se eles querem copiar o endereço de cobrança ou inserir um endereço de envio manualmente e depois atualiza os campos de endereço de envio conforme a resposta.

Diagrama correspondente à descrição do fluxo anterior

Isso poderia ser um fluxo simples acionado por registro com um único elemento Update Records (Atualizar registros), mas há um problema. Lembra quando você atualizou a prioridade de casos definindo o valor do campo Prioridade? Você tinha apenas um valor para o campo Prioridade.

Valor do campo Prioridade definido com Gravidade 0.

Na situação de endereço de envio, o endereço de envio poderia vir do endereço de cobrança ou ser inserido pelo usuário. Teoricamente, o elemento Update Records (Atualizar registros) ficaria assim:

Diagrama mostrando o campo Valor do endereço de envio com "Endereço de cobrança ou entrada do usuário, com base na escolha do usuário" em um balão de diálogo

Isso não vai funcionar. O campo Valor exige uma única fonte de dados. Ele não pode usar tanto o endereço de cobrança como a entrada do usuário; precisa ser um ou outro.

Você precisa, então, de um caminho do meio, uma variável, que possa aceitar um endereço de envio tanto do endereço de cobrança como da entrada do usuário.

Diagrama mostrando uma variável que aceita um endereço de cobrança ou entrada do usuário e preenche o campo Valor do endereço de envio com isso

E você precisa de uma forma de determinar se o usuário escolheu copiar o endereço de cobrança ou inserir um endereço manualmente e agir de acordo com a escolha. Você pode usar um elemento Decision (Decisão) para isso. 

Em seguida, você pode configurar o elemento Update Records (Atualizar registros) para definir os valores de Endereço de envio com base na variável. Mas como você define o valor da variável?

É aqui que entra o elemento Assignment (Atribuição). O elemento Assignment atribui o endereço desejado do usuário à variável para que o valor da variável possa ser usado na atualização dos campos de endereço de envio.

O elemento Assignment (Atribuição)

Para atribuir um valor a uma variável, você deve usar o elemento Assignment (Atribuição). Na hipótese do endereço de envio, você muda o valor de uma variável para atualizar um campo em um registro, mas o elemento Assignment (Atribuição) pode fazer muito mais do que isso.

Uma variável é como uma marmita. Embora uma marmita possa armazenar vários tipos de comida, uma variável pode armazenar vários valores. 

Um recipiente de armazenamento de comida limpo com um sanduíche dentro e uma etiqueta na lateral dizendo Meu almoço.

Para definir o valor de uma variável, atribua um valor a ela. Por exemplo: Priority equals Sev 0.

No elemento Assignment (Atribuição), você define o valor de uma variável especificando a variável e seu valor. Cada instrução de atribuição também inclui um operador, que controla como a variável é atualizada. Veja este exemplo.

Uma instrução de atribuição em que a variável é priority, o operador é equals e o valor é Sev 0.

Nesse exemplo, o operador Equals (Igual a) substitui o valor atual da variável pelo valor especificado. Como consequência, a variável Priority (Prioridade) armazena Sev 0 como seu valor.

Observação

Em vários elementos (inclusive o elemento Assignment), o campo de valor permite a você digitar seu próprio texto, selecionar recursos existentes no fluxo ou misturar os dois. Por exemplo, se você digitar The color is {!colorFormula} (A cor é {!colorFormula}) no campo Valor e colorFormula for uma fórmula que retorna o valor de “red” (vermelho), a variável receberá o valor “The color is red” (A cor é vermelho).

Criar um fluxo com elementos Assignment (Atribuição)

Voltando para o fluxo de endereço de envio que Flo solicitou, vamos criar um fluxo de tela que Flo pode incorporar à página do Lightning Conta e ocultar quando os campos Endereço de envio são preenchidos.

Observação

Você pode ainda não ter aprendido sobre fluxos de tela. Nesse exemplo, mantemos a tela simples, mas se você quiser saber mais, confira o emblema Fluxos de tela.

Comece usando o que você aprendeu neste emblema e no emblema Dados e ações em fluxos para criar um fluxo de tela.

Criar um fluxo de tela e uma variável de texto

  1. Crie um fluxo e selecione o tipo Screen Flow (Fluxo de tela).
  2. Crie uma variável de texto para receber o ID do registro atual:
    • Nome da API: recordId
    • Tipo de dados: Texto
    • Disponível para entrada marcado
Observação

Neste exercício, nomeamos a variável recordId por um motivo específico. Quando um usuário executa um fluxo com um botão de ação, o Salesforce procura automaticamente uma variável no fluxo chamada recordId e, se encontrar, dá a ID do registro atual à variável. Essa configuração especial permite que os fluxos em execução por conta de um botão de ação saibam qual registro o usuário está procurando quando clica no botão.

Não estamos criando o botão de ação neste exercício, mas fique à vontade para criar um no final. Confira a unidade Adicionar um fluxo como ação em um registro do emblema Distribuição do fluxo de tela para saber mais.

Criar elementos Get Records (Obter registros), Screen (Tela) e Decision (Decisão)

  1. Adicione um elemento Get Records (Obter registros) para recuperar os detalhes do registro atual e armazená-los em uma variável de registro.
    • Rótulo: Get Account Data (Obter dados da conta)
    • Objeto: Conta
    • Requisito de condição do filtro:
      • Campo: Id
      • Operador: Equals (Igual a)
      • Valor: recordId
    • Quantos registros criar: Somente o primeiro registro
    • Como armazenar dados de registro: armazenar automaticamente todos os registros
  1. Adicione um elemento Screen (Tela) que peça ao usuário para copiar o endereço de cobrança ou inserir um endereço de envio.
    • Na tela, depois do elemento Get Account Data (Obter dados da conta), clique em Adicionar elemento.
    • Selecione Screen (Tela).
    • No rótulo, digite Enter Address (Digite o endereço).
    • No painel de componentes, arraste uma caixa de seleção para a tela.
      • No rótulo, digite Use the billing address for the shipping address (Usar endereço de cobrança como endereço de envio).
      • No nome da API, abrevie o nome padrão para Use_the_billing_address.
    • Arraste um componente Address (Endereço) até a tela abaixo da caixa de seleção.
      • No nome da API, insira ScreenShipping.
      • No rótulo, digite Shipping Address (Endereço de envio).
        A tela deve ficar assim:
        A tela correspondente às etapas anteriores.
  1. Clique em Done (Concluído).
  2. Adicione um elemento Decision para criar caminhos diferentes com base na escolha do usuário.
    • Rótulo: Use Billing Address? (Usar endereço de cobrança?)
    • Rótulo do resultado 1: Selected (Selecionado)
    • Requisito da condição do resultado 1:
      • Recurso: Enter Address (Inserir endereço) > Use the Billing Address… (Usar endereço de faturamento…)
      • Operador: Equals (Igual a)
      • Valor: Verdadeiro
    • Rótulo do resultado padrão: Not Selected (Não selecionado)
    • Clique em Fechar para fechar o painel lateral.
  1. Salve o fluxo. No rótulo do fluxo, digite Set Shipping Address (Definir endereço de envio).

O fluxo deve ficar assim:

Tela do Flow Builder exibindo o fluxo correspondente às etapas acima.

Agora você tem um fluxo de tela que permite ao usuário copiar o endereço de envio ou inseri-lo manualmente. Seja qual for a fonte escolhida pelo usuário, você precisará copiar o endereço de envio para a variável de registro Get Account Data (Obter dados da conta). 

  • Se o usuário escolheu usar o endereço de cobrança, o fluxo atribui os valores dos campos de endereço de cobrança da variável do registro aos seus campos de endereço de envio.
  • Se o usuário escolheu digitar o endereço de envio manualmente, o fluxo atribui os valores inseridos na tela Digite o endereço aos campos de endereço de envio da variável do registro.

A seguir, você atualizará os dados na variável do registro do elemento Get Account Data (Obter dados da conta). Você criará dois elementos Assignment (Atribuição) para definir valores de campo nessa variável de registro: uma para copiar o endereço de cobrança (no caminho Selecionado) e outra para copiar dados do elemento da tela Digite o endereço (no caminho Não selecionado).

Adicionar um elemento Assignment (Atribuição) ao caminho selecionado

  1. No caminho Selected (Selecionado), clique em Adicionar elemento.
  2. Role até a seção Logic (Lógica) e selecione Assignment (Atribuição).
  3. No rótulo, digite Copy Billing Address (Copiar endereço de cobrança).
  4. Em Variable (Variável), selecione Account from Get Account Data (Conta de Obter dados da conta) e selecione Shipping City (Cidade de entrega).
  5. Em Value (Valor), selecione Account from Get Account Data (Conta de Obter dados da conta) e selecione Billing City (Cidade de cobrança).
  6. Clique em +Add Assignment (+Adicionar atribuição) quatro vezes para ter um total de cinco linhas.
    Você precisa definir cada campo Address (Endereço) individualmente, ou seja, é necessário ter uma linha de atribuição para cada um dos cinco campos de endereço.
  7. Selecione estes valores nas linhas de atribuição adicionadas:
    • Account from Get Account Data (Conta de Obter dados da conta)> Shipping Country (País de entrega) é igual a Account from Get Account Data (Conta de Obter dados da conta)> Billing Country (País de cobrança)
    • Account from Get Account Data (Conta de Obter dados da conta)> Shipping Zip/Postal Code (CEP de entrega) é igual a Account from Get Account Data (Conta de Obter dados da conta)> Billing Zip/Postal Code (CEP de cobrança)
    • Account from Get Account Data (Conta de Obter dados da conta) > Shipping State/Province (Estado/Província de entrega) é igual a Account from Get Account Data (Conta de Obter dados da conta)> Billing State/Province (Estado/Província de cobrança)
    • Account from Get Account Data (Conta de Obter dados da conta) > Shipping Street (Rua de entrega) é igual a Account from Get Account Data (Conta de Obter dados da conta) > Billing Street (Rua de cobrança)
Nota

quando um elemento tem várias linhas, suas atribuições são realizadas na ordem.

  1. Clique em Fechar para fechar o painel lateral.
  2. Salve o fluxo.

Adicionar um elemento Assignment (Atribuição) ao caminho não selecionado

  1. No caminho Not Selected (Não selecionado), clique em Adicionar elemento.
  2. Role até a seção Logic (Lógica) e selecione Assignment (Atribuição).
  3. No rótulo, digite Set Address from Screen (Definir endereço com base na tela).
  4. Clique em +Add Assignment (Adicionar atribuição) quatro vezes para ter um total de cinco linhas.
  5. Selecione estes valores nas linhas de atribuição:
    • Account from Get Account Data (Conta de Obter dados da conta)> Shipping City (Cidade de entrega) igual a Enter Address (Inserir endereço) > ScreenShipping > City Value (Valor da cidade)
    • Account from Get Account Data (Conta de Obter dados da conta)> Shipping Country (País de entrega) igual a Enter Address (Inserir endereço) > ScreenShipping > Country Value (Valor do país)
    • Account from Get Account Data (Conta de Obter dados da conta)> Shipping Zip/Postal Code (CEP de entrega) igual a Enter Address (Inserir endereço) > ScreenShipping > City Value (Valor do CEP)
    • Account from Get Account Data (Conta de Obter dados da conta) > Shipping State/Province (Estado/Província de entrega) igual a Enter Address (Inserir endereço) > ScreenShipping > State or Province Value (Valor do estado ou província)
    • Account from Get Account Data (Conta de Obter dados da conta) > Shipping Street (Rua de entrega) igual a Enter Address (Inserir endereço) > ScreenShipping > Street Value (Valor da rua)
  1. Clique em Fechar para fechar o painel lateral.
  2. Salve o fluxo.

Agora o fluxo atribui valores aos campos de endereço de envio da variável do registro. Mas você ainda precisa levar o endereço de envio de volta para o registro da conta. O elemento Assignment (Atribuição) não salva realmente os novos valores no registro. Você precisa de um elemento Update Records (Atualizar registros) para fazer isso. Crie um elemento Update Records (Atualizar registros) depois que os caminhos Selecionado e Não selecionado forem mesclados novamente em um único caminho.

Atualizar o registro de conta

  1. Depois dos dois elementos Assignment (Atribuição) na tela do fluxo, adicione um elemento Atualizar registros.
  2. No rótulo, insira Update Account (Atualizar conta).
  3. Em How to Find Records to Update and Set Their Values (Como encontrar registros para atualizar e definir seus valores), mantenha Use the IDs and all field values from a record or record collection (Usar as IDs e todos os valores de campo de um registro ou de uma coleção de registros).
    No elemento Update Records (Atualizar registros), essa configuração atualiza o registro de uma variável de registro. O elemento usa a ID da variável do registro para determinar qual registro deve ser atualizado e atualiza os campos desse registro para corresponder aos campos da variável.
  4. Para Record or Record Collection (Registro ou Coleção de registros), selecione Account from Get Account Data (Conta de Obter dados da conta).
  5. Salve o fluxo.

Pronto! Você criou um fluxo que usa cinco tipos de elementos. 

  1. O elemento Get Records (Obter registros) (Get Account Data) obtém os valores de campo do registro de conta atual.
  2. O elemento Screen (Tela) (Enter Address) pede ao usuário para digitar um endereço de envio ou copiar o endereço de cobrança.
  3. O elemento Decision (Decisão) (Use Billing Address?) determina o que o usuário escolheu e cria um caminho para cada possibilidade.
  4. Os dois elementos Assignment (Atribuição) mudam os campos de endereço de envio na variável de registro Get Account Data, copiando o endereço de cobrança para o endereço de envio (Copy Billing Address) ou copiando as informações inseridas manualmente para o endereço de envio (Set Address from Screen).
  5. E, por fim, o elemento Update Records (Atualizar registros) (Update Account) confirma os valores alterados na variável de registro novamente no registro de conta atual.

Tela do Flow Builder exibindo o fluxo correspondente às etapas acima.

Você deve estar se perguntando o que mais os elementos Assignment (Atribuição) podem fazer. Bem, continue lendo.

Recursos

Compartilhe seu feedback do Trailhead usando a Ajuda do Salesforce.

Queremos saber sobre sua experiência com o Trailhead. Agora você pode acessar o novo formulário de feedback, a qualquer momento, no site Ajuda do Salesforce.

Saiba mais Continue compartilhando feedback