Consulta de DNI.
LPARAMETERS 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
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 RECURSIVO NO EXISTEN LOS OBJETOS XML
lnEstado = -1
Messagebox("No se puede instanciar los objetos XMLHTTP. Verificar!!!",48,"Erorr!!! DNI")
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,"Error")
Public DatosDni
Dimension DatosDni[7]
DatosDni[2] = ""
DatosDni[3] = ""
DatosDni[4] = ""
DatosDni[5] = ""
DatosDni[6] = ""
DatosDni[7] = ""
Else
Public DatosDni
Dimension DatosDni[7]
DatosDni[2] = Substr(laDatos[2],9, 50) && Nombres
DatosDni[3] = Substr(laDatos[3],14, 50) && Ape. Paterno
DatosDni[4] = Substr(laDatos[4],14, 50) && Ape. Materno
DatosDni[5] = Alltrim(Substr(laDatos[5],15)) && Verificacion
DatosDni[6] = Substr(laDatos[6],10, 10) && Telefono
DatosDni[7] = Substr(laDatos[7],12, 100) && Domicilio
ThisForm.txtRazonSocial.Value = ''
ThisForm.Pageframe1.Page4.edtMdirec_clie.Value = DatosDni[7] &&''
ThisForm.Pageframe1.Page3.txtCfax_clie.Value = DatosDni[6]
Thisform.txta_paterno.Value = DatosDni[3]
Thisform.txta_materno.Value = DatosDni[4]
Thisform.txtNombres.Value = DatosDni[2]
Endif
Return DatosDni
Consulta de RUC.
lparameter lcRUC,lcToken
If Type("lcRUC") = "L" .Or. Type("lcToken") = "L"
Return .F.
ENDIF
Local lnEstado,lcURL,loHTTP,lcResult,laDatos,lnError,lcToken,lcDNI,lnTotRes,i,lnDatSum
Dimension laDatos[16]
lnError = 0
lnEstado = -1
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 RECURSIVO NO EXISTEN LOS OBJETOS XML
lnEstado = -1
Messagebox("No se puede instanciar los objetos XMLHTTP. Verificar!!!",48,"Error RUC")
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,"Eror RUC!!!")
Public DatosRuc
DIMENSION DatosRuc[15]
DatosRuc[1] = ""
DatosRuc[2] = ""
DatosRuc[3] = ""
DatosRuc[4] = ""
DatosRuc[5] = ""
DatosRuc[6] = ""
DatosRuc[7] = ""
DatosRuc[8] = ""
DatosRuc[9] = ""
DatosRuc[10] = ""
DatosRuc[11] = ""
DatosRuc[12] = ""
DatosRuc[13] = ""
DatosRuc[14] = ""
DatosRuc[15] = ""
DatosRuc[16] = ""
Else
*!* LLENAMOS LOS RESULTADOS EN PROPIEDADES DEL _SCREEN
Public DatosRuc
DIMENSION DatosRuc[15]
DatosRuc[1] = SUBSTR(laDatos[1],9, 100) && Nombre
DatosRuc[2] = Alltrim(SUBSTR(laDatos[2],6, 10)) && Dni
DatosRuc[3] = Alltrim(SUBSTR(laDatos[3],12,100)) && Domicilio
DatosRuc[4] = Alltrim(SUBSTR(laDatos[4],11)) &&
DatosRuc[5] = Alltrim(SUBSTR(laDatos[5],11)) && Distrito
DatosRuc[6] = Alltrim(SUBSTR(laDatos[6],14)) && Provincia
DatosRuc[7] = Alltrim(SUBSTR(laDatos[7],8)) && Departamento
DatosRuc[8] = SUBSTR(laDatos[8],19,100) && Nombre comercial
DatosRuc[9] = Alltrim(SUBSTR(laDatos[9],9)) && Estatus
DatosRuc[10] = Alltrim(SUBSTR(laDatos[10],20)) && Tipo contribuyente
DatosRuc[11] = Alltrim(SUBSTR(laDatos[11],9)) && Condici
DatosRuc[12] = SUBSTR(laDatos[12],8, 10) && Tel?no
DatosRuc[13] = Alltrim(SUBSTR(laDatos[13],19)) && Fecha inscripcion
DatosRuc[14] = Alltrim(SUBSTR(laDatos[14],20)) && Emisor electronico
DatosRuc[15] = Alltrim(SUBSTR(laDatos[15],22)) && Sistema contabilidad
ThisForm.txtRazonSocial.Value = DatosRuc[1]
ThisForm.txtcNombre_Comercial.Value = iif(DatosRuc[8]='-', '', DatosRuc[8])
ThisForm.Pageframe1.Page4.edtMdirec_clie.Value = DatosRuc[3]
ThisForm.Pageframe1.Page3.txtCfax_clie.Value = DatosRuc[12]
Cadena = DatosRuc[1]
Thisform.txta_paterno.Value = ''
Thisform.txta_materno.Value = ''
Thisform.txtNombres.Value = ''
IF substr(lcRUC, 1, 2) != '20'
Ape1 = ATC(' ', Cadena)
Ape2 = ATC(' ', SUBSTR(Cadena,Ape1+1))
Nom1 = ATC(' ',SUBSTR(Cadena,Ape1+Ape2+1))
Thisform.txta_paterno.Value = SUBSTR(Cadena,1,Ape1)
Thisform.txta_materno.Value = SUBSTR(Cadena,Ape1+1,Ape2)
Thisform.txtNombres.Value = substr(Cadena,(Ape1+1+Ape2))
endif
Thisform.txtcdocumento_dni.Value = iif(DatosRuc[2] = '-', '', DatosRuc[2])
*ThisForm.Pageframe1.Page5.Rex_Ubigeo.txtSearch.value = DatosRuc[7]
Endif
Return DatosRuc