Variáveis globais

Concluído

As variáveis globais são as variáveis mais comumente usadas devido à sua flexibilidade. Depois de definir a variável, você poderá referenciá-la ou atualizá-la em todo o aplicativo. Isso permite que você evite uma consulta repetitiva para as mesmas informações, para compor as informações de que você precisa de maneira imperativa ou, às vezes, apenas como um espaço reservado.

Como armazenar informações para o usuário

Um padrão de design comum em aplicativos é a personalização. Por exemplo, você pode exibir uma mensagem de boas-vindas que inclui o nome do usuário em cada tela. No Power Apps, você pode recuperar o nome do usuário de forma declarativa usando a seguinte fórmula em um controle label:

"Welcome " & User().FullName

Essa fórmula exibe a cadeia de caracteres Bem-vinda e, em seguida, consulta o Azure Active Directory para a propriedade DisplayName do usuário e a exibe como texto. Porém, se você incluir essa função em cada tela, cada vez que uma tela é aberta, o Power Apps terá que consultar esses dados diretamente do Microsoft Entra ID. Isso cria chamadas repetitivas à rede que deixam seu aplicativo mais lento.

Uma abordagem melhor será armazenar essas informações em uma variável global quando o aplicativo for aberto e, em seguida, referenciar essa variável em todo o aplicativo. Você pode fazer isso modificando a propriedade OnStart do aplicativo com a fórmula a seguir.

Set(varUserDisplayName, User().FullName)

Agora, para o controle de Rótulo, altere a fórmula para a mostrada a seguir.

"Welcome " & varUserDisplayName

Captura de tela do código e da mensagem correspondente da etapa anterior.

Essa fórmula gera o mesmo resultado da fórmula anterior, mas, em vez de ter que retornar ao Microsoft Entra ID em cada tela, o Power Apps pode referenciar o valor armazenado na variável.

Acompanhamento de status em uma variável

Em uma abordagem declarativa, você pode ocultar ou mostrar controles com base em uma consulta de dados. Por exemplo, se você tiver um aplicativo para gerenciar os pedidos do cliente, você poderá ter um ícone de aviso que será exibido apenas se o cliente tiver mais de três faturas pendentes. Além do aviso, você poderá ter um requisito para obter a aprovação de um gerente, caso o cliente deseje enviar um novo pedido quando tiver mais de três faturas pendentes. Esse fluxo de trabalho de aprovação é iniciado pelo usuário selecionando um botão de aprovação.

Com uma abordagem declarativa, você definirá a propriedade Visível do ícone de aviso com a fórmula mostrada a seguir.

CountRows(Filter(InvoiceEntity, CustomerNumber = ThisCustomersNumber 
And Status = "Outstanding")) > 3

Se isso for verdade, o ícone será exibido e, se for falso, o ícone não será exibido. Você repetirá essa mesma fórmula na propriedade Visível do botão de Aprovação.

O problema é que isso se torna uma fórmula complexa que você mantém em duas localizações diferentes, e essa consulta gerará um tráfego de rede duplicado, sendo processado no aplicativo e na fonte de dados.

Uma abordagem melhor é apenas executar a chamada complexa uma vez, armazenar o resultado em uma variável e, em seguida, usar essa variável para controlar a propriedade Visível de cada controle.

Para fazer isso, configure a propriedade OnVisible da tela para definir a variável.

Set(varOustandingExceeded, CountRows(Filter(InvoiceEntity, CustomerNumber = 
ThisCustomersNumber And Status = "Outstanding")) > 3)

A variável varOutstandingExceeded é verdadeira ou falsa com base no resultado da fórmula. Agora defina a propriedade Visível do ícone e do controle de botão como varOutstandingExceeded.

Nenhuma fórmula ou função adicional é necessária. Isso ocorre porque esses controles aceitam verdadeiro ou falso para a propriedade Visível, e a variável será verdadeira ou falsa. Com base na função Set na propriedade OnVisible da tela, o Power Apps definirá o tipo de variável como booliano e definirá o valor como true ou false com base no resultado da fórmula.

Pequenas alterações como essas melhoram o desempenho do aplicativo e simplificam sua manutenção. Você deve incorporar variáveis sempre que estiver recuperando repetidamente informações que não serão alteradas enquanto as estiver usando.