1. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

AIDE Fichier texte d'une pointeuse

Discussion dans 'Résolution problème & conseils' créé par Mohamed, Sept 27, 2018.

  1. suenodesign

    suenodesign Well-Known Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    511
    J'aime reçus:
    740
    Bonjour @

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ,

    D'abord, merci @

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    pour la fusion.

    Pour la fonction SSR_GetGeneralLogData : Elle est plus évoluée que GetGeneralLogData

    Plus le matériel évolue, les fonctions aussi.

    Tu trouvera ton bonheur avec ces deux fichiers.

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Travaillons ensemble pour aider la communauté.

    Tu pourras proposer des exemples si tu arrives à faire fonctionner les codes de ces manuels.

    Courage.

    - Je travaille aussi avec une ZKTeco K14 les codes proposés fonctionneront surement pour toi.

    - Tu as quelle version de WD??
     
    michel et joker aiment ça.
  2. Mohamed

    Mohamed Active Member

    Inscrit:
    Jan 15, 2018
    Messages:
    304
    J'aime reçus:
    60
    Merci

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    pour la fusion

    Merci

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    pour ton retour

    Oui, j'arrive à afficher les heures lors j'ai remplacé la fonction GetGeneralLogData () par SSR_GetGeneralLogData()

    J'ai déjà ces 2 fichiers
    j'utilise la version 23

    Un question pour le InOut et VRFMode on va les paramétrer dans la pointeuse par exemple (0: MD, 1 FP, 2 CARD) (0:Entrée, 1:Sorte) ou bien on doit garder les paramètres fournies par l'usine?
     
    #22 Mohamed, Oct 8, 2018
    Dernière édition: Oct 8, 2018
    joker apprécie ceci.
  3. Fatehb71

    Fatehb71 Member

    Inscrit:
    Jan 9, 2018
    Messages:
    64
    J'aime reçus:
    39
    Bonjour
    Pour ce qui ont besoin de se connecter à une pointeuse
    voila une petite application (WD22) que j'ai faite pour se connecter et récupérer les infos et les données d'une pointeuse.
    Bien-sûr il faut installer l' ActiveX qui de la pointeuse sur la machine
    Il faut bien connaître les fonctions :

    ReadGeneralLogData
    GetAllGLogData

    ReadAllSLogData
    GetAllSLogData
    GetGeneralLogData

    ClearGLog

    Il y a un bout de code en commentaire (selon le besoin on l'utilise ou non)
    J'espère que cela aidera quelqu'un
    PS : Je vais supprimer demain

    Voila le lien :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
  4. suenodesign

    suenodesign Well-Known Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    511
    J'aime reçus:
    740
    Heureux pour toi.

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Un question pour le InOut et VRFMode on va les paramétrer dans la pointeuse par exemple (0: MD, 1 FP, 2 CARD) (0:Entrée, 1:Sorte) ou bien on doit garder les paramètres fournies par l'usine?
    Cliquez pour agrandir...
    Les valeurs InOut et VRFMode sont déjà programmées dans le firmware de la pointeuse.

    Lorsque tu récupères les pointages par SSR_GetGeneralLogData, tu récupères en faite les valeurs correspondantes à dwVerifyMode (0-14)
    Verification mode:
    Code (Text):
    FP_OR_PW_OR_RF -> 0
    FP -> 1
    PIN -> 2
    PW -> 3
    RF -> 4
    FP_OR_PW -> 5
    FP_OR_RF -> 6
    PW_OR_RF -> 7
    IN_AND_FP -> 8
    FP_AND_PW -> 9
    FP_AND_RF -> 10
    PW_AND_RF -> 11
    FP_AND_PW_AND_RF -> 12
    PIN_AND_FP_AND_PW -> 13
    FP_AND_RF_OR_PIN -> 14
    et dwInOutMode (0-5)
    Code (Text):
    0 -> Check-In (default value)
    1-> Check-Out
    2-> Break-Out
    3-> Break-In
    4-> OT-In
    5-> OT-Out
    C'est à toi de les traduire en texte

    Voici un exemple
    Code (Windev):
                SELON dwVerifyMode
                    CAS 0 : {_sTab+"."+"vfm",indChamp}[iOccur]="PWD" // password
                    CAS 1 : {_sTab+"."+"vfm",indChamp}[iOccur]="FP" //    fingerprint
                    CAS 2 : {_sTab+"."+"vfm",indChamp}[iOccur]="CARD"    //    card
    // Autres valeurs, j'ai besoin de ces trois valeurs seulement :)
                    AUTRE CAS
                        {_sTab+"."+"vfm",indChamp}[iOccur]=""
                FIN
           
                SELON dwInOutMode
                    CAS  0 : {_sTab+"."+"cico",indChamp}[iOccur]="Entrée"
                    CAS  1 : {_sTab+"."+"cico",indChamp}[iOccur]="Sortie"
                    CAS  2 : {_sTab+"."+"cico",indChamp}[iOccur]="Pause (in)"
                    CAS  3 : {_sTab+"."+"cico",indChamp}[iOccur]="Pause (out)"
                    AUTRE CAS
                        {_sTab+"."+"cico",indChamp}[iOccur]=""
                FIN
     
    #24 suenodesign, Oct 8, 2018
    Dernière édition: Oct 8, 2018
    joker apprécie ceci.
  • suenodesign

    suenodesign Well-Known Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    511
    J'aime reçus:
    740
    Bonjour

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ,

    Tu pourrais suivre cette discussion. Cela t'aidera à corriger l'erreur des dates éronées.

    Bonne journée.
     
    #25 suenodesign, Oct 8, 2018
    Dernière édition par un modérateur: Oct 8, 2018
    joker apprécie ceci.
  • Fatehb71

    Fatehb71 Member

    Inscrit:
    Jan 9, 2018
    Messages:
    64
    J'aime reçus:
    39

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Merci
    C'est seulement un décalage d'affichage, il faut juste insérer une colonne avant la colonne année, et tout sera afficher convenablement
    J'espère que celui qui l'utilisera comprendra le principe, c'est le but de ce petit bout de programme
     
  • Mohamed

    Mohamed Active Member

    Inscrit:
    Jan 15, 2018
    Messages:
    304
    J'aime reçus:
    60
    Bonjour

    Je trouve que la pointeuse K14 peut accepter plusieurs entrées de même employé (Cas d'erreur) dans la même heure et même jour.
    Je trouve également que la méthode de pointage n'est pas pratique, sauf si je ne comprend pas le paramétrage de la machine, par exemple avant de pointer (par empreinte) il faut utiliser les 2 touches de direction (haut et bas) pour choisir le InOut (entrée, sortie,..)
     
  • suenodesign

    suenodesign Well-Known Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    511
    J'aime reçus:
    740

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Je trouve que la pointeuse K14 peut accepter plusieurs entrées de même employé (Cas d'erreur) dans la même heure et même jour.
    Je trouve également que la méthode de pointage n'est pas pratique, sauf si je ne comprend pas le paramétrage de la machine, par exemple avant de pointer (par empreinte) il faut utiliser les 2 touches de direction (haut et bas) pour choisir le InOut (entrée, sortie,..)
    Cliquez pour agrandir...
    Oui, je confirme.
    ça pose un problème du còté du calcule des horaires de travail.

    Là, comment tu projette gérer les shifts de travail?
     
  • WX1331

    WX1331 Well-Known Member
    MEMBRE WX DUMP TEAM

    Inscrit:
    Jan 1, 2018
    Messages:
    613
    J'aime reçus:
    679
    Salut Mohamed

    D'après le formateur de la pointeuse de l'entreprise ou je bosse, il faut rien touché (Entrée, Sortie, Pause In Pause Out, ect...) dela pointeuse TK c'est selon les paramètres que tu as définies dans le logiciel de la pointeuse, tu pourra faire la même chose).
    J'ai vu le fichier Access ou sont enregistre les infos de pointage.

    salutations
     
    joker apprécie ceci.
  • Mohamed

    Mohamed Active Member

    Inscrit:
    Jan 15, 2018
    Messages:
    304
    J'aime reçus:
    60
    Bonjour

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Merci d'abord pour l'idée.

    Pour moi et dans mon cas je n'utilise plus le logiciel de la pointeuse.

    Actuellement je cherche dans le manuel de la pointeuse la fonction qui me permet de bloquer le pointage à plusieurs reprise en cas d'entrée ou sortie
     
  • Fatehb71

    Fatehb71 Member

    Inscrit:
    Jan 9, 2018
    Messages:
    64
    J'aime reçus:
    39
    @

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Voir le petit programme que j'ai mis et tu trouvera peut être ce que tu cherche
     
  • Mohamed

    Mohamed Active Member

    Inscrit:
    Jan 15, 2018
    Messages:
    304
    J'aime reçus:
    60
    Bonjour

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Merci de ton réponse , j'avais déjà consulté ton code, mais je ne trouve pas comment tu bloque le pointage à plusieurs reprise en cas d'entrée ou sortie ?
     
  • Fatehb71

    Fatehb71 Member

    Inscrit:
    Jan 9, 2018
    Messages:
    64
    J'aime reçus:
    39
    L'instruction >>EnableDevice(1, faux) // Bloque la pointeuse
    Tantque
    L'instruction >>EnableDevice(1, vrai) // déloque la pointeuse
    n'est exécutée Auqu'un ne peut pointer
     
  • Mohamed

    Mohamed Active Member

    Inscrit:
    Jan 15, 2018
    Messages:
    304
    J'aime reçus:
    60
    Merci pour ton retour

    De plus on peut envoyer un SMS vers la pointeuse par la fonction SetUserSMS() pour avertir l'employé en cas d'erreur
     
  • RayMM

    RayMM Member

    Inscrit:
    Mar 3, 2018
    Messages:
    48
    J'aime reçus:
    7
    Bonjour à tous,

    Moi aussi je travaille sur un projet similaire concernant une pointeuse de ZKTeco.
    j'ai quelques blocages et j'ai besoin de votre aide SVP
    Premièrement, le connexion avec ma pointeuse est établie avec succès.

    Maintenant, je veux récupérer le numéro de la carte de l'utilisateur à chaque événement de pointage (en temps réel),
    Ensuite, après que je fait mes contrôles de l'utilisateur au niveau de mon application windev, je veux envoyer l'ordre d'ouverture ou non de la porte liée à la pointeuse.

    Merci d'avance.
     
  • Fatehb71

    Fatehb71 Member

    Inscrit:
    Jan 9, 2018
    Messages:
    64
    J'aime reçus:
    39
    @

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Bonjour

    Dans le code de l'initialisation de la fenêtre qui contient l'ActiveX de la pointeuse
    si Le nom de l'activeX est AX_Pointeuse
    SI (Pointeuse_Connectée) ALORS
    bRegEvent est un booleen = AX_Pointeuse>>RegEvent(nNumeroMachine, 65535)
    SI (bRegEvent) ALORS
    ActiveXEvenement("Nom_Procedure_A_Appeler", AX_Pointeuse, "OnAttTransaction")
    FIN
    FIN
     
    houari, RayMM et suenodesign aiment ça.
  • RayMM

    RayMM Member

    Inscrit:
    Mar 3, 2018
    Messages:
    48
    J'aime reçus:
    7
    Merci

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    pour votre réponse

    j'ai fait ce vous avez m'indiquer, mais
    mon problème reste au niveau de ma procédure de ActiveXEvenement, il ne fait aucun trace qu'on je scane une carte via la pointeuse.

    qu'est ce que je peux faire au niveau de cette procédure pour récupérer les informations de la carte scannée ?

    merci encore une autre fois
     
  • RayMM

    RayMM Member

    Inscrit:
    Mar 3, 2018
    Messages:
    48
    J'aime reçus:
    7
    autre chose SVP, est ce que la carte doit être forcement paramétrer au niveau de la pointeuse (c'est à dire ajouter un utilisateur avec cette carte dans le logiciel de la machine) pour que je peut la lire directement via mon application windev ?
     
  • Fatehb71

    Fatehb71 Member

    Inscrit:
    Jan 9, 2018
    Messages:
    64
    J'aime reçus:
    39
    @

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Nom_Procedure_A_Appeler
    est le nom de ta procédure à appeler pour faire le traitement voulu
    elle est définie comme suit :
    Procedure Afficher_Pointage_Employe(iEnrollNumber, iIsInvalid, iAttState, iVerify, iYear, iMonth, iDay, iHour, iMinute, iSecond)

    Trace(iEnrollNumber)
    // iEnrollNumber est le numéro de l'employé dans la pointeuse.
    //Tu peux recherche dans ton fichier (employes) et faire le traitement dont tu as besoin
     
    RayMM apprécie ceci.
  • suenodesign

    suenodesign Well-Known Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    511
    J'aime reçus:
    740
    Salut @

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    / @

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    En application à ce qu'a dit @

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Tu crée une procédure globale
    Code (Windev):
    PROCÉDURE GLOBAL Info_OnAttTransactionEX(eEnrollNumber, eIsInvalid, eAttState, eVerifyMethod, eYear, eMonth, eDay, eHour, eMinute, eSecond, eWorkcode)
    s_Msg est une chaîne="User ID : " + eEnrollNumber+ " ["+eYear + "-" + eMonth + "-" + eDay + "  " + eHour + ":" + eMinute + ":" + eSecond+"]"
    trace(s_Msg)
    Dans le code du bouton de connexion, tu mets le code suivant :

    Note : Le nom de l'activeX est zKemKeeper // ou l'objet automation

    Code (Windev):
    s_ip est une chaîne="192.168.1.201"
    n_port est un entier=4370
    n_Machine_Num est un entier

    SI zKemKeeper>>Connect_Net(

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (s_ip),

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (n_port))=Vrai ALORS

    n_Machine_Num=zKemKeeper>>MachineNumber()

    // Here you can register the realtime events that you want to be triggered(the parameters 65535 means registering all)
     SI zKemKeeper>>RegEvent(n_Machine_Num, 65535) ALORS
                   

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (Info_OnAttTransactionEX,zKemKeeper,"OnAttTransactionEx")
    //                AutomationEvénement(Info_OnFinger, zKemKeeper, "OnFinger")
    //                AutomationEvénement(Info_OnFingerFeature, zKemKeeper, "OnFingerFeature")
    //                AutomationEvénement(Info_OnVerify, zKemKeeper, "OnVerify")
    //                AutomationEvénement(Info_OnEnrollFingerEx,zKemKeeper,"OnEnrollFingerEx")
     FIN
    FIN
     
    #40 suenodesign, Oct 30, 2018
    Dernière édition: Oct 30, 2018
    RayMM apprécie ceci.
  • Partager cette page

    Chargement...