facturista.com - Foros de Factura Electrónica (Comprobante Fiscal Digital por Internet)
http://facturista.com/foros/

Ejemplo de cancelacion en VFP
http://facturista.com/foros/viewtopic.php?f=3&t=708
Página 1 de 1

Autor:  ariel_medina [ Mié Abr 02, 2014 9:40 pm ]
Asunto:  Ejemplo de cancelacion en VFP

Código:
   lcxml = "miArchivo.xml"
   llAcuse = .F.

   h=cfdi_xml_cargar(0,lcxml)
   if h<>0
      lcrfc=cfdi_xml_atributo(h,"cfdi:Comprobante/cfdi:Emisor","rfc")
      if len(lcrfc)<1
         messagebox("No se pudo obtener del xml el RFC del emisor en "+lcxml, 0, gcprogname)
         return
      endif
      lcuuid = cfdi_uuid(h)
      if len(lcuuid)<1
         messagebox("No se pudo obtener el UUID del CFDI "+lcxml, 0, gcprogname)
         return
      endif


      if lcrfc == 'AAA010101AAA'
         lcserver = "Servidor=pruebas.ecodex.com.mx;Puerto=2044;"
      else
         lcserver = "Servidor=servicios3.ecodex.com.mx;Puerto=4040;"
      endif

      
      if llAcuse
         lcAcuse = 'Acuse=1;'
      else
         lcAcuse = ''
      endif
      
      if cfdi_cancelar(h, 1, "RFC="+lcrfc+;
      ";TransaccionID=123456"+";UUID="+lcuuid+";"+lcserver+lcAcuse)<>0
         if not empty(lcAcuse)
         
            lcArchivoAcuse = lcxml + "_acuse.txt"
            lcAcuse = cfdi_resultado(h)
            lnh = fcreate(lcArchivoAcuse)
            if lnh <> -1
               fwrite(lnh,lcAcuse)
               fclose(lnh)
            else
               messagebox("No se pudo crear el archivo "+lcArchivoAcuse)
            endif
         
         endif
      else
         if empty(lcAcuse)
            messagebox(lcxml+", No se pudo cancelar: "+cfdi_error(h), 0, gcprogname)
         else
            messagebox(lcxml+", No se pudo obtener el acuse: "+cfdi_error(h), 0, gcprogname)
         endif   
      endif      
   else
      messagebox("No se pudo cargar el xml "+lcxml,0,gcprogname)
   endif


Autor:  ariel_medina [ Mié Abr 02, 2014 9:50 pm ]
Asunto:  Re: Ejemplo de cancelacion en VFP

Si la cancelacion tiene exito, se recomienda esperar 1 dia para obtener el acuse, ya que las cancelaciones
se encolan y obtenemos el acuse hasta que el SAT realiza la operacion.

Página 1 de 1 Todos los horarios son UTC - 6 horas
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/