Ejemplo WSFEv1 en C# para CAE

Aunque los lenguajes NET pueden acceder en forma nativa a los Web Services de la AFIP puede usar la intefaz COM del control para trabajar en una forma más rápida y cómoda sin conocer en profundidad los detalles de la implementación de la AFIP.

  • Desde el menú Abrir\Nuevo Proyecto Windows Forms en C#.

  • Desde el menú Archivo Guardar Todo el proyecto sin cerrar.

  • En el proyecto reciendo creado WindowsFormsApplication1 hacer clic derecho en sus propiedades.

  • En la solapa general en la opcion "Versión de .NET Framework de destino" Seleccionar .NET Framework 4 (no .NET FrameWork profile client).

  • Desde el menú proyecto\Agregar referencia. Ir a solapa Examinar y buscar el archivo WSAFIPFE.dll generalmente en la carpeta c:\archivos de programas\SC\WSAFIPFE

  • En el formulario creado por el proyecto, agregar un control botón y en el evento clik insertar este código:

WSAFIPFE.Factura fe = new WSAFIPFE.Factura();

Boolean bResultado = false;

bResultado = fe.iniciar(0, "cuit", @"ruta archivo *.pfx", @" ");

if (bResultado)

{

fe.ArchivoCertificadoPassword = "";

bResultado = fe.f1ObtenerTicketAcceso();

if (bResultado)

{

fe.F1CabeceraCantReg = 1;

fe.F1CabeceraPtoVta = 4;

fe.F1CabeceraCbteTipo = 1;

fe.f1Indice = 0;

fe.F1DetalleConcepto = 1;

fe.F1DetalleDocTipo = 80;

fe.F1DetalleDocNro = "20111111112";

fe.F1DetalleCbteDesde = 1;

fe.F1DetalleCbteHasta = 1;

fe.F1DetalleCbteFch = "20150315";

fe.F1DetalleImpTotal = 184.05;

fe.F1DetalleImpTotalConc = 0;

fe.F1DetalleImpNeto = 150;

fe.F1DetalleImpOpEx = 0;

fe.F1DetalleImpTrib = 7.8;

fe.F1DetalleImpIva = 26.25;

fe.F1DetalleFchServDesde = "20150315";

fe.F1DetalleFchServHasta ="20150315";

fe.F1DetalleFchVtoPago = "20150315";

fe.F1DetalleMonId = "PES";

fe.F1DetalleMonCotiz = 1;

fe.F1DetalleTributoItemCantidad = 1;

fe.f1IndiceItem = 0;

fe.F1DetalleTributoId = 3;

fe.F1DetalleTributoDesc = "Impuesto Municipal Matanza";

fe.F1DetalleTributoBaseImp = 150;

fe.F1DetalleTributoAlic = 5.2;

fe.F1DetalleTributoImporte = 7.8;

fe.F1DetalleIvaItemCantidad = 2;

fe.f1IndiceItem = 0;

fe.F1DetalleIvaId = 5;

fe.F1DetalleIvaBaseImp = 100;

fe.F1DetalleIvaImporte = 21;

fe.f1IndiceItem = 1;

fe.F1DetalleIvaId = 4;

fe.F1DetalleIvaBaseImp = 50;

fe.F1DetalleIvaImporte = 5.25;

fe.F1DetalleCbtesAsocItemCantidad = 0;

fe.F1DetalleOpcionalItemCantidad = 0;

fe.ArchivoXMLRecibido = @"c:\recibido.xml";

fe.ArchivoXMLEnviado = @"c:\enviado.xml";

bResultado = fe.F1CAESolicitar();

if (bResultado)

{

MessageBox.Show("resultado verdadero ");

}

else

{

MessageBox.Show("resultado falso ");

}

MessageBox.Show ("resultado global AFIP: " + fe.F1RespuestaResultado);

MessageBox.Show ("es reproceso? " + fe.F1RespuestaReProceso);

MessageBox.Show ("registros procesados por AFIP: " + fe.F1RespuestaCantidadReg.ToString());

MessageBox.Show("error genérico global:" + fe.f1ErrorMsg1);

if (fe.F1RespuestaCantidadReg > 0)

{

fe.f1Indice = 0;

MessageBox.Show("resultado detallado comprobante: " + fe.F1RespuestaDetalleResultado);

MessageBox.Show ("cae comprobante: " + fe.F1RespuestaDetalleCae);

MessageBox.Show ("número comprobante:" + fe.F1RespuestaDetalleCbteDesdeS);

MessageBox.Show ("error detallado comprobante: " + fe.F1RespuestaDetalleObservacionMsg1);

}

}

else

{

MessageBox.Show("fallo acceso " + fe.UltimoMensajeError);

}

}

else

{

MessageBox.Show("error inicio " + fe.UltimoMensajeError);

}