PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → comment vider un champ sesai apres lecture d'un code barre
comment vider un champ sesai apres lecture d'un code barre
Débuté par eriktuz, 07 mar. 2016 17:38 - 5 réponses
Membre enregistré
27 messages
Posté le 07 mars 2016 - 17:38
salut a tous

c'est la premiere fois qui je utilise un lecteur code barre avec windev

bon j'avait un table fichier et un table memoir et un champ de saisai pour afficher le code barre et apres je fait une recherch dans la table fichier et si trouve le prouduit alors ajout ligne au table memoir

tout a fait bien et fonctionne mais lorsque je scan une 2 produit il faut effacer le contenu du champ de saisai je essaye :

dans : la sortie du sai_saisai

HLitRecherche(produit,codebarre,SAI_SansNom1,hIdentique)

SI HTrouve(produit) = Vrai ALORS
TableAjouteLigne(TABLE_SansNom1,produit.name,produit.codebarre)
SINON
Erreur("le produit n'est pas ajouter au stock")
FIN
RepriseSaisie(SAI_SansNom1)
SAI_SansNom1 = ""

je veut un conseille pour quelle evenment doit poser le code et merci
Membre enregistré
204 messages
Popularité : +1 (1 vote)
Posté le 07 mars 2016 - 17:47
Bonjour

Quand tu fais un reprisesaisie, ton code ne continue pas, il va directement sur la saisie de ta zone

il suffit de mettre ton sai_sansnom1 = "" avant le reprisesaisie

Olivier
Membre enregistré
27 messages
Posté le 07 mars 2016 - 18:03
merci

je pose le code dans l'evenment : ( pert de focus dans sai_sansnom1 )

HLitRecherche(produit,codebarre,SAI_SansNom1,hIdentique)

SI HTrouve(produit) = Vrai ALORS
TableAjouteLigne(TABLE_SansNom1,produit.name,produit.codebarre)
SINON
Erreur("le produit n'est pas ajouter au stock")
FIN

SAI_SansNom1 = ""

RepriseSaisie(SAI_SansNom1)


tout va bien

mais mantenat je ne peut pas utiliser les autre champ de saisai juste le champ de scan
Membre enregistré
204 messages
Popularité : +1 (1 vote)
Posté le 07 mars 2016 - 18:08
Si tu fais un reprisesaisie c'est normal, il revient sur ton champs
donc apres cela depend ce que tu veux faire dans ton code
Si ton produit existe, et que tu veux continuer a saisir les zones suivantes, tu ne dois pas faire le reprisesaisie
donc ne mettre le reprisesaisie que dans le cas de l'erreur (et mettre le raz zone avant)
Membre enregistré
27 messages
Posté le 07 mars 2016 - 18:37
oui je sais je veut des conseilles comment faire pour:

mon application c'est pour vente caisse ,je saisai tout les produits dans le fichier produit et apres dans la fenetre de vente j'avait le champ de scann du code barre et table des produit ,lorsque je scanne une code barre le produit est ajouter au panier et lorsque je scanne 2 fois la meme operation ,mais avec la reprise saisai dans le shamp scann pour ne pas set reprise manuellement
danc maintenet 2 solution:

1- utilisation reprise saisai (seulement le champ scann qui je peu utiliser)
2-annuler la reprise tout les champ utilisable mais a chaque operation de vent je doit mettre la reprise manuellment
Posté le 08 mars 2016 - 11:19
Bonjour,

il faut conditionner ta reprise de saisie au fait que tu aies ou pas scanner dans ta zone de saisie :

SI SansEspace(SAI_SansNom1)<>"" ALORS
HLitRecherche(produit,CodeBarre,SAI_SansNom1,hIdentique)
SI HTrouve(produit) = Vrai ALORS
TableAjouteLigne(TABLE_SansNom1,produit.name,produit.CodeBarre)
SINON
Erreur("le produit n'est pas ajouter au stock")
FIN
SAI_SansNom1 = ""
RepriseSaisie(SAI_SansNom1)
FIN


Cordialement,

Laurent33