Es un proceso que hago todos los Viernes
Abrazo
Tito Ullua

oXMLHTTP = CREATEOBJECT( "Microsoft.XMLHTTP" )
SELECT clientes
Replace ALL TipoIva WITH ''
GO Top
SCAN
IF Len(Cuit)=13
ELSE
   Replace AfipBaja WITH .T.
   Replace AfipVer WITH .T.
   =TableUpDate()
   LOOP
ENDIF
*IF RECNO()=50
*  susp
*  RETURN .t.
*Endif
 M.Cuit=SUBSTR(cuit,1,2)+SUBSTR(cuit,4,8)+Substr(Cuit,13,1)
ThisForm.text1.Value=M.Cuit
ThisForm.text1.Refresh


*oXMLHTTP.open( 
"get","https://soa.afip.gob.ar/sr-padron/v2/persona/30688293649",.F. )
*oXMLHTTP.open( 
"get","https://soa.afip.gob.ar/sr-padron/v2/persona/20147410388",.F. )
oXMLHTTP.open( 
"get","https://soa.afip.gob.ar/sr-padron/v2/persona/"+ALLTRIM(Thisform.text1.Value),.F.
 )


oXMLHTTP.send()

cJSON = oXMLHTTP.responseText

*set proc to json additive
SET PROCEDURE TO c:\WinIP\JSon Additive

oRespuesta=  json_decode(  cJSON )

ThisForm.edit1.Value=''
ThisForm.edit1.Refresh

IF TYPE('oRespuesta._data')='U'
   Thisform.edit1.Value = Thisform.edit1.Value+ 'No encuentro datos en AFIP '+ 
CHR(13)
   Replace AfipBaja WITH .T.
   Replace AfipVer WITH .T.
   =TableUpDate()
   Loop
   *RETURN .F.
Endif
*SET STEP ON

*TRY
*    ?oRespuesta._data._impuestos.array
ThisForm.edit1.Value=''
ThisForm.edit1.Refresh

Thisform.edit1.Value = Thisform.edit1.Value+ '          Nombre: '+' - 
'+ALLTRIM(oRespuesta._data._Nombre)+ CHR(13)

IF TYPE('oRespuesta._data._NumeroDocumento')#'U'
Thisform.edit1.Value = Thisform.edit1.Value+ '   Nro documento: '+' - 
'+ALLTRIM(oRespuesta._data._numerodocumento)+ CHR(13)
Endif
Thisform.edit1.Value = Thisform.edit1.Value+ '      Tipo Clave: '+' - 
'+ALLTRIM(oRespuesta._data._TipoClave)+ CHR(13)
IF TYPE('oRespuesta._data._TipoDocumento')#'U'
Thisform.edit1.Value = Thisform.edit1.Value+ '  Tipo documento: '+' - 
'+ALLTRIM(oRespuesta._data._TipoDocumento)+ CHR(13)
Endif
Thisform.edit1.Value = Thisform.edit1.Value+ '    Tipo Persona: '+' - 
'+ALLTRIM(oRespuesta._data._TipoPersona)+ CHR(13)
IF TYPE('oRespuesta._data._DomicilioFiscal')#'U'
Thisform.edit1.Value = Thisform.edit1.Value+ 'Domicilio fiscal: '+' - 
'+ALLTRIM(oRespuesta._data._Domiciliofiscal._Direccion)+ CHR(13)
Endif
Thisform.edit1.Value = Thisform.edit1.Value+ '   Código Postal: '+' - 
'+ALLTRIM(oRespuesta._data._Domiciliofiscal._CodPostal)+ CHR(13)
Thisform.edit1.Value = Thisform.edit1.Value+ '------'+ CHR(13)
Thisform.edit1.Value = Thisform.edit1.Value+ '    Estado Clave: '+' - 
'+ALLTRIM(oRespuesta._data._EstadoClave)+ CHR(13)
Thisform.edit1.Value = Thisform.edit1.Value+ '------'+ CHR(13)

IF TYPE('oRespuesta._data._impuestos')='U'
      Thisform.edit1.Value = Thisform.edit1.Value+ ' No tiene Impuestos 
activos, posible Baja de Oficio'+ CHR(13)

Else
Thisform.edit1.Value = Thisform.edit1.Value+ ' Alta en Impuestos:'+ CHR(13)

FOR n=1 TO 500
    If ASCAN(oRespuesta._data._impuestos.array,n)>0
       SELECT Impuesto
       LOCATE FOR Codigo=n
       *?STR(Impuesto.Codigo)+' - '+ALLTRIM(Descrip)
       Thisform.edit1.Value = Thisform.edit1.Value+ STR(Impuesto.Codigo)+' - 
'+ALLTRIM(Descrip)+ CHR(13)
       SELECT Clientes

       IF EMPTY(TipoIva)
         Replace TipoIva WITH ALLTRIM(TipoIva) + ALLTRIM(STR(n))
       Else
         Replace TipoIva WITH ALLTRIM(TipoIva) + ', '+ALLTRIM(STR(n))
       Endif
       =TableUpDate()

       *?oRespuesta._data._impuestos.array(N)

    Endif
EndFor
Endif

?
?
IF .f.
Try
    *IF ASCAN(oRespuesta._data._impuestos.array,30)>0
    *      ? 'IVA Inscripto'
    *  ELSE
    *       ? 'NO INSCRIPTO '
    * ENDIF

CATCH

            ? 'CUIT NO ENCONTRADO'

ENDTRY
Endif

*WAIT WINDOW ' Toque una tecla.'
SELECT Clientes
Replace MemoAfip WITH Thisform.edit1.Value
 =TableUpDate()

EndS


*La libreria vfpjson  :  https://github.com/sait/vfpjson


De: [email protected] [mailto:[email protected]] En nombre de Norberto Mario Alvarez
Enviado el: Miércoles, 23 de Noviembre de 2016 10:39 a.m.
Para: GUFA List Member
Asunto: [GUFA] Consultar Posicion de IVA ante la AFIP

Estimados Colisteros, resulta que en un cliente es muy habitual que los 
clientes cambien de Posición de IVA, por ej. De Monotributista a Responsable 
Inscripto. Estoy usando la librería de sistemas Agiles, y mi idea era en el 
momento de facturar consultar la posición de IVA y si coincide con la de mi 
tabla facturo directamente y en caso que no coincida modificarla 
automáticamente y continuar con la facturación. La pregunta es si existe esa 
posibilidad y como hacerlo. Desde ya muchas gracias!!!!!


Norberto Alvarez
Socio # 1882


Responder a