/// <summary> /// Válida conexión y ticket acceso para comunicarse con web services de AFIP /// </summary> /// <returns></returns> public bool validarConexion() { WSAFIPFE.Factura fe = new WSAFIPFE.Factura(); if (fe.iniciar(0, CuitEmisor, CertificadoPath, "")) //0 modo homologación, 1 en producción. Sólo usar 0 { if (!this.getTicketAcceso(fe)) { this.errorActual = "No se ha podido conseguir ticket de acceso AFIP. Verifique su conexión a internet."; return(false); } } else { this.errorActual = "No se ha podido iniciar módulo de facturación electrónica"; return(false); } return(true); }
public bool facturar(ModeloPedido p_mod_pedido) { string respuesta; WSAFIPFE.Factura fe = new WSAFIPFE.Factura(); if (fe.iniciar(0, CuitEmisor, CertificadoPath, "")) { if (this.getTicketAcceso(fe)) { ControladorAFIP.inicializarConstantes(fe); ControladorAFIP.agregarDetallesPedido(fe, p_mod_pedido); try { int ultimoAutorizado = fe.F1CompUltimoAutorizado(fe.F1CabeceraPtoVta, fe.F1CabeceraCbteTipo); fe.F1DetalleCbteDesde = ultimoAutorizado + 1; fe.F1DetalleCbteHasta = ultimoAutorizado + 1; } catch (System.Net.WebException ex) { errorActual = "Error: " + ex.Message; } ControladorAFIP.agregarItems(fe, p_mod_pedido); fe.F1DetalleCbtesAsocItemCantidad = 0; fe.F1DetalleOpcionalItemCantidad = 0; fe.ArchivoXMLRecibido = afipFolderPath + @"\XML\recibido.xml"; fe.ArchivoXMLEnviado = afipFolderPath + @"\XML\enviado.xml"; if (fe.F1CAESolicitar()) { respuesta = "Resultado verdadero "; if (fe.F1RespuestaResultado == "A") { ControladorAFIP.cargarRespuestaEnPedido(fe, p_mod_pedido); return(true); } } else { respuesta = "Resultado falso "; } respuesta += Environment.NewLine + "Resultado global AFIP: " + fe.F1RespuestaResultado; respuesta += Environment.NewLine + "Es reproceso? " + fe.F1RespuestaReProceso; respuesta += Environment.NewLine + "Registros procesados por AFIP: " + fe.F1RespuestaCantidadReg.ToString(); respuesta += Environment.NewLine + "Error genérico global:" + fe.f1ErrorMsg1; if (fe.F1RespuestaCantidadReg > 0) { fe.f1Indice = 0; ControladorAFIP.cargarRespuestaEnPedido(fe, p_mod_pedido); respuesta += Environment.NewLine + "Resultado detallado comprobante: " + p_mod_pedido.aprobadoAFIP; respuesta += Environment.NewLine + "CAE comprobante: " + p_mod_pedido.CAE; respuesta += Environment.NewLine + "Número comprobante:" + p_mod_pedido.numeroComprobanteAFIP; respuesta += Environment.NewLine + "Error detallado comprobante: " + fe.F1RespuestaDetalleObservacionMsg1; respuesta = this.getError(fe); } } else { respuesta = "fallo acceso " + fe.UltimoMensajeError; } } else { respuesta = "error inicio " + fe.UltimoMensajeError; } errorActual = respuesta; return(false); }