Para Peruanos - Capturar Ruc Sunat

775 views
Skip to first unread message

Roberto Lemos

unread,
Oct 11, 2011, 1:11:41 PM10/11/11
to Comunidad de Visual Foxpro en Español
Buenas tardes, para los programadores peruanos, existe alguna forma
para desde un form invocar a la página de la Sunat, para validar el
Ruc y el Tipo de Cambio?

Miguel Angel Nina

unread,
Oct 14, 2011, 3:29:48 PM10/14/11
to publice...@googlegroups.com
ESTA ES LA FUNCION QUE DESCARGA LOS TIPOS DE CAMBIO ... Y MAS ABAJO PARA VALIDAD RUC

* ***************************************************************
FUNCTION  vertc
loIE=createobject("InternetExplorer.Application") 
loIE.visible=.F. 

do while loIE.readystate<>4 
       wait window "Waiting for web page..." nowait 
ENDDO 

lcHTML=loIE.document.body.innerText 
ln_PosIni = AT("Día",lcHTML) 
ln_PosFin = AT("Para efectos",lcHTML) 
lc_Texto = SUBSTR(lcHTML,ln_PosIni,ln_PosFin - ln_PosIni) 
ln_PosIni = RAT("Venta",lc_Texto) 
lc_Texto = CHRTRAN(ALLTRIM(SUBSTR(lc_Texto,ln_PosIni + 6)) + " ",CHR(10),"") 

WAIT Clear 

loIE.Quit() 
RELEASE loIE 
PUSH KEY CLEAR 

CREATE CURSOR CurTCambio(DIA N(2),TC_COMPRA N(5,3),TC_VENTA N(5,3)) 
ln_Contador = 0 
lc_Cadena = "" 
FOR K = 1 TO LEN(lc_Texto) 
      IF SUBSTR(lc_Texto,K,1) = " " THEN 
            ln_Contador = ln_Contador + 1       
            IF ln_Contador = 1 AND K <> LEN(lc_Texto) THEN 
                  SELECT CurTCambio 
                  APPEND BLANK 
                  REPLACE CurTCambio.DIA WITH VAL(lc_Cadena)                                   
            ENDIF 
            IF ln_Contador = 2 THEN  
                   SELECT CurTCambio 
                 REPLACE CurTCambio.TC_COMPRA WITH VAL(lc_Cadena)                                   
            ENDIF       
            IF ln_Contador = 3 THEN 
                  SELECT CurTCambio 
                  REPLACE CurTCambio.TC_VENTA WITH VAL(lc_Cadena)                               
                  ln_Contador = 0 
            ENDIF       
            lc_Cadena ="" 
      ELSE 
            lc_Cadena = lc_Cadena + SUBSTR(lc_Texto,K,1) 
      ENDIF                         
NEXT 
SELECT  CurTCambio 
BROWSE 
ENDFUNC
*******************************************************************************************************************


FUNCION PARA VALIDAR EL RUC

*? ValidRuc("20372706288") 
***************************************** 
*FUNCTION ValidRucSunat(lcNroRuc) 
LPARAMETERS lcNroRuc
LOCAL aArrayRuc 
IF LEN(ALLTRIM(lcNroRuc)) <> 11 THEN 
RETURN .F. 
ENDIF 
DIMENSION aArrayRuc(3,11) 
FOR i = 1 TO 11 
aArrayRuc(1,i)=VAL(SUBS(lcNroRuc,i,1)) 
ENDFOR 
aArrayRuc(2,1)=5 
aArrayRuc(2,2)=4 
aArrayRuc(2,3)=3 
aArrayRuc(2,4)=2 
aArrayRuc(2,5)=7 
aArrayRuc(2,6)=6 
aArrayRuc(2,7)=5 
aArrayRuc(2,8)=4 
aArrayRuc(2,9)=3 
aArrayRuc(2,10)=2 
aArrayRuc(3,11)=0 
FOR i=1 TO 10 
aArrayRuc(3,i) = aArrayRuc(1,i) * aArrayRuc(2,i) 
aArrayRuc(3,11) = aArrayRuc(3,11) + aArrayRuc(3,i) 
ENDFOR 
lnResiduo = MOD(aArrayRuc(3,11),11) 
lnUltDigito = 11 - lnResiduo 
DO CASE 
CASE lnUltDigito = 11 OR lnUltDigito=1 
lnUltDigito = 1 
CASE lnUltDigito = 10 OR lnUltDigito=0 
lnUltDigito = 0 
ENDCASE 
IF lnUltDigito = aArrayRuc(1,11) THEN 
RETURN .T. 
ELSE 
RETURN .F. 
ENDIF 





Luis Mata

unread,
Oct 14, 2011, 6:07:36 PM10/14/11
to publice...@googlegroups.com
Una Consulta Miguel
 
Cual es la Lógica de la validación del RUC?
 


logo2 Mata Figueroa, Luis A.
Procesos, Tecnología de la Información y telecomunicaciones
TELF: (00 51 1) 617-4613
RPC : (00 51) 993597297
FAX : (00 51 1) 617-4601
lm...@cclf.com.pe
www.cclf.com.pe
imgfrm siguenos-fb

logo2[3].png
imgfrm[3].png
siguenos-fb[3].gif

Martín Inga

unread,
Oct 14, 2011, 11:32:49 PM10/14/11
to publice...@googlegroups.com
Muy buen código, complemento este código eliminando el salto de línea.
 
Saludos
 
Sent: Friday, October 14, 2011 2:29 PM
Subject: Re: [vfp] Para Peruanos - Capturar Ruc Sunat
 
tipocambio.prg

Roberto Lemos

unread,
Oct 14, 2011, 11:35:09 PM10/14/11
to publice...@googlegroups.com
Y si quiero buscar de una fecha determinada?, 
En el caso de Validar RUC, cómo obtengo los datos a partir del Nº de RUC,
 
He visto un programa de contabilidad ADSoft, que si lo haces y me gustaria hacer algo similar
 
 
Sent: Friday, October 14, 2011 2:29 PM
Subject: Re: [vfp] Para Peruanos - Capturar Ruc Sunat
 
Reply all
Reply to author
Forward
0 new messages