Пример #1
0
 /// <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);
 }
Пример #2
0
        public bool verificarConexionAFIP()
        {
            ControladorAFIP lcl_con_AFIP = new ControladorAFIP();

            return(lcl_con_AFIP.validarConexion());
        }
Пример #3
0
        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);
        }