Yul
Excelente aporte.
Estaba buscando algo parecido, pero sabes que e slo que necesito.
consulta por DNI,
Te explico, tengo un modulo que hace consultas de RUC y DNI, para ello
solo llamo a las paginas respectivas, pero con tu idea, lo puedo hacer
directamente
Si me pudieras dar una mano con lo que deseo, la verificacion del RUC
pero por DNI
Gracias
El 22/05/12, YuLSoft <
yul...@gmail.com> escribió:
> Eso mismo.
> Salu2ss..
>
> *//////////////////////////////
>
> SET SAFETY OFF
> LOCAL XRUC AS String
> XRUC = "10210138132"
>
> #DEFINE CRLF CHR(13)+CHR(10)
> LOCAL oErr as Exception
> LOCAL cStr as Character
> LOCAL SW AS Boolean
> SW = .T.
> TRY
> LOCAL loXmlHttp AS Microsoft.XMLHTTP,;
> lcURL as String,;
> lcHTML as String,;
> lcTexto as String,;
> lcFile as String
>
> loXmlHttp = CREATEOBJECT("Microsoft.XMLHTTP")
> lcURL = "
http://www.sunat.gob.pe/w/wapS01Alias?ruc="+XRUC
> loXmlHttp.open("POST" , lcURL, .F.)
> loXmlHttp.send
>
> WAIT WINDOW "Espere por favor, obteniendo datos..." NOWAIT
> DO While loXmlHttp.readyState<>4 OR loXmlHttp.status <>200
> ENDDO
>
> lcHTML = loXmlHttp.Responsetext
> lcTexto = CHRTRAN(ALLTRIM(lcHTML),CHR(10),"")
> */Para los delimitadores
> lcTexto = STRTRAN(lcTexto, "Número Ruc. </b> " + xRUC + " -
> ","RazonSocial:")
> lcTexto = STRTRAN(lcTexto, "Estado.</b>","Estado:")
> lcTexto = STRTRAN(lcTexto, "Agente Retención IGV.</
> strong>","ARIGV:")
> lcTexto = STRTRAN(lcTexto, "Dirección.</b><br/>","Direccion:")
> lcTexto = STRTRAN(lcTexto, "Situación.<b> ","Situacion:")
> lcTexto = STRTRAN(lcTexto, "Teléfono(s).</b><br/>","Telefono:")
> lcTexto = STRTRAN(lcTexto, "Dependencia.","Dependencia:")
> lcTexto = STRTRAN(lcTexto, "Tipo.</b><br/> ","TipoPer:")
> lcTexto = STRTRAN(lcTexto, "DNI</b> : ","DNI:")
> lcTexto = STRTRAN(lcTexto, "Fecha Nacimiento.</b> ","FechNac:")
> lcTexto = STRTRAN(lcTexto, SPACE(05),SPACE(01))
> lcTexto = STRTRAN(lcTexto, SPACE(04),SPACE(01))
> lcTexto = STRTRAN(lcTexto, SPACE(03),SPACE(01))
> lcTexto = STRTRAN(lcTexto, SPACE(02),SPACE(01))
> lcTexto = STRTRAN(lcTexto, CHR(09),"")
>
> *** RAZON SOCIAL ***
> PosIni = AT("RazonSocial:", lcTexto)+12
> PosFin = AT("<br/></small>", lcTexto)-(AT("RazonSocial:", lcTexto)
> +12)
> xRazSocial = SUBSTR(lcTexto,PosIni,PosFin)
>
> xRazSocial = STRTRAN(xRazSocial,"Ñ","Ñ")
> xRazSocial = STRTRAN(xRazSocial , "Ñ", "Ñ")
> xRazSocial = STRTRAN(xRazSocial , "Á", "Á")
> xRazSocial = STRTRAN(xRazSocial , "É", "É")
> xRazSocial = STRTRAN(xRazSocial , "Í", "Í")
> xRazSocial = STRTRAN(xRazSocial , "Ó", "Ó")
> xRazSocial = STRTRAN(xRazSocial , "Ú", "Ú")
> xRazSocial = STRTRAN(xRazSocial , "Á", "Á")
> xRazSocial = STRTRAN(xRazSocial , "É", "É")
> xRazSocial = STRTRAN(xRazSocial , "Í", "Í")
> xRazSocial = STRTRAN(xRazSocial , "Ó", "Ó")
> xRazSocial = STRTRAN(xRazSocial , "Ú", "Ú")
>
> lcFile= "Datos_Contribuyente.txt"
> STRTOFILE(xRazSocial+CHR(13)+CHR(10), lcFile)
>
> *** ESTADO ***
> PosIni = AT("Estado:", lcTexto)+7
> PosFin = (AT("ARIGV", lcTexto)-32)-(AT("Estado:", lcTexto)+7)
> xEst = SUBSTR(lcTexto,PosIni,PosFin)
>
> STRTOFILE(xEst+CHR(13)+CHR(10) , lcFile,1)
>
> *** AGENTE RETENEDOR IGV ***
> PosIni = AT("ARIGV:", lcTexto)+18
> PosFin = AT("ARIGV:", lcTexto)+20-(AT("ARIGV:", lcTexto)+18)
> xAR = SUBSTR(lcTexto,PosIni,PosFin)
>
> STRTOFILE(xAR+CHR(13)+CHR(10), lcFile,1)
>
> *** DIRECCION ***
> PosIni = AT("Direccion:", lcTexto)+10
> PosFin = AT("</b></small><br/>", lcTexto)-38-(AT("Direccion:",
> lcTexto)+10)
> xDir = SUBSTR(lcTexto,PosIni,PosFin)
>
> xDir = STRTRAN(xDir, "Ñ", "Ñ")
> xDir = STRTRAN(xDir, "Ñ", "Ñ")
> xDir = STRTRAN(xDir, "Á", "Á")
> xDir = STRTRAN(xDir, "É", "É")
> xDir = STRTRAN(xDir, "Í", "Í")
> xDir = STRTRAN(xDir, "Ó", "Ó")
> xDir = STRTRAN(xDir, "Ú", "Ú")
> xDir = STRTRAN(xDir, "Á", "Á")
> xDir = STRTRAN(xDir, "É", "É")
> xDir = STRTRAN(xDir, "Í", "Í")
> xDir = STRTRAN(xDir, "Ó", "Ó")
> xDir = STRTRAN(xDir, "Ú", "Ú")
> STRTOFILE(xDir+CHR(13)+CHR(10), lcFile,1)
>
> *** SITUACION ***
> PosIni = AT("Situacion:", lcTexto)+10
> PosFin = AT("</b></small><br/>", lcTexto)-(AT("Situacion:", lcTexto)
> +10)
> xCond = SUBSTR(lcTexto,PosIni,PosFin)
> STRTOFILE(xCond+CHR(13)+CHR(10), lcFile,1)
>
> *** TELEFONO ***
> PosIni = AT("Telefono:", lcTexto)+9
> PosFin = AT("Dependencia:", lcTexto)-25-(AT("Telefono:", lcTexto)+9)
> xTelef = SUBSTR(lcTexto,PosIni,PosFin)
> STRTOFILE(xTelef+CHR(13)+CHR(10), lcFile,1)
>
> *** TIPO DE PERSONA ***
> PosIni = AT("TipoPer:", lcTexto)+8
> PosFin = AT("DNI:", lcTexto)-29-(AT("TipoPer:", lcTexto)+8)
> xTipoPer = SUBSTR(lcTexto,PosIni,PosFin)
> STRTOFILE(xTipoPer+CHR(13)+CHR(10), lcFile,1)
>
> *** DNI ***
> PosIni = AT("DNI:", lcTexto)+4
> PosFin = AT("FechNac:", lcTexto)-25-(AT("DNI:", lcTexto)+4)
> xDNI = SUBSTR(lcTexto,PosIni,PosFin)
> STRTOFILE(xDNI+CHR(13)+CHR(10), lcFile,1)
>
> *** FECHA DE NACIMIENTO ***
> PosIni = AT("FechNac:", lcTexto)+8
> PosFin = AT("FechNac:", lcTexto)+18-(AT("FechNac:", lcTexto)+8)
> xFechNac = SUBSTR(lcTexto,PosIni,PosFin)
> STRTOFILE(xFechNac, lcFile,1)
>
>
> MODIFY FILE (lcFile)
>
> RELEASE loXmlHttp
>
> CATCH TO oErr
> cStr = "Error:" + CRLF + CRLF + ;
> "[ Error: ] " + STR(oErr.ErrorNo) + CRLF + ;
> "[ Linea: ] " + STR(oErr.LineNo) + CRLF + ;
> "[ Mensaje: ] " + oErr.Message + CRLF + ;
> "[ Procedimiento: ] " + oErr.Procedure + CRLF + ;
> "[ Detalles: ] " + oErr.Details + CRLF + ;
> "[ StackLevel: ] " + STR(oErr.StackLevel) + CRLF + ;
> "[ Instrucción: ] " + oErr.LineContents
> MESSAGEBOX(cStr,4112,"Error...!!!")
> SW = .F.
> ENDTRY
>
> IF SW = .F.
> RETURN .F.
> ENDIF
>
> RETURN
>
>
>
> --
> _______________________________________________________________
> Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
> FoxPro" de Grupos de Google.
>
> Para anular la suscripción a este grupo, envía un mensaje a:
>
mundovisualfox...@googlegroups.com
--
*Juank
=================*
*Juan Carlos Aguilar
=================*