Função Set

Aplica-se a: Canvas apps Cartões Dataverse low-code plug-ins Power Platform CLI

Define o valor de uma variável global.

Descrição geral

Utilize a função Set para definir o valor de uma variável global que contém temporariamente uma informação, tal como o número de vezes que o utilizador selecionou um botão ou o resultado de uma operação de dados.

As variáveis globais estão disponíveis em todos os ecrãs de todas as suas aplicações. Estas variáveis são as mais simples e cumprem as necessidades inerentes à maioria das situações. Também existem variáveis de contexto que estão confinadas a um único ecrã e coleções que permitem modificar tabelas ao nível das linhas. Para mais informações sobre estas outras opções, reveja Compreender variáveis.

As Power Apps são baseadas em fórmulas que são recalculadas automaticamente à medida que o utilizador interage com uma aplicação. Quaisquer fórmulas que dependam de uma variável serão atualizadas automaticamente quando forem alteradas. No entanto, a variável não será atualizada automaticamente se o valor da fórmula utilizado na função Set for alterada. Isto exige que o criador de aplicações atualize manualmente a variável, o que pode ser propenso a erros e mais difícil para as outras pessoas compreenderem. Antes de utilizar uma variável, veja Compreender variáveis.

Descrição

As variáveis globais são criadas implicitamente através da função Set. Não é necessária uma declaração explícita. Se remover todas as funções Set de uma variável global, essa variável deixará de existir. Para limpar uma variável, defina o respetivo valor para o resultado da função Blank.

Pode ver os valores, as definições e as utilizações das suas variáveis na vista Variáveis no menu Ficheiro no Power Apps Studio.

Como os exemplos apresentados neste tópico mostram, as variáveis globais podem conter vários tipos de informação, incluindo:

  • um valor único
  • um registo
  • uma tabela
  • uma referência de objeto
  • qualquer resultado de uma fórmula

As variáveis globais retêm o respetivo valor até a aplicação ser fechada. Após o fecho da aplicação, o valor da variável global perder-se-á e terá de ser criado novamente quando a aplicação for carregada novamente.

As variáveis globais não podem ter um nome igual ao de uma coleção ou controlo existente. Contudo, podem ter o mesmo nome que uma variável de contexto. Para eliminar esta ambiguidade, utilize o operador de desambiguação.

Set não tem valor de retorno e você pode usá-lo somente dentro de uma fórmula de comportamento.

Sintaxe

Set( VariableName,Value )

  • VariableName - Obrigatório. O nome de uma variável global a criar ou atualizar.
  • Valor - Obrigatório. O valor a atribuir à variável de contexto.

Exemplos

Fórmula Descrição Resultado
Conjunto( Contador, 1 ) Cria ou modifica a variável global Contador ao definir o respetivo valor para 1. Contador tem o valor 1. Pode referenciar essa variável ao utilizar o nome Contador numa fórmula em qualquer ecrã.
Set( Contador, 2 ) Define o valor da variável global Contador do exemplo anterior para 2. Contador tem o valor 2.
Conjunto( Contador, Contador + 1 ) Altera o valor da variável global Contador do exemplo anterior para 3. Contador tem o valor 3.
Set( Nome, "Lily" ) Cria ou modifica a variável global Nome ao definir o respetivo valor para Liliana. Nome tem o valor Lily.
Set( Pessoa,Nome { : "Milton", Endereço: "1 Main St" } ) Cria ou modifica a variável global Pessoa ao definir o respetivo valor para um registo. O registo contém duas colunas denominadas Nome e Endereço. O valor da coluna Nome é Guilherme e o valor da coluna Endereço coluna é Rua Principal, 1. Pessoa tem o valor de registro { Nome: "Milton", Endereço: "1 Main St" }.

Referencie este registo como um todo com o nome Pessoa ou como uma coluna individual deste registo com Pessoa.Nome ou Pessoa.Endereço.
Set( Pessoa, Patch( Pessoa, { Endereço: "2 Main St" } ) Utiliza a função Patch para atualizar a variável global Pessoa ao definir o valor da coluna Endereço para Rua Principal 2. Pessoa agora tem o valor de registro { Nome: "Milton", Endereço: "2 Main St" }.