LOCAL lcDNI,lcToken
lcToken = "87290E49D50B519" &&SOLICITAR SU TOKEN PERSONALIZADO
lcDNI = "72398649" &&NUMERO DE DNI
IF !VFPs_Consultar_DNI(lcDNI,lcToken)
RETURN .F.
ENDIF
*!* CONSULTA REALIZADA CON EXITO
? _SCREEN.lcDni_lcNombres
? _SCREEN.lcDni_lcApe_Paterno
? _SCREEN.lcDni_lcApe_Materno
? _SCREEN.lcDni_lcNombres + " " + _SCREEN.lcDni_lcApe_Paterno + " " + _SCREEN.lcDni_lcApe_Materno
? _SCREEN.lcDni_lcCod_Verificacion
? _SCREEN.lcDni_lcTelefono
? _SCREEN.lcDni_lcDomicilio
*!* FUNCIÓNES
FUNCTION VFPs_Consultar_DNI (lcDNI,lcToken)
IF TYPE("lcDNI") = "L" .OR. TYPE("lcToken") = "L"
RETURN .F.
ENDIF
LOCAL lnEstado,lcURL,loHTTP,lcResult,laDatos,lnError,lcToken,lcDNI
DIMENSION laDatos[1]
lnError = 0
lnEstado = -1
lcURL = "http://www.facturacionsunat.com/vfpsws/vfpscondni.php?dni=" + ALLTRIM(lcDNI) + "&token=" + ALLTRIM(lcToken)
TRY
loHTTP = CREATEOBJECT("MSXML2.XMLHTTP")
loHTTP.Open("GET", lcURL, .F.)
loHTTP.Send ()
lnEstado = loHTTP.Status
CATCH TO loError
TRY
loHTTP = CREATEOBJECT("Microsoft.XMLHTTP")
IF TYPE("loHTTP") <> "O"
RETURN .F.
ENDIF
loHTTP.Open("GET", lcURL, .F.)
loHTTP.Send ()
lnEstado = loHTTP.Status
CATCH TO loError
*!* ERROR NO EXISTEN LOS OBJETOS XML
lnEstado = -1
MESSAGEBOX("No se puede instanciar los objetos XMLHTTP. Verificar!!!",48,"VFPSTEAM BI")
ENDTRY
ENDTRY
IF lnEstado <> 200
RETURN .F.
ENDIF
_SCREEN.MousePointer = 0
lcResult = loHTTP.ResponseText
lcResult = ALLTRIM(STRTRAN(lcResult,"</br >",CHR(13) + CHR(10)))
lnLines = ALINES(laDatos,lcResult)
loHTTP = .F.
IF lnLines = 1
MESSAGEBOX(lcResult + ". Verificar!!!",48,"VFPSTEAM BI")
RETURN .F.
ENDIF
*!* LLENAMOS LOS RESULTADOS EN PROPIEDADES DEL _SCREEN
_SCREEN.AddProperty ("lcDni_lcNombres",ALLTRIM(STRTRAN(laDatos[2],"Nombres:","")))
_SCREEN.AddProperty ("lcDni_lcApe_Paterno",ALLTRIM(STRTRAN(laDatos[3],"Ape. Paterno:","")))
_SCREEN.AddProperty ("lcDni_lcApe_Materno",ALLTRIM(STRTRAN(laDatos[4],"Ape. Materno:","")))
_SCREEN.AddProperty ("lcDni_lcCod_Verificacion",ALLTRIM(STRTRAN(laDatos[5],"Verificacion:","")))
_SCREEN.AddProperty ("lcDni_lcTelefono",ALLTRIM(STRTRAN(laDatos[6],"telefono:","")))
_SCREEN.AddProperty ("lcDni_lcDomicilio",ALLTRIM(STRTRAN(laDatos[7],"domicilio:","")))
RETURN .T.
ENDIF