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