PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Différence de fonctionnement inexpliqué
Différence de fonctionnement inexpliqué
Débuté par Gael L., 08 mar. 2018 17:28 - 4 réponses
Posté le 08 mars 2018 - 17:28
Bonjour à tous et à toutes,

Je travaille actuellement sur une appli de pointage de personnel du terminal mobile (Android).

Sur le principe, je flash un code à barre et je vérifie s'il est présent dans une zone répétée.
Si le code à barres est trouvée, j'affiche un message d'erreur sinon, j'ajoute une ligne dans la ZR.

En mode test, le code suivant fonctionne nickel :

POUR i = 1 A ZR_Salarie..Occurrence
SI ZR_Salarie.ATT_NumSS[i] <> SAI_CodeBarresSalarie ALORS
SalariePointe = Faux
SINON
SalariePointe = Vrai
SORTIR
FIN
FIN

SI SalariePointe = Faux ALORS
ZoneRépétéeInsèreLigne(ZR_Salarie, 1, REQ_SalariesDepuisInterim.Photo, REQ_SalariesDepuisInterim.NomFamille, REQ_SalariesDepuisInterim.Prenom, REQ_SalariesDepuisInterim.NumeroSS)
ZoneRépétéeSelectPlus(ZR_Salarie, 1)
LIB_NombreSalarie = ZoneRépétéeOccurrence(ZR_Salarie) + " salarié(s) dans la liste"

IMG_Salarie = REQ_SalariesDepuisInterim.Photo
LIB_Salarie = REQ_SalariesDepuisInterim.Prenom + RC + REQ_SalariesDepuisInterim.NomFamille
MaFenêtre..Plan = 3
Multitâche(300)
MaFenêtre..Plan = 1

SINON
Erreur("Ce salarié est déjà dans la liste.")
FIN


La ZR est vide, je flash un 1er code à barres, la ligne s'ajoute bien dans cette ZR.
Je flash un second code à barres et le système me retourne un message comme quoi celui-ci est déjà dans la ZR alors qu'en principe il n'y ait pas !!!

Je reprécise qu'en mode test sur le PC, aucun problème, cela ne se produit que depuis le terminal...

Si vous voyez quelque chose dans mon code ou une idée...

Merci à vous
Posté le 08 mars 2018 - 18:34
Le ZoneRépétéeInsèreLigne ajoute toujours le même enreg de la requête...
Posté le 09 mars 2018 - 09:03
Bonjour,

Petite précision, ce code est dans une procédure locale appelée dans la boucle résultant d'une requête

POUR TOUT MaRequete
MaProcedure()
FIN
Posté le 09 mars 2018 - 11:15
Curieux !
Le problème est dû au changement de plan.
Si au lieu de

MaFenêtre..Plan = 3
Multitâche(300)
MaFenêtre..Plan = 1


je mets tous les champs sur le même plan avec le code suivant :

GR_Salarie..Visible = Vrai
Multitâche(300)
GR_Salarie..Visible = Faux


le problème disparaît. Il n'y a pourtant aucun code qui gère un rafraîchissement quelconque de quoi que ce soit.
Si l'un d'entre vous a une explication, je suis preneur ;)
Membre enregistré
940 messages
Popularité : +66 (68 votes)
Posté le 12 mars 2018 - 14:40
bonjour,

un code de sortie de champ ?