Compartilhar via


Função Set

Aplica-se a: aplicativos de tela Cartões Dataverse low-code plug-ins Power Platform CLI

Define o valor de uma variável global.

Visão geral

Use a função Set para definir o valor de uma variável global, que armazena temporariamente uma informação, como o número de vezes que o usuário selecionou um botão ou o resultado de uma operação de dados.

Variáveis globais estão disponíveis em todo o seu aplicativo, em todas as telas. Esses são o tipo mais simples de variáveis e satisfazem as necessidades da maioria das situações. Também há variáveis de contexto que têm o escopo para uma única tela e coleções que permitem realizar modificações em nível de linha a tabelas. Para obter mais informações sobre essas outras opções, consulte Entender as variáveis.

O Power Apps é baseado em fórmulas que se recalculam automaticamente conforme a interação do usuário com o aplicativo. Todas as fórmulas que dependem 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 usada na função Set for alterado. Isso requer que o criador de aplicativos atualize manualmente a variável, o que pode ser propenso a erros e mais difícil para que outras pessoas entendam. Antes de usar uma variável, examine Entender as variáveis.

Descrição

Variáveis globais são criadas implicitamente, usando a função Set. Nenhuma declaração explícita é necessária. Se você remover todas as funções Set para uma variável global, essa variável global deixará de existir. Para limpar uma variável, defina seu valor como o resultado da função Blank.

Você pode ver os valores, as definições e os usos das variáveis com o modo de exibição de variáveis no menu Arquivo no Power Apps Studio.

Como mostram os exemplos neste tópico, variáveis globais podem conter vários tipos de informações, incluindo:

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

Uma variável global mantém seu valor até o aplicativo ser fechado. Depois que o aplicativo for fechado, o valor da variável global será perdido e deverá ser recriado quando esse aplicativo for carregado novamente.

Variáveis globais não podem usar o mesmo nome de uma coleção ou controle existente. Ela pode usar o mesmo nome de uma variável de contexto. Para desfazer a ambiguidade entre os dois, use o operador de desambiguidade.

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

Sintaxe

Definir( NomeDaVariável, Valor )

  • VariableName - Obrigatório. O nome de uma variável global para criar ou atualizar.
  • Valor - Obrigatório. O valor a ser atribuído à variável de contexto.

Exemplos

Fórmula Descrição Resultado
Definir(Contador, 1) Cria ou modifica a variável global Counter, definindo seu valor como 1. O contador tem o valor 1. Você pode referenciar essa variável usando o nome Counter em uma fórmula em qualquer tela.
Definir(Contador, 2) Define o valor da variável global Counter do exemplo anterior para 2. O contador tem o valor 2.
Definir(Contador,Contador + 1) Aumenta o valor da variável global Counter do exemplo anterior para 3. O contador tem o valor 3.
Definir(Nome, "Lily") Cria ou modifica a variável global Name, definindo seu valor como Lily. Nome tem o valor Lily.
Definir(Pessoa, { Nome: "Milton", Endereço: "1 Main St" } ) Cria ou modifica a variável global Person, definindo seu valor como um registro. O registro contém duas colunas, chamadas Name e Address. O valor da coluna Name é Miltone o valor da coluna Address é 1 Main St. Pessoa tem o valor do registro { Nome: "Milton", Endereço: "1 Main St" }.

Fazer referência a esse registro como um todo com o nome Person, ou fazer referência a uma coluna individual desse registro com Person.Name ou Person.Address.
Definir(Pessoa, Patch(Pessoa, {Endereço: "2 Main St" } ) ) Funciona com a função Patch para atualizar a variável global Person, definindo o valor da coluna Address como 2 Main St. Pessoa agora tem o valor de registro { Nome: "Milton", Endereço: "2 Main St" }.