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" }. |