Arrastre para cambiar el tamaño
CancelacionV2 (Clase)
Experiencia simple con el gobierno digital con productos fáciles de usar
Proceso en el cual se manda a cancelar un comprobante.
Jerarquía de herencia
SystemObject
  EasyOne.Comprobante.CancelacionCancelacionV2

Espacio de nombres:  EasyOne.Comprobante.Cancelacion
Ensamblado:  EasyOne (en EasyOne.dll) Versión: 1.0.0.0 (1.0)
Sintaxis
C#
public class CancelacionV2
Ejemplos

El siguiente ejemplo muestra un codigo en C# que realiza la petición de cancelación de un comprobante.

Ejemplo C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;

namespace CancelacionV2
{



    class Program
    {
        #region wrappers easyone


        // csd -> Nombre del archivo del certificado de sellos que se utilizará para el sellado local del comprobante.
        // key -> Nombre del archivo de llave privada que se utilizará para el sellado local del comprobante.
        // pwd -> Contraseña de llave privada.
        // uuid -> Folio fiscal de la factura electronica del que se desea cancelar.
        // rfcEmisor -> Atributo requerido para registrar la Clave del Registro Federal de Contribuyentes correspondiente al contribuyente emisor del comprobante.
        // agenteId -> Es la clave de integración asignada automáticamente por el portal https://oficinavirtual.invoiceone.mx.
        // softwareId -> Es la clave de integración asignada automáticamente por el portal https://oficinavirtual.invoiceone.mx.
        // rfcReceptor -> Atributo requerido para precisar la Clave del Registro Federal de Contribuyentes correspondiente al contribuyente receptor del comprobante.
        // total -> Atributo requerido para representar el total del comprobante a cancelar.
        [DllImport("EasyOne.dll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
        static extern int EasyOne_CancelaComprobante_v2(string csd, string key, string pwd, string uuid, string rfcEmisor, string agenteId, string softwareId, string rfcReceptor, string total);

        // p -> Identificador devuelto por la funcion CancelaComprobante_v2
        // valor - > Puede llevar los siguiente parametros:
        // 22 = Solicita el acuse de cancelación.
        // 23 = Solicita el codigo de cancelación.
        // 27 = Consulta si el comprobante es cancelable.
        // 28 = Solicita el estatus del comprobante.
        // 29 = Solicita el estatus del proceso de cancelación.
        // 30 = Solicita el codigo de respuesta que arroja el servicio de consulta de CFDI´s.
        [DllImport(@"EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)]
        static public extern string EasyOne_LeeResultado(int p, int valor);

        #endregion


        static void Main(string[] args)
        {
            try
            {
                Cancelacion();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }


        private static void Cancelacion()
        {

            //Iniciamos el proceso de cancelacion        
            int p = EasyOne_CancelaComprobante_v2("CSD01_AAA010101AAA.cer", "CSD01_AAA010101AAA.key","12345678a", "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC", "AAA010101AAA", "QV1TAXSH", "QV1TAXSH", "XAXX010101000","100.00");


            string resultadoXML = String.Empty;


            //Obtiene el acuse de cancelación
            Console.WriteLine("\n");
            Console.WriteLine("[Acuse]");
            Console.WriteLine(resultadoXML = EasyOne_LeeResultado(p, 22));

            //Obtiene el código de cancelación
            Console.WriteLine("\n");
            Console.WriteLine("[Código de cancelación (201 = Cancelado, 202= Cancelado previamente)]");
            Console.WriteLine(resultadoXML = EasyOne_LeeResultado(p, 23));


            //Se mostrará si el comprobante es cancelable o no.
            Console.WriteLine("\n");
            Console.WriteLine("[Es cancelable]");
            Console.WriteLine(resultadoXML = EasyOne_LeeResultado(p, 27));

            //Se mostrará si el combrobante esta vigente o cancelado.
            Console.WriteLine("\n");
            Console.WriteLine("[Estatus]");
            Console.WriteLine(resultadoXML = EasyOne_LeeResultado(p, 28));

            //Obtiene el estatus del proceso de cancelación
            Console.WriteLine("\n");
            Console.WriteLine("[Estatus de Cancelación]");
            Console.WriteLine(resultadoXML = EasyOne_LeeResultado(p, 29));

            //Obtiene el codigo de respuesta que arroja el servicio de consulta de CFDI´s
            Console.WriteLine("\n");
            Console.WriteLine("[Codigo de Estatus]");
            Console.WriteLine(resultadoXML = EasyOne_LeeResultado(p, 30));


            Console.ReadLine();



        }

    }
}
Vea también