Y también faltan los include
#include "HBCompat.ch"
#INCLUDE 'hbxml.ch'
#include "Fileio.ch"
From: [email protected] [mailto:[email protected]] On Behalf Of Walter Comito
Sent: jueves, 28 de abril de 2016 16:48
To: GUFA List Member <[email protected]>
Subject: [GUFA] Responder: Consultar CUIT
NO SE QUE ESTOY HACIENDO MAL
ME DA ERROR EN TODAS ESTAS LINEAS
cCuit = "20160134322"
lVer = .T.
cConstancia = .T.
ConsultaPadronAFIP(cCuit,lVer,cConstancia)
Local cCUIT_URL :='https://soa.afip.gob.ar/sr-padron/v2/persona/'
Local cDNI_URL :='https://soa.afip.gob.ar/sr-padron/v2/personas/'
Local cConstancia_URL :='https://soa.afip.gob.ar/sr-padron/v1/constancia/'
Local oPadron, cTip:='', cResp:='', nLen:=0, hRes, cMsg:='', hData, hDir,
aDNIs:={}
Local nCuit:='99999999999', cDoc:='Sin identificar', cEstado:='', cNombre:='',
cTipDoc:='', nDoc:=''
Local cDirec:='', cLocal:='', cCP:='', nProv:='00', cTipo:=''
Gracias.
Walter Cómito
Analista de Sistemas
MP 0397 C.P.C.I.P.C.
* <mailto:[email protected]> [email protected]
<mailto:[email protected]> [email protected]
' +54 9 351 494.4667
+54 9 3513.292.707
* <http://www.softram.com.ar/> www.softram.com.ar
Q Si no es necesario, no imprima este correo.
Todos somos responsables por el cuidado del medio ambiente.
NOTA DE CONFIDENCIALIDAD
Este mensaje (y sus anexos) es confidencial y puede contener información de
propiedad
exclusiva de Walter Cómito (SRS Sistemas). Si usted ha recibido este mensaje
por error,
por favor comuníquelo inmediatamente a <mailto:[email protected]>
walter.comito@ <http://gmail.com/> gmail.com y tenga la amabilidad
de eliminarlo; no deberá copiar el mensaje ni divulgar su contenido a ninguna
persona.
Muchas Gracias.
De: [email protected] <mailto:[email protected]> [mailto:[email protected]] En
nombre de Ramon Giubi
Enviado el: jueves, 28 de abril de 2016 12:41
Para: GUFA List Member
Asunto: [GUFA] Responder: Consultar CUIT
Buenisimo…esa info no la tenia y es mejor que la otra opción que estaba usando.
Gracias.
Saludos.
Ramon Giubi
De: [email protected] <mailto:[email protected]> [mailto:[email protected]] En
nombre de Sergio D.Castellari
Enviado el: miércoles, 27 de abril de 2016 12:53
Para: GUFA List Member
Asunto: [GUFA] Responder: Consultar CUIT
Hola Gente,
Aqui va como lo hago:
*------------------------------------------------------------------------------*
* ConsultaPadronAFIP() *
* Recibe: cCuit --------> String con el CUIT/DNI a consultar *
* lVer == .t. --> Visulualiza datos en pantalla *
* .f. --> Solo obtener la data (por Default) *
* cConstancia == .t. --> Solicita Constancia (PDF) del CUIT indicado *
* .f. --> NO solicita Constancia (por Default) *
* Nota: Si cCUIT es un CUIT y lVer == .f. , la función carga un array privado *
* llamado: aPadronAFIP[]
*
*---------------------------------------------------------------- 23-09-2015
--*
Function ConsultaPadronAFIP(cCuit,lVer,cConstancia)
Local cCUIT_URL :='https://soa.afip.gob.ar/sr-padron/v2/persona/'
Local cDNI_URL :='https://soa.afip.gob.ar/sr-padron/v2/personas/'
Local cConstancia_URL :='https://soa.afip.gob.ar/sr-padron/v1/constancia/'
Local oPadron, cTip:='', cResp:='', nLen:=0, hRes, cMsg:='', hData, hDir,
aDNIs:={}
Local nCuit:='99999999999', cDoc:='Sin identificar', cEstado:='', cNombre:='',
cTipDoc:='', nDoc:=''
Local cDirec:='', cLocal:='', cCP:='', nProv:='00', cTipo:=''
Default lVer to .f.
Default cConstancia to .f.
#include "HBCompat.ch"
#INCLUDE 'hbxml.ch'
#include "Fileio.ch"
*** Filtro el String de CUIT/DNI ***
cCuit:=AllTrim(StrTran(cCuit,'-',''))
If Len(cCuit)<6 .or. Len(cCuit)>11
MsgStop('CUIT/CUIL/DNI: '+cCuit+chr(13)+'erroneo !!!','Verifique...') ;
Return .f.
EndIf
If Len(cCuit)<11
cTip:='D'
Else
cTip:='C'
EndIf
*** Si solicita Constancia de Inscripción ***
If cTip == 'C' .and. cConstancia == .t.
URLInternet(cConstancia_URL + cCuit) ; Return .t.
EndIf
*** Creo y Válido el objeto de conexión ***
oPadron:=Win_OleCreateObject('MSXML2.XMLHTTP')
If Empty(oPadron)
oPadron:=Nil ; MsgExclamation('NO se pudo acceder al Servidor de la
AFIP','Verificaciones de conexión...') ; Return .f.
EndIf
*** Consulto al Servidor de la AFIP ***
TRY
If cTip == 'C' //CUIT...
If cConstancia == .f.
oPadron:Open('GET', cCUIT_URL + cCuit, .F.) ; oPadron:Send()
Else
*MsgStop(cConstancia_URL + cCuit)
*oPadron:Open('GET', cConstancia_URL + cCuit, .F.)
*oPadron:setRequestHeader( 'Accept',
'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' )
*oPadron:setRequestHeader( 'Accept-Language',
'es-AR,es;q=0.8,en-US;q=0.5,en;q=0.3' )
*oPadron:setRequestHeader( 'Accept-Encoding', 'gzip, deflate' )
*oPadron:setRequestHeader( 'Content-Type', 'application/octet-stream' )
*oPadron:setRequestHeader( 'Connection', 'Keep-Alive' )
*oPadron:Send()
EndIf
ElseIf cTip == 'D' //DNI...
oPadron:Open('GET', cDNI_URL + cCuit, .F. ) ; oPadron:Send()
Else
oPadron:=Nil ; MsgStop('¡¡ CUIT/DNI no válido !! ','Verifique...') ; Break
EndIf
CATCH
oPadron:=Nil ; MsgStop('¡¡ ERROR !! '+Chr(13)+'Controle conexión a Internet y
Reintente...','Verifique conexión...') ; Return .f.
END
cResp:=oPadron:ResponseText
*** Si el status es diferente a 200, ocurrió algún error de conectividad con el
WS ***
If oPadron:Status <> 200
MsgStop('¡¡ ERROR !! '+Chr(13)+'Status:'+AllTrim(Str(oPadron:Status))+'
'+oPadron:StatusText,'Error Enlace AFIP...')
oPadron:=Nil ; Return .f.
EndIf
*** Solicito una Constancia de AFIP ***
*If cTip == 'C' .and. cConstancia == .t.
* fh:=fcreate('ok-constancia-20227327406-2015-09-23.pdf')
* if fh<0
* Ferase(GetCurrentFolder()+'\ok-constancia-20227327406-2015-09-23.pdf')
* msgexclamation("Handle create?",'1')
* return .f.
* endif
* fwrite(fh, cResp)
* fclose(fh)
* MsgStop('ok-constancia-20227327406-2015-09-23.pdf fue creado')
* oPadron:=Nil ; Return .t.
*EndIf
*** Grabo la Respuesta ***
MemoWrit('ConsultaPadron.txt',cResp)
*** Visualizo en pantalla la Respuesta ***
*MsgStop(cResp,'Respuesta AFIP...') //ACTIVAR para hacer DEBUGGER!!!!
*** Decodifico jSon (java) ***
nLen:=HB_JsonDecode(cResp , @hRes) //AFIP devuelve un
archivo en formato Java jSON
If !HB_HGET(hRes,'success')
oPadron:=Nil ; MsgStop('¡¡ ERROR !!. NO existe persona Fisica/Juridica con
ese N°...','Verifique CUIT/CUIL/DNI...') ; Return .f.
EndIf
If cTip == 'C' //Ingreso CUIT...
*** Leo el Hash DATA ***
hData:=HB_HGETDEF(hRes,'data',.f.)
If Valtype(hData) == 'H'
nCuit :=AllTrim(Str(HB_HGETDEF(hData,'idPersona',99999999999)))
//N° de CUIT
cDoc :=HB_HGETDEF(hData,'tipoClave','Sin identificar')
//CUIT/DNI/CUIL
cTipo :=HB_HGETDEF(hData,'tipoPersona','')
//ACTIVO o INACTIVO
cEstado:=HB_HGETDEF(hData,'estadoClave','')
//FISICA o JURIDICA
cNombre:=HB_HGETDEF(hData,'nombre','')
//Apellido y Razon Social
cTipDoc:=HB_HGETDEF(hData,'tipoDocumento','')
//DNI, LC, etc
nDoc :=HB_HGETDEF(hData,'numeroDocumento','')
//N° de documento
*** Leo el Hash DOMICILIOFISCAL ***
hDir:=HB_HGETDEF(hData,'domicilioFiscal',.f.)
If Valtype(hDir) == 'H'
cDirec:=HB_HGETDEF(hDir,'direccion','')
//Calle, Nro. Piso, etc
cLocal:=HB_HGETDEF(hDir,'localidad','')
//Localidad (no se nombra cuando es Capital)
cCP :=HB_HGETDEF(hDir,'codPostal','')
//Codigo postal (8 caracteres)
nProv :=AllTRim(Strzero(HB_HGETDEF(hDir,'idProvincia',0),2))
//N2 Obtener descripciones a través del recurso /parametros/v1/provincias
Endif
EndIf
If lVer
*** Elijo SOLO ver los datos de consulta ***
cMsg:='Razon Social: '+cNombre+' ['+cEstado+']'+chr(13)
cMsg+=cDoc+' '+nCuit+' ['+cTipo+']'+chr(13)
cMsg+='Doc: '+cTipDoc+' '+nDoc+chr(13)
cMsg+='Domicilio: '+cDirec+chr(13)
cMsg+=cLocal+' CP:'+cCP
MsgStop(cMsg,'Respuesta servidor AFIP...')
Else
*** Cargo array privado aPadronAFIP ***
aPadronAFIP[1] :=nCuit
aPadronAFIP[2] :=cDoc
aPadronAFIP[3] :=cTipo
aPadronAFIP[4] :=cEstado
aPadronAFIP[5] :=cNombre
aPadronAFIP[6] :=cTipDoc
aPadronAFIP[7] :=nDoc
aPadronAFIP[8] :=cDirec
aPadronAFIP[9] :=cLocal
aPadronAFIP[10]:=cCP
aPadronAFIP[11]:=nProv
EndIf
Else //Ingreso DNI
*** Leo el Hash DATA ***
hData:=HB_HGETDEF(hRes,'data',.f.)
If Valtype(hData) == 'A'
cMsg:='CUIT/CUIL:'+chr(13)
For n=1 to Len(hData)
cMsg+=AllTrim(Str(hData[n]))+chr(13)
Next
MsgStop('El DNI ingresado generó:'+chr(13)+chr(13)+cMsg+chr(13)+;
'Puede utilizar este CUIT/CUIL para consultar datos
fiscales','Respuesta servidor AFIP...')
ELse
MsgStop('El DNI ingresado generó un ERROR !!!','Respuesta servidor AFIP...')
EndIf
EndIf
*HB_HGET( <hsTable>, <Key> ) -> <Value>
*hb_hGetDef( aHash, Key, DefaultVal )
Return .t.
Saludos,
Sergio Castellari
From: Ing César Luque <mailto:[email protected]>
Sent: Tuesday, April 26, 2016 11:27 PM
To: GUFA List Member <mailto:[email protected]>
Subject: [GUFA] Responder: Consultar CUIT
Sergio
Aguardamos tu colaboraciòn.
Saludos.-
Cèsar Luque
From: Sergio Castellari -mvl- <mailto:[email protected]>
Sent: Tuesday, April 26, 2016 6:38 PM
To: GUFA List Member <mailto:[email protected]>
Subject: [GUFA] Responder: Consultar CUIT
Siiii se puede. AFIP tiene un ws para consultar el estado. Incluso podes
obtener el pdf de constancia de inscripción.
Ahora no estoy con la compu, pero si me acuerdo cuando llegue, te paso como
lo hago.
Además, también podes enviar un dni y obtener el cuit desde la afip
Saludos, Sergio Castellari
Enviado desde mi teléfono inteligente Sony Xperia™
---- Sergio . escribió ----
Amigos, hay forma de consultar ONLINE si un CUIT de un cliente está en regla
con AFIP ?
Saludos
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
Libre de virus.
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
www.avast.com