Re: Consultar RUC - Peru

270 views
Skip to first unread message
Message has been deleted

Mik

unread,
May 22, 2012, 6:04:17 PM5/22/12
to publice...@googlegroups.com
Genial!  Mis respetos. Muchas gracias por el aporte.

Saludos.

Miguel Herbias
Lima-Peru



El martes, 22 de mayo de 2012 16:49:19 UTC-5, YuLSoft escribió:
Eso mismo.
Saludoss...

*///////////////////////////////
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&#xFA;mero Ruc. </b> " + xRUC + " -
","RazonSocial:")
        lcTexto  = STRTRAN(lcTexto, "Estado.</b>","Estado:")
        lcTexto  = STRTRAN(lcTexto, "Agente Retenci&#xF3;n IGV.</
strong>","ARIGV:")
        lcTexto  = STRTRAN(lcTexto, "Direcci&#xF3;n.</b><br/>","Direccion:")
        lcTexto  = STRTRAN(lcTexto, "Situaci&#xF3;n.<b> ","Situacion:")
        lcTexto  = STRTRAN(lcTexto, "Tel&#xE9;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,"&#209;","Ñ")
        xRazSocial  = STRTRAN(xRazSocial , "&#xD1;", "Ñ")
    xRazSocial  = STRTRAN(xRazSocial , "&#193;", "Á")
    xRazSocial  = STRTRAN(xRazSocial , "&#201;", "É")
    xRazSocial  = STRTRAN(xRazSocial , "&#205;", "Í")
    xRazSocial  = STRTRAN(xRazSocial , "&#211;", "Ó")
    xRazSocial  = STRTRAN(xRazSocial , "&#218;", "Ú")
    xRazSocial  = STRTRAN(xRazSocial , "&#xC1;", "Á")
    xRazSocial  = STRTRAN(xRazSocial , "&#xC9;", "É")
    xRazSocial  = STRTRAN(xRazSocial , "&#xCD;", "Í")
    xRazSocial  = STRTRAN(xRazSocial , "&#xD3;", "Ó")
    xRazSocial  = STRTRAN(xRazSocial , "&#xDA;", "Ú")

        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, "&#209;", "Ñ")
    xDir = STRTRAN(xDir, "&#xD1;", "Ñ")
    xDir = STRTRAN(xDir, "&#193;", "Á")
    xDir = STRTRAN(xDir, "&#201;", "É")
    xDir = STRTRAN(xDir, "&#205;", "Í")
    xDir = STRTRAN(xDir, "&#211;", "Ó")
    xDir = STRTRAN(xDir, "&#218;", "Ú")
    xDir = STRTRAN(xDir, "&#xC1;", "Á")
    xDir = STRTRAN(xDir, "&#xC9;", "É")
    xDir = STRTRAN(xDir, "&#xCD;", "Í")
    xDir = STRTRAN(xDir, "&#xD3;", "Ó")
    xDir = STRTRAN(xDir, "&#xDA;", "Ú")
        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



Reply all
Reply to author
Forward
0 new messages