El oficial, de la AFIP fue dado de baja y reemplazado por un webservice. El clon que armo la gente de sistemasagiles no aclara de donde saca los datos.
El 12/12/2017 a las 22:35, Estela Lazaro escribió: Gracias Pablo, lo voy a probar, lo extraño es que hasta octubre funcionó perfectamente la URLDownloadToFile (con la https://soa.afip.gob.ar/sr-padron/v2/persona/) y ahora en algunos equipos no funciona. Adhiero a tu pregunta de “de dónde vienen esos datos”. Saludos y gracias Estela Enviado desde mi celular El 12 dic. 2017, a la(s) 18:40, Pablo Pioli <[email protected]<mailto:[email protected]>> escribió: Esa API de Windows usa componentes viejisimos, y algunos eran usados en el IE. No le encuentro logica, pero por si a alguno le sirve lo implemente en iFox cCUIT = "20000000516" oHTTP = CreateObject("iFox_HTTP") cResponse = oHTTP.Get("https://www.sistemasagiles.com.ar/padron/consulta/persona/"<https://www.sistemasagiles.com.ar/padron/consulta/persona/> + cCUIT) ? cResponse Luego se parsea el json Mi pregunta es de donde vienen esos datos? Son en tiempo real o es la base de datos descargable que provee la AFIP? El 12/12/2017 a las 17:08, Lic. Estela Lázaro escribió: Hola Hoy me puse a ver esto, para lo cual uso la siguiente sintaxis que aportó Mariano Reingart (mientras nos lo permitan). Le agregué el for a la consulta habitual por si revive la web de la afip. En mi máquina anda de maravillas, a modo comando y ejecutable, producción y homologación, pero no anda en los clientes, siempre lnGetResults devuelve un valor, alguien tuvo este problema? En el browser https://www.sistemasagiles.com.ar/padron/consulta/persona/cuit funciona. FOR iAfip=1 TO 2 &&12/12/17 xq se cayó en Oct/17 el servicio Rest de la Afip IF iAfip=1 xxcuit="https://soa.afip.gob.ar/sr-padron/v2/persona/"<https://soa.afip.gob.ar/sr-padron/v2/persona/>+Strtran(cuit,"-","") ELSE xxcuit="https://www.sistemasagiles.com.ar/padron/consulta/persona/"<https://www.sistemasagiles.com.ar/padron/consulta/persona/>+Strtran(cuit,"-","") &&20000000516 ENDIF *-- Arma la variable que referencia al archivo temporario 'TXT'. lcTempTxtFile = Forceext("c:\temp\cuit"+Strtran(cuit,"-","")+IIF(iAfip=1,"WebAfip","SistAgiles")+"_"+ Sys(2015), "TXT") lnGetResults = 0 lnGetResults = URLDownloadToFile(0, xxcuit, lcTempTxtFile, 0, 0) If lnGetResults = 0 EXIT Endif NEXT iAfip If lnGetResults # 0 Messagebox("Falla de lectura - Error "+ALLTRIM(STR(lnGetResults,15)) ,0,"") Wait Clear Return .F. ENDIF cpoafip = Filetostr(lcTempTxtFile) cpoafip =Strtran(cpoafip,' : ',':') JSONStart() cuitobj = json.Parse(cpoafip) If Type("cuitobj.data")<>"U" If cuitobj.Data.estadoclave="ACTIVO" Wait Window cuitobj.Data.nombre +" "+ cuitobj.Data.estadoclave Nowait Noclear thisform.pageframe1.page1.txttitulo.BackColor= RGB(208,255,208) &&verde thisform.pageframe1.page1.txttitulo.DisabledBackColor= RGB(208,255,208) &&verde Else Messagebox(cuitobj.Data.nombre+ " -- "+cuitobj.Data.estadoclave) thisform.pageframe1.page1.txttitulo.BackColor= RGB(255,128,0) &&naranja thisform.pageframe1.page1.txttitulo.DisabledBackColor= RGB(255,128,0) &&naranja Endif Else Messagebox(cuitobj.Error.mensaje) thisform.pageframe1.page1.txttitulo.BackColor= RGB(255,128,0) &&naranja thisform.pageframe1.page1.txttitulo.DisabledBackColor= RGB(255,128,0) &&naranja Endif Thisform.buscocuitafip=cuit Saludos Lic. Estela Lázaro<https://ar.linkedin.com/pub/estela-l%C3%A1zaro/36/725/ab7> D&SIP Desarrollo y Servicios Informáticos Profesionales www.dsip.com.ar<http://www.dsip.com.ar/> Estela en LinkedIn<https://ar.linkedin.com/pub/estela-l%C3%A1zaro/36/725/ab7> ________________________________ De: Carlos Morandin <[email protected]><mailto:[email protected]> Para: GUFA List Member <[email protected]><mailto:[email protected]> Enviado: Jueves, 7 de diciembre, 2017 8:21:22 Asunto: [GUFA] consulta de cuits Exactamente, tuve que optar por comprar la libreria WSPadron que tienen los que hacen la de factura electronica (https://sites.google.com/site/facturaelectronicax/) aunque ahora es un poco mas complicado porque hay que habilitar el servicio en la pagina de afip de cada cliente. Gracias ! Carlos El 06/12/2017 a las 22:56, Pablo Pioli escribió: > Lo que Carlos consultaba era para efectuar la validacion online del > estado de la CUIT. Porque puede ser valida pero AFIP puede haberla > deshabilitado. Entonces es responsabilidad del que vende controlar esa > situacion. Por comodidad son cosas que se incluyen en el programa. > > Con respecto a esto, salio la normativa oficial. > > https://www.boletinoficial.gob.ar/web2/utils/pdfView?file=%2Fpdf%2Fnorma%2F175252%2F20171127%2FPrimera%2FUuqhr4kl1FL0ZHrqnnsq0S1bLS1JVi1bLbzFRzBNnUTXuCAHFGWmb%2BI%3D%2F0 > > La API Rest esta kaput, la consulta se debe hacer exclusivamente via > WebService, previa autenticacion del consultante. > > > El 6/12/2017 a las 19:21, Hernán Baranda escribió: >> Esto lo escribí asesorándome con alguien el Afip y anda de 10 >> Saludos >> >> WITH THISFORM.pageframe1.page1 >> >> c1=SUBSTR(.txtCuit.value,1,1) >> >> c2=SUBSTR(.txtCuit.value,2,1) >> >> c3=SUBSTR(.txtCuit.value,4,1) >> >> c4=SUBSTR(.txtCuit.value,5,1) >> >> c5=SUBSTR(.txtCuit.value,6,1) >> >> c6=SUBSTR(.txtCuit.value,7,1) >> >> c7=SUBSTR(.txtCuit.value,8,1) >> >> c8=SUBSTR(.txtCuit.value,9,1) >> >> c9=SUBSTR(.txtCuit.value,10,1) >> >> c10=SUBSTR(.txtCuit.value,11,1) >> >> c11=SUBSTR(.txtCuit.value,13,1) >> >> sumatoria=(5*VAL(c1)+4*VAL(c2)+3*VAL(c3)+2*VAL(c4)+7*VAL(c5)+6*VAL(c6)+; >> >> 5*VAL(c7)+4*VAL(c8)+3*VAL(c9)+2*VAL(c10)) >> >> resto=MOD(sumatoria,11) >> >> verificador=11-resto >> >> DO CASE >> >> CASE EMPTY(compras.Cuit)=.T. >> >> .txtCuit.SelectOnEntry=.T. >> >> RETURN .T. >> >> CASE .txtCuit.value=" - - " >> >> .txtCuit.SelectOnEntry=.T. >> >> RETURN .T. >> >> CASE len(alltrim(.txtCuit.value))<13 >> >> =MESSAGEBOX("FALTAN DIGITOS",0+48,"NUMERO DE CUIT") >> >> .txtCuit.SelectOnEntry=.F. >> >> RETURN .F. >> >> CASE INLIST(VAL(c1+c2),20,23,24,27,30,33,34)=.F. >> >> =MESSAGEBOX("NO ES UN NUMERO DE CUIT",0+48,"NUMERO DE CUIT") >> >> .txtCuit.SelectOnEntry=.F. >> >> RETURN .F. >> >> CASE verificador=VAL(c11) >> >> .txtCuit.SelectOnEntry=.T. >> >> RETURN .T. >> >> CASE (resto=0 AND VAL(c11)=0) >> >> .txtCuit.SelectOnEntry=.T. >> >> RETURN .T. >> >> OTHERWISE >> >> =MESSAGEBOX("NO ES CORRECTO ESTE NUMERO DE CUIT",0+48,; >> >> "NUMERO DE CUIT") >> >> .txtCuit.SelectOnEntry=.F. >> >> RETURN .F. >> >> ENDCASE >> >> ENDWITH >> >> >> >> ----- Original Message ----- From: "Carlos Morandin" >> <[email protected]<mailto:[email protected]>> >> To: "GUFA List Member" <[email protected]<mailto:[email protected]>> >> Sent: Thursday, November 23, 2017 9:54 AM >> Subject: [GUFA] consulta de cuits >> >> >>> Hola, buen dia >>> >>> esta caido hace un par de dias para consultar cuits validos >>> >>> https://soa.afip.gob.ar/sr-padron/v2/persona/ >>> >>> alguno tiene otra alternativa ? >>> >>> Saludos >>> >>> Carlos >>> >>> >> >> --- >> El software de antivirus Avast ha analizado este correo electrónico en >> busca de virus. >> https://www.avast.com/antivirus >> >>
