Simuler une boucle automatique pour la fonction ReadNFC
-
Simuler une boucle automatique pour la fonction ReadNFC
Bonjour à tous,
j’ai développé une application de suivi des mouvements de nos vêtements de travail. Ces derniers sont équipés d’une puce RFID, je peux donc facilement les identifiers via un scan NFC sur smartphones.
ça fonctionne très bien, mais j’aimerais optimiser l’étape de réception hebdo des vêtements, où l’on reçoit une cinquantaine de vêtements en retour lavage de notre presta.
Dans l’état actuel j’ai le flux suivant :
Bouton => Lance ReadNFC => récupération de l’Identifier de la puce => Lookup dans la BDD des vêtements => collecter un certain nombre d’informations (type, taille, etc.) => rappuyer sur le bouton => scanner un nouveau vêtement, etc. etc. Jusqu’à ce que se soit fini => patch dans une liste SP
C’est l’étape manuelle de déclenchement du scan (appui bouton) que je veux semi-automatiser, car répétitive pour l’utilisateur :
- j’ai tenté maladroitement de créer une boucle en dupliquant mon bouton pour créer un lien de type select(bouton1) <=> select(bouton2), où à chaque fin de fonction, un bouton appel l’autre en boucle, mais cela est évidemment bloqué par Power Apps pour des risques de boucles infinies j’imagine
- Ensuite j’ai imaginé utiliser un timer :
- Premier scan reste manuel via le bouton
- à la fin du bouton je rajoute :
<pre class=”language-javascript”>// Démarrer le Timer pour le prochain scan automatique
UpdateContext({ VarStartTimer: true })
- J’ajoute un timer, sur sa propriété OnTimerEnd, je colle toute ma fonction OnSelect du bouton, en rajoutant au début :
<pre class=”language-javascript”>// Relancer automatiquement un nouveau scan NFC
If(
VarStartTimer = true,
UpdateContext({ VarNFC: ReadNFC() });
- et en rajoutant à la fin :
<pre class=”language-javascript”>// ne pas relancer le Timer si l'utilisateur à annuler le scan, sinon relancer pour nouveau scan
If(
IsBlank(VarNFC.Identifier),
UpdateContext({ VarStartTimer: false }),
UpdateContext({ VarStartTimer: true })
)
- Propriété “Start” => VarStartTimer
Dans l’état actuel, je ne peux pas dire que ça je fonctionne pas, mais c’est très peu agile :
- La propriété “duration” rythme l’enchaînement des scans, l’utilisateur subit, et il arrive que des items vident soient collectés, l’utilisateur peu les suppr., car je lui affiche une galerie connectée à la collection, mais pas top
- La mise en pause et la reprise de la boucle automatique est laborieuse, pas hyper efficace
je sais que j’ai en parti le résultat de ce que j’entreprend, mais j’aurais aimé trouvé une solution pour ne pas avoir à sélectionner 50 fois ce fichu bouton
A dispo pour en discuter, en vous remerciant !
Connectez-vous pour répondre.