Función VirtualXML_RecuperaAcuseCancelacion
VirtualXML
Recupera el XML correspondiente a un acuse de cancelación ante el SAT de un CFDI y genera un archivo ( TXT ó INI ) con la información necesaria para el documento impreso.

Nota importante: Solo se recuperan acuses de cancelación del nuevo modelo de cancelación vigente a partir de Noviembre del 2018, acuses de cancelación anteriores a esa fecha deberán ser recuperados manualmente desde la página del SAT.

Namespace: VirtualXML®
Aplicación: CFDI 3.3
Sintaxis

public static int VirtualXML_RecuperaAcuseCancelacion(
string, usuario,
string rfcemisor,
string uuid,
strung archivoResultados,
string
archivoXMLAcuse,
string archivoLOG,
string reservado
)

Parametros

Usuario
Tipo: System  String
Nombre del usuario VirtualPAC.
rfcemisor
Tipo: System  String
RFC del contribuyente que emitió el CFDI.
uuid
Tipo: System  String
UUID del CFDI del cual deseamos obtener su acuse de cancelación, debe corresponder a un CFDI emitido por el emisor indicado en el parámetro anterior.
archivoResultados
Tipo: System  Int
Nombre del archivo en donde se almacenarán los valores necesarios para el documento impreso. Dependiendo de la extensión que se indique se generarán 2 tipos de archivo: Si se especifica la extensión ."INI" se generará un archivo de resultados en formato INI, cualquier otro valor indicado en la extensión generará un archivo de texto plano con los mismos valores. Valor numérico que indica que saldo queremos recuperar y puede ser alguno de los siguientes valores:
archivoXMLAcuse
Tipo: System  String
Nombre del archivo XML que contiene el acuse de cancelación generado por el SAT. Al igual que los CFDIs, la cancelación se compone de 2 archivos, un archivo XML con las firmas digitales que dan validez a la cancelación, y una representación impresa del XML obtenido por medio de esta función.
archivoLog
Tipo: System  String
Nombre del archivo bitácora con las operaciones realizadas para obtener el acuse de cancelación, si se omite este parámetro NO se genera ningun archivo de bitácora.
reservado
Tipo: System  String
Parámetro reservado para futuros usos, debe enviarlo vacio.

Valor retornado:

Tipo: Int

Retorna un valor numérico  que puede ser cualquiera de los siguiente:
  • -1 Error en la obtención del acuse de recibo (revisar archivo .LOG)
  • 0 Operación EXITOSA, pero NO SE ENCONTRO EL ACUSE, puede suceder si son facturas canceladas durante el año 2018 que aún el SAT no nos entregaba los acuses correctos.
  • 1 Operación EXITOSA CON ACUSE OBTENIDO
Ejemplo:

private void ObtenerAcuseCancelacion()
{
// Obtenemos acuse de cancelacion:
    int nAcuse = VirtualXML_RecuperaAcuseCancelacion("cibee-tec",CTE940531F58","E35879A9-897C-4513-94D8-6381A7BD7A37","Cancela.INI","Acuse.XML","c:\directorio\bitacora.log","");

switch ( nAcuse )
{
case 1:
// Se recupero el acuse con exito
MsgBox("Se ha recuperado el acuse exitoamente, revise el archivo Cancela.INI para obtener los valores para el documento impreso");
break;
case 0:
// No hay acuse disponible.
MsgBox("Se ha procesado su solicitud pero aun no existe acuse de cancelación, intente volver a cancelar la factura");
break;
case -1:
// Error en la obtención del recurso
MsgBox("Ha habido un error en la recuperación del acuse, revise su archivo bitacora.log");
break;
}
}
Veáse También