private void GenerarFactura() { DSMarket.Solucion.Pantallas.Pantallas.Reportes.Reportes Factura = new Reportes.Reportes(); Factura.GenerarFacturaVenta(VariablesGlobales.IdMantenimeinto, false); Factura.ShowDialog(); RestablecerPantalla(); }
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); } }
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; } } } } }