1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
PROCEDURE TraiterRFID()
LOCAL
sCardName est une chaîne UNICODE
vData est un Variant
oScript est un objet Automation "MSScriptControl.ScriptControl"
bAttention est un booléen
sMrz est une chaîne
bRFIOk est un booléen = False
bRésultat est un booléen
sScript est une chaîne = [
PUBLIC FUNCTION Wrapper_GetRfidFileB(oAX, ByVal card, ByVal file_id, ByRef bResult)
Dim data
bResult = oAX.GetRfidFileB(card, file_id, data)
Wrapper_GetRfidFileB = data
END FUNCTION
]
// On vérifie si une puce RFID est présente
SI AX_PrApi>>GetRfidCardList() > 0 ALORS
// On récupère l'ID de la puce RFID
bRFIOk = AX_PrApi>>GetRfidCard(0, sCardName)
// On connecte la variable ScardName à la puce RFID
bRFIOk = AX_PrApi>>ConnectRfidCard(sCardName)
FIN
SI bRFIOk ALORS
SI PAS AX_PrApi>>GetRfidFileB(sCardName, PRTypes.PR_RFID_EF_COM, vData) ALORS
bAttention = AX_PrApi>>GetErrorCode <> GXError.GX_EACCES
SI bAttention ALORS
Trace("Erreur")
SINON
Trace("Fait le BAC")
FIN
// On récupère la MRZ
sMrz = AX_PrDoc>>Field(PRDocTypes.PR_DF_MRZ1) + RC +
AX_PrDoc>>Field(PRDocTypes.PR_DF_MRZ2) + RC +
AX_PrDoc>>Field(PRDocTypes.PR_DF_MRZ3)
SI PAS AX_PrApi>>MakeBAC(sCardName, sMrz) ALORS
Erreur("Impossible de faire le MakeBac")
SINON
QUAND EXCEPTION DANS
oScript>>Language("VBScript")
oScript>>Reset
oScript>>AddCode(sScript)
oScript>>Timeout(-1) // pas de timeout
vData = oScript>>Run("Wrapper_GetRfidFileB",AX_PrApi,sCardName,PRTypes.PR_RFID_EF_COM,bRésultat)
FAIRE
Erreur("Erreur exécution ScriptControl",ExceptionInfo(errInfo),ExceptionInfo(errMessage))
RENVOYER Faux
FIN
SI PAS AX_PrApi>>GetRfidFileB(sCardName, PRTypes.PR_RFID_EF_COM, ConstruitVariantAutomation(vData)) ALORS
Erreur("GetRfidFileB")
SINON
AX_PrDoc>>Document = AX_PrApi>>ResolveRfidData(vData)
FIN
FIN
SINON
AX_PrDoc>>Document = AX_PrApi>>ResolveRfidData(vData)
FIN
// On fait le MakeBac
// trace(gclMonDocument:GetMRZ())
// AX_PrApi>>MakeBAC(sCardName, gclMonDocument:GetMRZ())
Trace("RFID Surname : " + AX_PrDoc>>Field(PRDocTypes.PR_DF_SURNAME))
FIN |
Partager