Funções Personalizadas no Power Apps

Em Power Apps, no desenvolvimento de aplicações utilizamos a linguagem PowerFx com funções predefinidas para realizar a maioria das operações. Contudo podemos também criar as nossas próprias funções, com cálculos personalizados e armazená-las, da mesma forma que em qualquer linguagem de programação.

Desta forma, ganhamos a vantagem e benefício de reutilizar o código sem a necessidade de repetir a mesma expressão vezes sem conta no desenvolvimento da nossa aplicação, tornando o código também mais eficiente.

Neste artigo vamos ver então alguns exemplos de funções personalizadas que podemos definir.

Aceder às Funções Personalizadas

Antes de obtermos as funções personalizadas, devemos ativar a funcionalidade, uma vez que à data do artigo ainda se encontra em pré-visualização.

Iniciando a nova aplicação devemos aceder às definições da aplicação.

Nas definições acedemos à opção Funções Definidas pelo Utilizador

Devemos salvar a aplicação e voltar a iniciar a mesma para que as funcionalidades fiquem ativas.

Definir Variáveis na aplicação

No artigo vamos só rever o conceito das variáveis, que se assemelha com o conceito das funções personalizadas, assim podemos criar 3 botões (um para cada tipo de variável: Global, de Ecrã e Coleção).

No primeiro botão definimos uma variável Global, acedendo à propriedade OnSelect do Botão. A Variável vai armazenar um valor aleatório com a função RandBetteen, semelhante à função do Excel.

Set(varGlobal; RandBetween(10;100))

No Segundo botão vamos armazenar uma variável de contexto de ecrã.

UpdateContext({varLocal: varGlobal*2})

Esta variável acede ao valor armazenado na variável anterior, e multiplica o seu valor por 2.

No 3º botão, definimos uma variável que coleciona vários itens, registados numa caixa de texto de inserção de dados: txtNome

Collect(colDados; {Nome: txtNome.Text})

Criar uma função Personalizada

Um dos métodos para criar uma função personalizada, é apenas guardar uma expressão, que pode conter funções pré-definidas do Power Apps.

Acedemos às propriedades da aplicação, mais especificamente à propriedade fórmulas. Todo o conteúdo colocado nesta propriedade armazena as funções personalizadas que podemos reutilizar ao longo da aplicação.

Neste caso vamos criar 2 funções personalizadas:

  • A primeira função é uma função existente, a função IF, pré-definida do PowerFx, mas que pretendemos reutilizar várias vezes, e assim, ao darmos um “nome” à expressão, torna-se mais fácil reutilizá-la. Para passarmos para outra função devemos sempre terminar com “;;” (PT) ou “;” (EN) para a próxima instrução em Power Apps.

fxFormula = If(varGlobal >= 50; varGlobal/2; varGlobal* 2);;

  • A segunda função já será uma função personalizada. Sendo uma função personalizada, tem uma sintaxe diferente, mas se conheces outras linguagens de programação é semelhante.
  • A função tem um nome, e argumentos, e cada argumento tem um tipo de dados.
  • Por fim, o resultado da função também devolve um tipo de dados específico.

fxCalculoTotal(Quantidade:Number;PUnitario:Number):Number = Quantidade * PUnitario;;

Explicando melhor a expressão:

  • fxCalculoTotal: Nome da expressão
  • (Quantidade:Number;PUnitario:Number): Os 2 argumentos que a função necessita, separados por “;” e com o respetivo tipo de dados de cada argumento.
  • :Number: Tipo de dados retornado no resultado da função
  •  = Quantidade * PUnitario: Cálculo realizado pela função

Uma função personalizada é então construída desta forma.

Usar a função Personalizada

Voltando ao ecrã da aplicação, vamos criar mais alguns controlos para visualizar o resultado da função:

  • Inserimos uma etiqueta de texto que irá conter o resultado da fórmula:
  • 2 etiquetas, uma para Quantidade e outra para Preço Unitário
  • 2 caixas de texto para colocar os valores da Quantidade e Preço Unitário
  • Uma Etiqueta de Texto para o resultado da função.

Na primeira etiqueta de texto, colocamos na propriedade Text o seguinte valor, onde a primeira função personalizada fxFormula é a primeira expressão criada com a função IF e as variáveis:

Nas propriedades de cada uma das caixas de texto, asseguramos que o valor colocado é número, pois os argumentos da função requerem um número…

A Etiqueta de texto, final, tem a fórmula personalizada, onde já necessitamos de introduzir os argumentos da nossa função.

Como podes verificar, criar funções personalizadas permitem efetuar cálculos personalizados, mas também reutilizá-las em vários locais e cenários dentro da tua aplicação!


Comments

Leave a Reply

Discover more from Exceldriven

Subscribe now to keep reading and get access to the full archive.

Continue reading