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.
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.
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.
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:
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.
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.
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.
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.
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.
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
- Crie um fluxo e selecione o tipo Screen Flow (Fluxo de tela).
- 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
Criar elementos Get Records (Obter registros), Screen (Tela) e Decision (Decisão)
- 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
- Campo: Id
- Quantos registros criar: Somente o primeiro registro
- Como armazenar dados de registro: armazenar automaticamente todos os registros
- 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 .
- 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:
- Clique em Done (Concluído).
- 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
- Recurso: Enter Address (Inserir endereço) > Use the Billing Address… (Usar endereço de faturamento…)
- Rótulo do resultado padrão:
Not Selected
(Não selecionado) - Clique em para fechar o painel lateral.
- Salve o fluxo. No rótulo do fluxo, digite
Set Shipping Address
(Definir endereço de envio).
O fluxo deve ficar assim:
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
- No caminho Selected (Selecionado), clique em .
- Role até a seção Logic (Lógica) e selecione Assignment (Atribuição).
- No rótulo, digite
Copy Billing Address
(Copiar endereço de cobrança).
- Em Variable (Variável), selecione Account from Get Account Data (Conta de Obter dados da conta) e selecione Shipping City (Cidade de entrega).
- Em Value (Valor), selecione Account from Get Account Data (Conta de Obter dados da conta) e selecione Billing City (Cidade de cobrança).
- 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.
- 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)
- Clique em para fechar o painel lateral.
- Salve o fluxo.
Adicionar um elemento Assignment (Atribuição) ao caminho não selecionado
- No caminho Not Selected (Não selecionado), clique em .
- Role até a seção Logic (Lógica) e selecione Assignment (Atribuição).
- No rótulo, digite
Set Address from Screen
(Definir endereço com base na tela).
- Clique em +Add Assignment (Adicionar atribuição) quatro vezes para ter um total de cinco linhas.
- 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)
- Clique em para fechar o painel lateral.
- 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
- Depois dos dois elementos Assignment (Atribuição) na tela do fluxo, adicione um elemento Atualizar registros.
- No rótulo, insira
Update Account
(Atualizar conta).
- 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.
- Para Record or Record Collection (Registro ou Coleção de registros), selecione Account from Get Account Data (Conta de Obter dados da conta).
- Salve o fluxo.
Pronto! Você criou um fluxo que usa cinco tipos de elementos.
- O elemento Get Records (Obter registros) (Get Account Data) obtém os valores de campo do registro de conta atual.
- 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.
- O elemento Decision (Decisão) (Use Billing Address?) determina o que o usuário escolheu e cria um caminho para cada possibilidade.
- 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).
- 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.
Você deve estar se perguntando o que mais os elementos Assignment (Atribuição) podem fazer. Bem, continue lendo.
Recursos
- Trailhead: Noções básicas de fluxo (conheça as variáveis de fluxo)
- Documentação: Elemento do fluxo: Atribuição