/// <summary> /// Hace facturación electrónica. Si Comprobante no corresponde a facturación, devuelve true /// </summary> /// <returns></returns> public bool facturarAFIP() { if (pedidoActual.aprobadoAFIP == "A") { errorActual = "El pedido ya esta aprobado por AFIP."; return(false); } if (pedidoActual.tipoComprobante != 0) { try { ControladorAFIP lcl_con_AFIP = new ControladorAFIP(); if (!lcl_con_AFIP.validarConexion()) { this.errorActual = lcl_con_AFIP.errorActual; return(false); } if (!lcl_con_AFIP.facturar(pedidoActual)) { errorActual = lcl_con_AFIP.errorActual; return(false); } return(true); } catch (Exception ex) { errorActual = ex.Message; return(false); } } return(false); }
public bool verificarConexionAFIP() { ControladorAFIP lcl_con_AFIP = new ControladorAFIP(); return(lcl_con_AFIP.validarConexion()); }
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); }