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
