Ejemplo n.º 1
0
 private void GenerarFactura()
 {
     DSMarket.Solucion.Pantallas.Pantallas.Reportes.Reportes Factura = new Reportes.Reportes();
     Factura.GenerarFacturaVenta(VariablesGlobales.IdMantenimeinto, false);
     Factura.ShowDialog();
     RestablecerPantalla();
 }
Ejemplo n.º 2
0
        private void GenerarFacturaVenta()
        {
            try
            {
                decimal IdFactura   = 0;
                string  RutaReporte = "";
                string  UsuarioBD   = "";
                string  ClaveBD     = "";

                //SACAMOS EL NUMERO DE LA FACTURA
                var SacarNumeroFactura = ObjDataServicio.Value.SacarNumeroFactura(VariablesGlobales.NumeroConector);
                foreach (var n in SacarNumeroFactura)
                {
                    IdFactura = Convert.ToDecimal(n.IdFactura);
                }

                //SACAMOS LA RUTA DEL REPORTE DEPENDIENDO LA SELECCIONADO
                //if (rbfacturaspanish.Checked == true)
                //{
                var SacarRutaReporte = ObjDataConfiguracion.Value.BuscaRutaReporte(1);
                foreach (var n in SacarRutaReporte)
                {
                    RutaReporte = n.RutaReporte;
                }
                // }
                //else if (rbfacturaenglish.Checked == true)
                //{
                //    var SacarRutaReporte = ObjDataConfiguracion.Value.BuscaRutaReporte(2);
                //    foreach (var n in SacarRutaReporte)
                //    {
                //        RutaReporte = n.RutaReporte;
                //    }
                //}

                //SACAMOS LAS CREDENCIALES DE LAS BASES DE DATOS
                var SacarCredencialesBD = ObjDataSeguridad.Value.SacarCredencialBD(1);
                foreach (var n in SacarCredencialesBD)
                {
                    UsuarioBD = n.Usuario;
                    ClaveBD   = DSMarket.Logica.Comunes.SeguridadEncriptacion.DesEncriptar(n.Clave);
                }

                //INVOCAMOS LA FACTURA
                DSMarket.Solucion.Pantallas.Pantallas.Reportes.Reportes FacturaVenta = new Reportes.Reportes();
                FacturaVenta.GenerarFacturaVenta(IdFactura, RutaReporte, UsuarioBD, ClaveBD);
                FacturaVenta.ShowDialog();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error al generar la factura, codigo de error--> " + ex.Message, VariablesGlobales.NombreSistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Ejemplo n.º 3
0
        private void btnAnularfactura_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtClaveSeguridad.Text.Trim()))
            {
                MessageBox.Show("El campo clave de seguridad no puede estar vacio para realizar esta operación, favor de verificar.", VariablesGlobales.NombreSistema, MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                //VALIDAMOS LA CLAVE DE SEGURIDAD
                var ValidarClaveSeguridad = ObjDataSeguriad.BuscaClaveSeguridad(new Nullable <decimal>(), null, DSMarket.Logica.Comunes.SeguridadEncriptacion.Encriptar(txtClaveSeguridad.Text), 1, 1);
                if (ValidarClaveSeguridad.Count() < 1)
                {
                    MessageBox.Show("La clave de seguridad ingresada no es validar, favor de verificar.", VariablesGlobales.NombreSistema, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                else
                {
                    //REALIZAMOS EL PROCESO DE ANULACION DE FACTURA
                    if (MessageBox.Show("Este proceso anulara la factura permanentemente, desea continuar?", VariablesGlobales.NombreSistema, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        //DECLARAMOS LAS VARIABLES PARA CREAR EL REGISTRO
                        decimal  NumeroFactura     = 0;
                        string   NumeroConector    = "";
                        string   FacturadoA        = "";
                        decimal  CodigoCliente     = 0;
                        decimal  IdTipoFacturacion = 0;
                        string   Comentario        = "";
                        int      TotalProductos    = 0;
                        int      TotalServicios    = 0;
                        int      TotalItems        = 0;
                        decimal  SubTotal          = 0;
                        decimal  DescuentoTotal    = 0;
                        decimal  ImpuestoTotal     = 0;
                        decimal  TotalGeneral      = 0;
                        decimal  IdTipoPago        = 0;
                        decimal  MontoPagado       = 0;
                        decimal  Cambio            = 0;
                        decimal  IdMoneda          = 0;
                        decimal  Tasa              = 0;
                        decimal  IdUsuario         = 0;
                        DateTime FechaFacturacion  = DateTime.Now;
                        decimal  IdComprobante     = 0;
                        string   ValidoHasta       = "";
                        string   NumeroComprobante = "";

                        DSMarket.Logica.Comunes.ProcesarInformacionComprobanteFiscal ComprobantesFiscales = new Logica.Comunes.ProcesarInformacionComprobanteFiscal((decimal)Comprobantes.NotaCredito);
                        //CARGAMOS LAS VARIABLES
                        var InformacionCompletaFactura = Hitorial.HistorialFacturacion(VariablesGlobales.IdMantenimeinto, VariablesGlobales.NumeroConectorstring, null, null, null, null, 1, 1);
                        foreach (var n in InformacionCompletaFactura)
                        {
                            NumeroFactura     = 0;
                            NumeroConector    = n.NumeroConector;
                            FacturadoA        = n.FacturadoA;
                            CodigoCliente     = (decimal)n.CodigoCliente;
                            IdTipoFacturacion = 3;
                            Comentario        = "Anulación de la factura " + n.NumeroFactura.ToString();
                            TotalProductos    = (int)n.TotalProductos;
                            TotalServicios    = (int)n.TotalServicios;
                            TotalItems        = (int)n.TotalItems;
                            SubTotal          = ((decimal)n.SubTotal * -1);
                            DescuentoTotal    = ((decimal)n.DescuentoTotal * -1);
                            ImpuestoTotal     = ((decimal)n.ImpuestoTotal * -1);
                            TotalGeneral      = ((decimal)n.TotalGeneral * -1);
                            IdTipoPago        = (decimal)n.IdTipoPago;
                            MontoPagado       = ((decimal)n.MontoPagado * -1);
                            Cambio            = ((decimal)n.Cambio * -1);
                            IdMoneda          = (decimal)n.IdMoneda;
                            Tasa              = (decimal)n.Tasa;
                            IdComprobante     = (decimal)n.IdComprobante == 0 ? 0 : 4;
                            ValidoHasta       = (decimal)n.IdComprobante == 0 ? "" : ComprobantesFiscales.SacarFechaValidoComprobante();
                            NumeroComprobante = (decimal)n.IdComprobante == 0 ? "" : ComprobantesFiscales.GenerarComprobanteFiscal();
                        }


                        bool ValidacionNotasCreditos = false;
                        DSMarket.Logica.Comunes.ValidarConfiguracionesGeneralesSistema Validaciones = new Logica.Comunes.ValidarConfiguracionesGeneralesSistema((decimal)ConfiguracionesGeneralesSistema.CREAR_NOTAS_DE_CREDITO_AL_ANULAR_FACTURAS, 2);
                        ValidacionNotasCreditos = Validaciones.ValidarConfiguracionGeneral();
                        switch (ValidacionNotasCreditos)
                        {
                        case true:
                            //GUARDAMOS EL REGISTRO
                            DSMarket.Logica.Comunes.ProcesarInformacion.Servicio.ProcesarInformacionFactura Anular = new Logica.Comunes.ProcesarInformacion.Servicio.ProcesarInformacionFactura(
                                NumeroFactura,
                                NumeroConector,
                                FacturadoA,
                                CodigoCliente,
                                IdTipoFacturacion,
                                Comentario,
                                TotalProductos,
                                TotalServicios,
                                TotalItems,
                                SubTotal,
                                DescuentoTotal,
                                ImpuestoTotal,
                                TotalGeneral,
                                IdTipoPago,
                                MontoPagado,
                                Cambio,
                                IdMoneda,
                                Tasa,
                                VariablesGlobales.IdUsuario,
                                IdComprobante,
                                ValidoHasta,
                                NumeroComprobante,
                                false, 0, false, 0, false, 0, false, 0, false, 0,
                                "INSERT");
                            Anular.ProcesarInformacion();
                            //  AfectarCaja(TotalGeneral);
                            GuardarHistorialcaja(IdTipoPago, TotalGeneral);
                            MessageBox.Show("Factura anulada con exito", VariablesGlobales.NombreSistema, MessageBoxButtons.OK, MessageBoxIcon.Information);

                            //VALIDAMOS SI ES ACTIVA LA OPCION DE DEVOLVER LOS PRODUCTOS A INVENTARIO
                            bool ValidarDevolverProductoInventario = false;
                            DSMarket.Logica.Comunes.ValidarConfiguracionesGeneralesSistema ValidarDevolverProducto = new Logica.Comunes.ValidarConfiguracionesGeneralesSistema((decimal)ConfiguracionesGeneralesSistema.DEVOLVER_PRODUCTOS_A_INVENTARIO_AL_ANULAR_FACTURA, 2);
                            ValidarDevolverProductoInventario = ValidarDevolverProducto.ValidarConfiguracionGeneral();

                            if (ValidarDevolverProductoInventario == true)
                            {
                                DevolverProductoInventario(VariablesGlobales.IdMantenimeinto, VariablesGlobales.NumeroConectorstring);
                            }
                            //GENERAMOS LA FACTURA
                            DSMarket.Logica.Comunes.SacarNumeroFactura NoCredito = new Logica.Comunes.SacarNumeroFactura(VariablesGlobales.NumeroConectorstring);
                            decimal Credito = NoCredito.SacarNumero();

                            //DSMarket.Logica.Comunes.SacarNumeroFactura NoCredito = new Logica.Comunes.SacarNumeroFactura(VariablesGlobales.NumeroConectorstring);
                            //decimal NoCredito = NumeroFactura.SacarNumero();

                            DSMarket.Solucion.Pantallas.Pantallas.Reportes.Reportes NotaCredito = new Reportes.Reportes();
                            NotaCredito.GenerarFacturaVenta(Credito, false);
                            NotaCredito.ShowDialog();
                            CerrarPantalla();
                            break;

                        case false:
                            //ELIMINAMOS TODO REGISTRO DE LA FACTURA
                            // AfectarCaja(TotalGeneral);
                            GuardarHistorialcaja(IdTipoPago, TotalGeneral);
                            //VALIDAMOS SI ES ACTIVA LA OPCION DE DEVOLVER LOS PRODUCTOS A INVENTARIO
                            bool ValidarDevolverProductoInventarioEliminar = false;
                            DSMarket.Logica.Comunes.ValidarConfiguracionesGeneralesSistema ValidarDevolverProductoEliminar = new Logica.Comunes.ValidarConfiguracionesGeneralesSistema((decimal)ConfiguracionesGeneralesSistema.DEVOLVER_PRODUCTOS_A_INVENTARIO_AL_ANULAR_FACTURA, 2);
                            ValidarDevolverProductoInventarioEliminar = ValidarDevolverProductoEliminar.ValidarConfiguracionGeneral();

                            if (ValidarDevolverProductoInventarioEliminar == true)
                            {
                                DevolverProductoInventario(VariablesGlobales.IdMantenimeinto, VariablesGlobales.NumeroConectorstring);
                            }


                            decimal NumeroFacturaEliminar = Convert.ToDecimal(lbNumeroFacturaVariable.Text);
                            DSMarket.Logica.Comunes.ProcesarInformacion.Servicio.ProcesarInformacionFactura Eliminar = new Logica.Comunes.ProcesarInformacion.Servicio.ProcesarInformacionFactura(
                                NumeroFacturaEliminar,
                                NumeroConector,
                                "", 0, 0, "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "", "", false, 0, false, 0, false, 0, false, 0, false, 0, "DELETE");
                            Eliminar.ProcesarInformacion();


                            CerrarPantalla();
                            break;
                        }
                    }
                }
            }
        }