Skip to main content
11 dezembro 2023
Follow Us

Power Apps: App de controlo de ponto a partir da leitura de etiquetas NFC

Neste post iremos abordar uma aplicação simples de Controlo de Ponto, uma app que permite fazer a gestão de entradas e saídas de colaboradores de uma empresa. Iremos abordar as suas funcionalidades assim como o percurso percorrido ao longo do seu desenvolvimento.

1º Passo

Para criar esta aplicação no Power Apps utilizamos alguns controlos, sendo os principais: uma galeria vertical e um botão.

É este botão que permite ao utilizador, após ser pressionado, ler a etiqueta NFC que indica a entrada/saída de um colaborador da empresa. Após a leitura da etiqueta NFC, o nome do colaborador (coluna Title), o email (coluna Email), as horas de entrada/saída (coluna Dia e Hora) e se o colaborador está a entrar ou a sair (Entrada/Saída) são dados passados para uma lista de Sharepoint. Para ler a etiqueta NFC e mapear os diferentes campos foi utilizado este código:

With(ReadNFC(),Set(id, Coalesce(Identifier, "No ID"));ForAll(NDEFRecords, Patch('Controlo de Ponto', Defaults('Controlo de Ponto'), {'Entrada/Saída': Coalesce(Text, URI), Title: User().FullName, Email: User().Email, 'Dia e Hora': Now()})));

2º Passo

É através da lista de Sharepoint que a galeria vai ser preenchida com dados, de forma a se conseguir ver todas as entradas e saídas diretamente na aplicação.

3º Passo

A app permite ainda verificar quantos colaboradores estão no exato momento na empresa, sendo que após cada entrada o número incrementa, e após cada saída o número decrementa. Para ser efetuado este cálculo, na propriedade Text de uma label colocou-se o seguinte código:

CountRows(Filter(Gallery1.AllItems, 'Entrada/Saída' = "ENTRADA")) - CountRows(Filter(Gallery1.AllItems, 'Entrada/Saída' = "SAÍDA"))

Com apenas estes três passos é possível criar uma app bastante simples de controlo de ponto que podem ver em baixo numa pequena demonstração. Para uma versão aprimorada da aplicação fiquem atentos ao próximo post!

Ficheiros em anexo


Assine a nossa newsletter e receba o nosso conteúdo diretamente no seu email