From dc70dee79049efdda7a50cc38a3fc0799817a4c6 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Tue, 10 Dec 2019 15:44:35 -0700 Subject: [PATCH 1/9] Validacion de amortizaciones,quemar remisiones,eliminar usados en PV,bitacora en ventas --- App_Code/Modelos.vb | 20 +- Inicio.aspx.vb | 27 ++- Inventarios/RecepcionEntrega.aspx.vb | 30 ++- Ventas/PV.aspx.vb | 260 ++++++++++++-------------- Ventas/Ventas.aspx.vb | 263 +++++++++++++-------------- 5 files changed, 299 insertions(+), 301 deletions(-) diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 0e91e582c..a9b95dc41 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -3858,6 +3858,13 @@ Namespace Modelos Return Retorno End If + If ObjFactura.TipoDocto = "Ant" AndAlso ObjFactura.SaldoAmortizado > 0 Then + Retorno.Mensaje = "La factura no se puede cancelar debido a que esta amortizada." + Retorno.TipoMensaje = TipoMensaje.MsgAdvertencia + + Return Retorno + End If + 'SI LA REMISION ESTA FACTURADA NO SE PUEDE CANCELAR If ObjFactura.TipoDocto = "Rem" Then Dim ObjV As New ClsVentas @@ -4283,11 +4290,6 @@ Namespace Modelos End If End If - 'REALIZA LA DEVOLUCION AL ALMACEN VIRTUAL - If Not GeneraMovimientosVirtuales(CveVenta, ObjInventario) Then - ErrorCancelar = True - MensajeError = "Ocurrió un error al cargar los datos de devolución. Por favor vuelva a intentar." - End If Else 'UTILIZA LA DEVOLUCION YA REALIZADA If ObjInventario.GetInv_Mov(CveVenta, UsuarioActual.CveEmpresa) Then @@ -4298,6 +4300,12 @@ Namespace Modelos End If End If + 'REALIZA LA DEVOLUCION AL ALMACEN VIRTUAL + If Not GeneraMovimientosVirtuales(CveVenta, ObjInventario) Then + ErrorCancelar = True + MensajeError = "Ocurrió un error al cargar los datos de devolución. Por favor vuelva a intentar." + End If + 'DEVOLUCION REMISION - REGRESA LAS EXISTENCIAS A ENTREGA POR ADELANTADO SI LA FACTURA VIENE DE REMISION If Not ErrorCancelar AndAlso RevivirRemisiones Then If Not GeneraMovimientosEntregaPorAdelantadoRemision(CveMovimiento, ObjVentas, ObjInventario, DtDevRem, ListaRemisionesCancelar) Then @@ -5057,6 +5065,8 @@ Namespace Modelos Public Property SaldoVentaDevolucion As Decimal Public Property Saldo As Decimal Public Property SaldoAlmacen As Decimal + Public Property SaldoAnticipo As Decimal + Public Property SaldoAmortizado As Decimal Public Property CvePAC As Integer Public Property CveAnticipo As Integer Public Property RemisionesLista As List(Of Integer) diff --git a/Inicio.aspx.vb b/Inicio.aspx.vb index 657be3877..55e2ac042 100644 --- a/Inicio.aspx.vb +++ b/Inicio.aspx.vb @@ -81,23 +81,22 @@ Partial Class Inicio If UsuarioActual.CveRol = 1 Then divInd.Visible = True CargaSubProyectos() - End If - - If UsuarioActual.TienePermisoProceso(271) Then MuestraVentasPUE() + End If + + 'Ventas no timbradas por centro de costo + If UsuarioActual.TienePermisoProceso(208) Then MuestraNoTimbradasCentroCosto() + + 'Reporte facaturas pendientes por autorizar Oscar 2016-07-06 + If UsuarioActual.TienePermisoProceso(158) Then + RegistraScript("$( document ).ready(function() { AbrirVentana('/Compras/PopUpFacturasPendientesAutorizar.aspx');});", "repFacturas") + End If + + If UsuarioActual.TienePermisoProceso(271) Then MuestraVentasPUE() If UsuarioActual.TienePermisoProceso(270) Then MuestraComprasPUE() - Dim EsDEV = ConfigurationManager.ConnectionStrings("Conexion").ConnectionString.Contains("Desarrollo2017") + Dim EsDEV = Not UsuarioActual.Empresa.FacturaProduccion If Not EsDEV Then - If UsuarioActual.CveUsuario.Contiene(93, 1425, 2, 1606, 1472, 100) Then MuestraInconsistencias() '100 - End If - - 'Ventas no timbradas por centro de costo - If UsuarioActual.TienePermisoProceso(208) Then MuestraNoTimbradasCentroCosto() - - - 'Reporte facaturas pendientes por autorizar Oscar 2016-07-06 - If UsuarioActual.TienePermisoProceso(158) Then - RegistraScript("$( document ).ready(function() { AbrirVentana('/Compras/PopUpFacturasPendientesAutorizar.aspx');});", "repFacturas") + If UsuarioActual.CveUsuario.Contiene(93, 1425, 2, 1606, 1472, 100) Then MuestraInconsistencias() '100 End If 'MUESTRA CALENDARIO SOLO ROL ADMINISTRADOR-AD diff --git a/Inventarios/RecepcionEntrega.aspx.vb b/Inventarios/RecepcionEntrega.aspx.vb index 1ab6dbd11..d2251c4a9 100644 --- a/Inventarios/RecepcionEntrega.aspx.vb +++ b/Inventarios/RecepcionEntrega.aspx.vb @@ -2261,10 +2261,38 @@ Partial Class Inventarios_RecepcionEntrega End If End If + 'QUEMAR REMISIONES + If Not ErrorMovInv And EsDevolucionVenta = 1 And TipoDocto = "Ing" Then + Dim DtDevRem As New DataTable + + 'CARGA REMISIONES DE LA VENTA DEVUELTA + If ObjInventario.GetDevolucionRemisionesFacturadas(CveVentaSurtir) Then + DtDevRem = ObjInventario.DtResultados.FiltraParametros("CantidadAlmacen = 0") + Else + ErrorMovInv = True + End If + + If Not ErrorMovInv Then + If DtDevRem.Rows.Count > 0 Then + For Each DrMovtos As DataRow In DtDevRem.FiltraParametros("", "CveRem", {"CveRem"}).Rows + If Not ObjInventario.ActualizarEsDevolucionVenta(DrMovtos("CveRem").ToString.ToEntero, 2) Then + TextoError = "Ocurrió un error al hacer la devolución hacia la remision. Por favor vuelva a intentar." + ErrorMovInv = True + Exit For + End If + Next + End If + Else + TextoError = "Ocurrió un error al hacer la devolucion a remisión. Por favor vuelva a intentar." + ErrorMovInv = True + End If + + End If + 'QUEMA DEVOLUCION | QUEMA = LA QUITA DE PENDIENTE POR RECIBIR (DEVOLVER) If Not ErrorMovInv And EsDevolucionVenta = 1 Then If Not ObjVentas.UpdateVentasDevolucionAlmacen(2, CveVentaSurtir) Then - TextoError = "Ocurrió un error al hacer la devolucion. Por favor vuelva a intentar." + TextoError = "Ocurrió un error al hacer la devolución. Por favor vuelva a intentar." ErrorMovInv = True End If End If diff --git a/Ventas/PV.aspx.vb b/Ventas/PV.aspx.vb index 82bfc6d9f..950ef277f 100644 --- a/Ventas/PV.aspx.vb +++ b/Ventas/PV.aspx.vb @@ -1988,8 +1988,6 @@ Partial Class PV CalculaTotalesVenta() Alert("Eliminado Correctamente.", TipoMensaje.MsgInformacion) - 'JJMQ 20160506: Se agrego para la validacion de pago de contado. - 'CVImporteContado.ValueToCompare = TxtTotal.Text.Replace(",", "") UpContado.Update() End Sub @@ -3071,7 +3069,7 @@ Partial Class PV TmpDT.Columns.Add("EsCargo", GetType(Boolean)) TmpDT.Columns.Add("PUOriginal", GetType(Decimal)) - + TmpDT.Columns.Add("ConsecPSPadre", GetType(Integer)) End Sub @@ -3264,7 +3262,8 @@ Partial Class PV Optional SerieLote As String = "", Optional TiempoEntrega As String = "", Optional EntregaDirecta As Integer = 0, Optional CveContratoDetalle As Integer = 0, Optional CveVentaDetalle As Integer = 0, Optional CveMovimientoDetallePedido As Integer = 0, Optional CveOrdenCompraDetalle As Integer = 0, Optional CveVentaDetalleRemision As Integer = 0, Optional CveVentaDetalleCotizacion As Integer = 0, - Optional CuentaPredial As String = "", Optional RegeneraIEPS As Boolean = True, Optional CveVentaDetallePedido2 As Integer = 0, Optional EsCargo As Boolean = False) As Integer + Optional CuentaPredial As String = "", Optional RegeneraIEPS As Boolean = True, Optional CveVentaDetallePedido2 As Integer = 0, Optional EsCargo As Boolean = False, + Optional ConsecPSPadre As Integer = -1) As Integer Dim Retorno As Integer = -1 If Not CvePS > 0 Then @@ -3427,6 +3426,10 @@ Partial Class PV Row("CuentaPredial") = CuentaPredial Row("EsCargo") = EsCargo + If EsCargo AndAlso ConsecPSPadre >= 0 Then + Row("ConsecPSPadre") = ConsecPSPadre + End If + If UsuarioActual.CveEmpresa = 119 Then If Not RemisionesLista.Count > 0 Then 'SI VIENE DE REMISION NO SE CONSIDERA @@ -5213,8 +5216,6 @@ Partial Class PV Exit Sub End If Try - - If DdlTipoUso.SelectedValue.ToEntero > 0 AndAlso DdlPSAjuste.SelectedValue.ToEntero > 0 AndAlso TxtMesesUso.Text <> "" AndAlso DdlPS.SelectedValue.ToEntero > 0 Then Dim CveMarca As Integer = -1 @@ -5570,177 +5571,148 @@ Partial Class PV CalculaTotalesVenta() End Sub Private Function CalculaUsados(Consec As Integer) As List(Of Integer) - - 'If Modalidad = "U" Then - ' EliminarUsados(Consec) - 'End If + If Modalidad = "U" Then + EliminarUsados(Consec) + End If Dim ListaPScargo As New List(Of Integer) - Dim DTTamanios As New DataTable - Dim ObjAcum As New ClsAcumuladores - - If ObjAcum.TamañoGet(-1, UsuarioActual.CveEmpresa) Then - - DTTamanios = ObjAcum.DtResultados - Dim DTCvePSCostos = ObjAcum.DtResultados.FiltraParametros("", "", {"CvePSCargo"}) + Dim DTTamanios As DataTable = GlobalDTAcumTamaños() + Dim DTCvePSCostos = DTTamanios.FiltraParametros("", "", {"CvePSCargo"}) - Dim CveUnidadMedidaPSA As Integer = -1 - Dim UnidadMedidaPSA As String = "Unidad" - Dim CveClacificacionPSA As Integer = -1 + Dim CveUnidadMedidaPSA As Integer = -1 + Dim UnidadMedidaPSA As String = "Unidad" + Dim CveClacificacionPSA As Integer = -1 - Dim ClacificacionPSA As String = "" + Dim ClacificacionPSA As String = "" - Dim CveSubProyectoPSA As Integer = -1 - Dim SubProyectoPSA As String = "" + Dim CveSubProyectoPSA As Integer = -1 + Dim SubProyectoPSA As String = "" - Dim PSPSA As String = "" + Dim PSPSA As String = "" - Dim DTPSTemp As New DataTable '= TmpDT.Clone + Dim DTPSTemp As New DataTable '= TmpDT.Clone - DTPSTemp.Columns.Add("Cantidad", GetType(Integer)) - DTPSTemp.Columns.Add("CveUnidadMedida", GetType(Integer)) - DTPSTemp.Columns.Add("UnidadMedida", GetType(String)) - DTPSTemp.Columns.Add("CveClacificacion", GetType(Integer)) - DTPSTemp.Columns.Add("Clacificacion", GetType(String)) - DTPSTemp.Columns.Add("CvePS", GetType(Integer)) - DTPSTemp.Columns.Add("PS", GetType(String)) - DTPSTemp.Columns.Add("PU", GetType(Decimal)) - DTPSTemp.Columns.Add("CveSubProyecto", GetType(Integer)) - DTPSTemp.Columns.Add("SubProyecto", GetType(String)) + DTPSTemp.Columns.Add("Cantidad", GetType(Integer)) + DTPSTemp.Columns.Add("CveUnidadMedida", GetType(Integer)) + DTPSTemp.Columns.Add("UnidadMedida", GetType(String)) + DTPSTemp.Columns.Add("CveClacificacion", GetType(Integer)) + DTPSTemp.Columns.Add("Clacificacion", GetType(String)) + DTPSTemp.Columns.Add("CvePS", GetType(Integer)) + DTPSTemp.Columns.Add("PS", GetType(String)) + DTPSTemp.Columns.Add("PU", GetType(Decimal)) + DTPSTemp.Columns.Add("CveSubProyecto", GetType(Integer)) + DTPSTemp.Columns.Add("SubProyecto", GetType(String)) + DTPSTemp.Columns.Add("ConsecPSPadre", GetType(Integer)) - Dim ObjProductosServicios As New ClsProductosServicios() - For Each DrowPartidas As DataRow In TmpDT.Select($"Consec = {Consec}") + Dim ObjProductosServicios As New ClsProductosServicios() + For Each DrowPartidas As DataRow In TmpDT.Select($"Consec = {Consec}") - Dim CveTamanioTemp As Integer = DrowPartidas("CveTamaño").ToString.ToEntero + Dim CveTamanioTemp As Integer = DrowPartidas("CveTamaño").ToString.ToEntero - If CveTamanioTemp > 0 Then + If CveTamanioTemp > 0 Then - Dim DTTamanioTemp As New DataTable - Dim CvePsTemp As Integer = DTTamanios.FiltraParametros($"CveTamaño = { CveTamanioTemp } ").Rows(0)("CvePSCargo").ToString.ToEntero + Dim DTTamanioTemp As New DataTable + Dim CvePsTemp As Integer = DTTamanios.FiltraParametros($"CveTamaño = { CveTamanioTemp } ").Rows(0)("CvePSCargo").ToString.ToEntero - CveSubProyectoPSA = DrowPartidas("CveSubProyecto").ToString.ToEntero - SubProyectoPSA = DrowPartidas("SubProyecto").ToString - - If ObjProductosServicios.GetPS(CvePsTemp, -1, UsuarioActual.CveEmpresa) Then - CveUnidadMedidaPSA = ObjProductosServicios.CveUnidadMedida - CveClacificacionPSA = ObjProductosServicios.CveClasificacion - UnidadMedidaPSA = ObjProductosServicios.DtResultados.FiltroPrimeroValor("UnidadMedida") - PSPSA = ObjProductosServicios.PS - End If - - - If UsuarioActual.Empresa.UsaAC Then - ClacificacionPSA = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, UsoClasificacion:=If(UsuarioActual.Empresa.UsaContabilidad, CveClacificacionPSA, -1)).FiltroPrimeroValor("Clasificacion", " Codigo = '' OR Codigo IS NULL ", Orderby:="Clasificacion") - Else - ClacificacionPSA = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, UsoClasificacion:=If(UsuarioActual.Empresa.UsaContabilidad, CveClacificacionPSA, -1)).FiltroPrimeroValor("Clasificacion", Orderby:="Clasificacion") - End If - - Dim Cargo As Decimal = DTTamanios.FiltroPrimeroValor("Cargo", $" CveTamaño = { CveTamanioTemp }").ToDecimal - - - If DTPSTemp.FiltraParametros($"CvePs = { CvePsTemp }").Rows.Count > 0 Then - - For Each dRowUpdate As DataRow In DTPSTemp.Rows - - If (dRowUpdate("CvePS").ToString.ToEntero = CvePsTemp) Then - dRowUpdate("Cantidad") = dRowUpdate("Cantidad").ToString.ToDecimal + DrowPartidas("Cantidad").ToString.ToDecimal - dRowUpdate("PU") = Cargo ' dRowUpdate("Total").ToString.ToDecimal + ImporteCargo - End If - Next - - DTPSTemp.AcceptChanges() - - Else - Dim dRowNuevo As DataRow = DTPSTemp.NewRow - - dRowNuevo("Cantidad") = DrowPartidas("Cantidad").ToString.ToDecimal - dRowNuevo("PU") = Cargo - dRowNuevo("CveUnidadMedida") = CveUnidadMedidaPSA - dRowNuevo("UnidadMedida") = UnidadMedidaPSA - dRowNuevo("CveClacificacion") = CveClacificacionPSA - dRowNuevo("Clacificacion") = ClacificacionPSA - dRowNuevo("CvePS") = CvePsTemp - dRowNuevo("PS") = PSPSA - - dRowNuevo("CveSubProyecto") = DrowPartidas("CveSubProyecto").ToString.ToEntero - dRowNuevo("SubProyecto") = DrowPartidas("SubProyecto").ToString - - DTPSTemp.Rows.Add(dRowNuevo) - DTPSTemp.AcceptChanges() - End If + CveSubProyectoPSA = DrowPartidas("CveSubProyecto").ToString.ToEntero + SubProyectoPSA = DrowPartidas("SubProyecto").ToString + If ObjProductosServicios.GetPS(CvePsTemp, -1, UsuarioActual.CveEmpresa) Then + CveUnidadMedidaPSA = ObjProductosServicios.CveUnidadMedida + CveClacificacionPSA = ObjProductosServicios.CveClasificacion + UnidadMedidaPSA = ObjProductosServicios.DtResultados.FiltroPrimeroValor("UnidadMedida") + PSPSA = ObjProductosServicios.PS + End If + + + If UsuarioActual.Empresa.UsaAC Then + ClacificacionPSA = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, UsoClasificacion:=If(UsuarioActual.Empresa.UsaContabilidad, CveClacificacionPSA, -1)).FiltroPrimeroValor("Clasificacion", " Codigo = '' OR Codigo IS NULL ", Orderby:="Clasificacion") + Else + ClacificacionPSA = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, UsoClasificacion:=If(UsuarioActual.Empresa.UsaContabilidad, CveClacificacionPSA, -1)).FiltroPrimeroValor("Clasificacion", Orderby:="Clasificacion") + End If + + Dim Cargo As Decimal = DTTamanios.FiltroPrimeroValor("Cargo", $" CveTamaño = { CveTamanioTemp }").ToDecimal + + + If DTPSTemp.FiltraParametros($"CvePs = { CvePsTemp }").Rows.Count > 0 Then + + For Each dRowUpdate As DataRow In DTPSTemp.Rows + + If (dRowUpdate("CvePS").ToString.ToEntero = CvePsTemp) Then + dRowUpdate("Cantidad") = dRowUpdate("Cantidad").ToString.ToDecimal + DrowPartidas("Cantidad").ToString.ToDecimal + dRowUpdate("PU") = Cargo ' dRowUpdate("Total").ToString.ToDecimal + ImporteCargo + End If + Next + + DTPSTemp.AcceptChanges() + + Else + Dim dRowNuevo As DataRow = DTPSTemp.NewRow + + dRowNuevo("Cantidad") = DrowPartidas("Cantidad").ToString.ToDecimal + dRowNuevo("PU") = Cargo + dRowNuevo("CveUnidadMedida") = CveUnidadMedidaPSA + dRowNuevo("UnidadMedida") = UnidadMedidaPSA + dRowNuevo("CveClacificacion") = CveClacificacionPSA + dRowNuevo("Clacificacion") = ClacificacionPSA + dRowNuevo("CvePS") = CvePsTemp + dRowNuevo("PS") = PSPSA + + dRowNuevo("CveSubProyecto") = DrowPartidas("CveSubProyecto").ToString.ToEntero + dRowNuevo("SubProyecto") = DrowPartidas("SubProyecto").ToString + dRowNuevo("ConsecPSPadre") = Consec + + DTPSTemp.Rows.Add(dRowNuevo) + DTPSTemp.AcceptChanges() End If - Next - ObjProductosServicios.Dispose() - Dim ModalidadBack = Modalidad - 'CAMBIA LA MODALIDAD PARA AGREGAR LOS PS CARGO - If Modalidad = "U" Then - Modalidad = "A" End If + Next + ObjProductosServicios.Dispose() - For Each drowPsTamaños As DataRow In DTPSTemp.Rows - If drowPsTamaños("PU").ToString.ToDecimal > 0 Then - Dim Concec = AgregarProductoServicio(drowPsTamaños("Cantidad").ToString.ToEntero, drowPsTamaños("CveUnidadMedida").ToString.ToEntero, drowPsTamaños("UnidadMedida").ToString, + Dim ModalidadBack = Modalidad + 'CAMBIA LA MODALIDAD PARA AGREGAR LOS PS CARGO + If Modalidad = "U" Then + Modalidad = "A" + End If + + For Each drowPsTamaños As DataRow In DTPSTemp.Rows + If drowPsTamaños("PU").ToString.ToDecimal > 0 Then + Dim Concec = AgregarProductoServicio(drowPsTamaños("Cantidad").ToString.ToEntero, drowPsTamaños("CveUnidadMedida").ToString.ToEntero, drowPsTamaños("UnidadMedida").ToString, drowPsTamaños("CveClacificacion").ToString.ToEntero, drowPsTamaños("Clacificacion").ToString, drowPsTamaños("CvePS").ToString.ToEntero, drowPsTamaños("PS").ToString, "", drowPsTamaños("PU").ToString.ToDecimal, 0, -1, "", drowPsTamaños("CveSubProyecto").ToString.ToEntero, - drowPsTamaños("SubProyecto").ToString, EsCargo:=True) - If Consec > 0 Then - ListaPScargo.Add(drowPsTamaños("CvePS").ToString.ToEntero) - End If + drowPsTamaños("SubProyecto").ToString, EsCargo:=True, ConsecPSPadre:=drowPsTamaños("ConsecPSPadre").ToString.ToEntero) + If Consec > 0 Then + ListaPScargo.Add(drowPsTamaños("CvePS").ToString.ToEntero) End If - Next + End If + Next - Modalidad = ModalidadBack - End If - ObjAcum.Dispose() + Modalidad = ModalidadBack Return ListaPScargo End Function Private Sub EliminarUsados(Consec As Integer) - Dim DTTamanios As New DataTable - Dim ObjAcum As New ClsAcumuladores + 'ELIMINAR EL USADO EXTRAS + For Each drow As DataRow In TmpDT.Select($"ConsecPSPadre ={Consec}") + drow.Delete() + Next - If ObjAcum.TamañoGet(-1, UsuarioActual.CveEmpresa) Then - - DTTamanios = ObjAcum.DtResultados - Dim DTCvePSCostos = ObjAcum.DtResultados.FiltraParametros("", "", {"CvePSCargo"}) - - If Not TmpDT.Columns.Contains("Eliminar") Then - TmpDT.Columns.Add("Eliminar", GetType(Integer)) - End If - - For Each drow As DataRow In TmpDT.FiltraParametros($"Consec ={Consec}").Rows - For Each drow2 As DataRow In DTCvePSCostos.Rows - If drow("CvePS").ToString.ToEntero = drow2("CvePSCargo").ToString.ToEntero Then - drow("Eliminar") = 1 - Exit For - End If - Next + 'ELIMINAR LOS USADOS QUE SE MANDAN A RECEPCION + For Each drow As DataRow In TmpDT.Select($"Consec ={Consec}") + For Each RowRecepcionUsados As DataRow In TmpDTRecepcionUsados.Rows + If (RowRecepcionUsados("CvePSRelacionado").ToString() = drow("CvePS").ToString()) Then + RowRecepcionUsados.Delete() + End If Next + Next - Dim TmpDTView As New DataView(TmpDT) - TmpDTView.RowFilter = "Eliminar = 1" - - For Each dRowEliminar As DataRowView In TmpDTView - For Each RowRecepcionUsados As DataRow In TmpDTRecepcionUsados.Rows - If (RowRecepcionUsados("CvePS").ToString() = dRowEliminar("CvePS").ToString()) Then - RowRecepcionUsados.Delete() - End If - Next - dRowEliminar.Delete() - Next - - TmpDT.AcceptChanges() - TmpDTRecepcionUsados.AcceptChanges() - - End If - ObjAcum.Dispose() - + TmpDT.AcceptChanges() + TmpDTRecepcionUsados.AcceptChanges() End Sub #End Region diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 271b56f72..ed4ad54e2 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -4292,7 +4292,7 @@ Partial Class Ventas Retorno = True Else - CveVenta = -1 + ViewState("CveVenta") = -1 Alert("El documento solicitado no existe, favor de revisar su búsqueda.", TipoMensaje.MsgAdvertencia) End If End If @@ -9121,7 +9121,12 @@ Partial Class Ventas 'Si es devolucion se agregan a la tabla de Vta_VentasDetalleDevolucion If factura.AplicaDevolucion Then If Not ObjVentas.AddVentaDetalleDevolucion(Row("CveVentaDetalle").ToString.ToEntero, ObjVentas.CveVentaDetalle, Row("Cantidad").ToString.ToDouble) Then - ErrorList.Add("Ocurrió un error al agregar la venta detalle devolucion.") + ErrorList.Add("Ocurrió un error al agregar la venta detalle devolución.") + End If + If ErrorList.Count = 0 Then + If Not ObjEventos.AddEventoBitacora(String.Format("Se aplicó una devolución en Folio: {1}", factura.CveVenta, factura.SerieFolio), "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveVenta:=CveVentaDevolucion) Then + ErrorList.Add("Ocurrió un error al agregar la bitacora de devolución.") + End If End If End If @@ -23173,6 +23178,8 @@ Partial Class Ventas 'CUANDO ES CREAR APARTIR DE SE LIMPIAN FUNCIONALIDADES DE DOCUMENTOS YA REGISTRADOS BtnGenerarRemision.Visible = False + BtnEditarRemision.Visible = False + BtnPermisoEditarRemision.Visible = False BtnPermisoEditarCotizacion.Visible = False BtnEditarCotizacion.Visible = False BtnGenerarOS.Visible = False @@ -23480,154 +23487,136 @@ Partial Class Ventas Private Sub CalculaUsados() + If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Rem") Then + Dim DTTamanios As DataTable = GlobalDTAcumTamaños() + + Dim DTCvePSCostos As DataTable + DTCvePSCostos = DTTamanios.FiltraParametros("", "", {"CvePSCargo"}) + + If Not TmpDT.Columns.Contains("Eliminar") Then + TmpDT.Columns.Add("Eliminar", GetType(Integer)) + End If + + For Each drow As DataRow In TmpDT.Rows + For Each drow2 As DataRow In DTCvePSCostos.Rows + If drow("CvePS").ToString.ToEntero = drow2("CvePSCargo").ToString.ToEntero Then + drow("Eliminar") = 1 + Exit For + End If + Next + Next + + Dim TmpDTView As New DataView(TmpDT) + TmpDTView.RowFilter = "Eliminar = 1" + + For Each dRowEliminar As DataRowView In TmpDTView + dRowEliminar.Delete() + Next + + TmpDT.AcceptChanges() + If ViewState("CargoUsado").ToString = "False" Then + Exit Sub + End If + + Dim CveUnidadMedidaPSA As Integer = -1 + Dim UnidadMedidaPSA As String = "Unidad" + Dim CveClacificacionPSA As Integer = -1 + + Dim ClacificacionPSA As String = "" + + Dim CveSubProyectoPSA As Integer = -1 + Dim SubProyectoPSA As String = "" + + Dim PSPSA As String = "" + + Dim DTPSTemp As New DataTable '= TmpDT.Clone + 'AgregarProductoServicio(1, CveUnidadMedidaPSA, UnidadMedidaPSA, CveClacificacionPSA, ClacificacionPSA, CvePSPSA, PSPSA, "", ImporteCargo, 0, -1, "", CveSubProyectoPSA, SubProyectoPSA) + DTPSTemp.Columns.Add("Cantidad", GetType(Integer)) + DTPSTemp.Columns.Add("CveUnidadMedida", GetType(Integer)) + DTPSTemp.Columns.Add("UnidadMedida", GetType(String)) + DTPSTemp.Columns.Add("CveClacificacion", GetType(Integer)) + DTPSTemp.Columns.Add("Clacificacion", GetType(String)) + DTPSTemp.Columns.Add("CvePS", GetType(Integer)) + DTPSTemp.Columns.Add("PS", GetType(String)) + DTPSTemp.Columns.Add("PU", GetType(Decimal)) + DTPSTemp.Columns.Add("CveSubProyecto", GetType(Integer)) + DTPSTemp.Columns.Add("SubProyecto", GetType(String)) + + For Each DrowPartidas As DataRow In TmpDT.Rows + Dim CveTamanioTemp As Integer = DrowPartidas("CveTamaño").ToString.ToEntero + + If CveTamanioTemp > 0 Then + + Dim DTTamanioTemp As New DataTable + Dim CvePsTemp As Integer = DTTamanios.FiltraParametros($"CveTamaño = { CveTamanioTemp } ").Rows(0)("CvePSCargo").ToString.ToEntero - '' If ClienteEsDistribuidor Then + CveSubProyectoPSA = DrowPartidas("CveSubProyecto").ToString.ToEntero + SubProyectoPSA = DrowPartidas("SubProyecto").ToString - Dim DTTamanios As DataTable = Nothing - ' Dim ObjAcum As New ClsAcumuladores + Dim ObjProductosServicios As New ClsProductosServicios() + If ObjProductosServicios.GetPS(CvePsTemp, -1, UsuarioActual.CveEmpresa) Then + CveUnidadMedidaPSA = ObjProductosServicios.CveUnidadMedida + CveClacificacionPSA = ObjProductosServicios.CveClasificacion + UnidadMedidaPSA = ObjProductosServicios.DtResultados.FiltroPrimeroValor("UnidadMedida") + PSPSA = ObjProductosServicios.PS + End If + ObjProductosServicios.Dispose() - 'If ObjAcum.TamañoGet(-1, UsuarioActual.CveEmpresa) Then + If UsuarioActual.Empresa.UsaAC Then + ClacificacionPSA = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, UsoClasificacion:=If(UsuarioActual.Empresa.UsaContabilidad, CveClacificacionPSA, -1)).FiltroPrimeroValor("Clasificacion", " Codigo = '' OR Codigo IS NULL ", Orderby:="Clasificacion") + Else + ClacificacionPSA = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, UsoClasificacion:=If(UsuarioActual.Empresa.UsaContabilidad, CveClacificacionPSA, -1)).FiltroPrimeroValor("Clasificacion", Orderby:="Clasificacion") + End If - DTTamanios = GlobalDTAcumTamaños() 'ObjAcum.DtResultados + Dim Cargo As Decimal = DTTamanios.FiltroPrimeroValor("Cargo", $" CveTamaño = { CveTamanioTemp }").ToDecimal - Dim DTCvePSCostos As DataTable - DTCvePSCostos = DTTamanios.FiltraParametros("", "", {"CvePSCargo"}) - If Not TmpDT.Columns.Contains("Eliminar") Then - TmpDT.Columns.Add("Eliminar", GetType(Integer)) - End If + If DTPSTemp.FiltraParametros($"CvePs = { CvePsTemp }").Rows.Count > 0 Then + + For Each dRowUpdate As DataRow In DTPSTemp.Rows + + If (dRowUpdate("CvePS").ToString.ToEntero = CvePsTemp) Then + dRowUpdate("Cantidad") = dRowUpdate("Cantidad").ToString.ToDecimal + DrowPartidas("Cantidad").ToString.ToDecimal + dRowUpdate("PU") = Cargo ' dRowUpdate("Total").ToString.ToDecimal + ImporteCargo + End If + Next + + DTPSTemp.AcceptChanges() + + Else + Dim dRowNuevo As DataRow = DTPSTemp.NewRow + + dRowNuevo("Cantidad") = DrowPartidas("Cantidad").ToString.ToDecimal + dRowNuevo("PU") = Cargo + dRowNuevo("CveUnidadMedida") = CveUnidadMedidaPSA + dRowNuevo("UnidadMedida") = UnidadMedidaPSA + dRowNuevo("CveClacificacion") = CveClacificacionPSA + dRowNuevo("Clacificacion") = ClacificacionPSA + dRowNuevo("CvePS") = CvePsTemp + dRowNuevo("PS") = PSPSA + + dRowNuevo("CveSubProyecto") = DrowPartidas("CveSubProyecto").ToString.ToEntero + dRowNuevo("SubProyecto") = DrowPartidas("SubProyecto").ToString + + DTPSTemp.Rows.Add(dRowNuevo) + DTPSTemp.AcceptChanges() + End If - For Each drow As DataRow In TmpDT.Rows - For Each drow2 As DataRow In DTCvePSCostos.Rows - If drow("CvePS").ToString.ToEntero = drow2("CvePSCargo").ToString.ToEntero Then - drow("Eliminar") = 1 - Exit For End If Next - Next - - Dim TmpDTView As New DataView(TmpDT) - TmpDTView.RowFilter = "Eliminar = 1" - - For Each dRowEliminar As DataRowView In TmpDTView - dRowEliminar.Delete() - - Next - TmpDT.AcceptChanges() - If ViewState("CargoUsado").ToString = "False" Then - Exit Sub + For Each drowPsTamaños As DataRow In DTPSTemp.Rows + Modalidad = "A" + If drowPsTamaños("PU").ToString.ToDecimal > 0 Then + AgregarProductoServicio(drowPsTamaños("Cantidad").ToString.ToEntero, drowPsTamaños("CveUnidadMedida").ToString.ToEntero, drowPsTamaños("UnidadMedida").ToString, + drowPsTamaños("CveClacificacion").ToString.ToEntero, drowPsTamaños("Clacificacion").ToString, drowPsTamaños("CvePS").ToString.ToEntero, + drowPsTamaños("PS").ToString, "", drowPsTamaños("PU").ToString.ToDecimal, 0, -1, "", drowPsTamaños("CveSubProyecto").ToString.ToEntero, + drowPsTamaños("SubProyecto").ToString) + End If + Next End If - - Dim ObjProductosServicios As New ClsProductosServicios() - - Dim CveUnidadMedidaPSA As Integer = -1 - Dim UnidadMedidaPSA As String = "Unidad" - Dim CveClacificacionPSA As Integer = -1 - - Dim ClacificacionPSA As String = "" - - Dim CveSubProyectoPSA As Integer = -1 - Dim SubProyectoPSA As String = "" - - Dim PSPSA As String = "" - - Dim DTPSTemp As New DataTable '= TmpDT.Clone - 'AgregarProductoServicio(1, CveUnidadMedidaPSA, UnidadMedidaPSA, CveClacificacionPSA, ClacificacionPSA, CvePSPSA, PSPSA, "", ImporteCargo, 0, -1, "", CveSubProyectoPSA, SubProyectoPSA) - DTPSTemp.Columns.Add("Cantidad", GetType(Integer)) - DTPSTemp.Columns.Add("CveUnidadMedida", GetType(Integer)) - DTPSTemp.Columns.Add("UnidadMedida", GetType(String)) - DTPSTemp.Columns.Add("CveClacificacion", GetType(Integer)) - DTPSTemp.Columns.Add("Clacificacion", GetType(String)) - DTPSTemp.Columns.Add("CvePS", GetType(Integer)) - DTPSTemp.Columns.Add("PS", GetType(String)) - DTPSTemp.Columns.Add("PU", GetType(Decimal)) - DTPSTemp.Columns.Add("CveSubProyecto", GetType(Integer)) - DTPSTemp.Columns.Add("SubProyecto", GetType(String)) - - For Each DrowPartidas As DataRow In TmpDT.Rows - Dim CveTamanioTemp As Integer = DrowPartidas("CveTamaño").ToString.ToEntero - - If CveTamanioTemp > 0 Then - - Dim DTTamanioTemp As New DataTable - Dim CvePsTemp As Integer = DTTamanios.FiltraParametros($"CveTamaño = { CveTamanioTemp } ").Rows(0)("CvePSCargo").ToString.ToEntero - - - CveSubProyectoPSA = DrowPartidas("CveSubProyecto").ToString.ToEntero - SubProyectoPSA = DrowPartidas("SubProyecto").ToString - - If ObjProductosServicios.GetPS(CvePsTemp, -1, UsuarioActual.CveEmpresa) Then - CveUnidadMedidaPSA = ObjProductosServicios.CveUnidadMedida - CveClacificacionPSA = ObjProductosServicios.CveClasificacion - UnidadMedidaPSA = ObjProductosServicios.DtResultados.FiltroPrimeroValor("UnidadMedida") - PSPSA = ObjProductosServicios.PS - End If - - - If UsuarioActual.Empresa.UsaAC Then - ClacificacionPSA = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, UsoClasificacion:=If(UsuarioActual.Empresa.UsaContabilidad, CveClacificacionPSA, -1)).FiltroPrimeroValor("Clasificacion", " Codigo = '' OR Codigo IS NULL ", Orderby:="Clasificacion") - Else - ClacificacionPSA = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, UsoClasificacion:=If(UsuarioActual.Empresa.UsaContabilidad, CveClacificacionPSA, -1)).FiltroPrimeroValor("Clasificacion", Orderby:="Clasificacion") - End If - - Dim Cargo As Decimal = DTTamanios.FiltroPrimeroValor("Cargo", $" CveTamaño = { CveTamanioTemp }").ToDecimal - - - If DTPSTemp.FiltraParametros($"CvePs = { CvePsTemp }").Rows.Count > 0 Then - - For Each dRowUpdate As DataRow In DTPSTemp.Rows - - If (dRowUpdate("CvePS").ToString.ToEntero = CvePsTemp) Then - dRowUpdate("Cantidad") = dRowUpdate("Cantidad").ToString.ToDecimal + DrowPartidas("Cantidad").ToString.ToDecimal - dRowUpdate("PU") = Cargo ' dRowUpdate("Total").ToString.ToDecimal + ImporteCargo - End If - Next - - DTPSTemp.AcceptChanges() - - Else - Dim dRowNuevo As DataRow = DTPSTemp.NewRow - - dRowNuevo("Cantidad") = DrowPartidas("Cantidad").ToString.ToDecimal - dRowNuevo("PU") = Cargo - dRowNuevo("CveUnidadMedida") = CveUnidadMedidaPSA - dRowNuevo("UnidadMedida") = UnidadMedidaPSA - dRowNuevo("CveClacificacion") = CveClacificacionPSA - dRowNuevo("Clacificacion") = ClacificacionPSA - dRowNuevo("CvePS") = CvePsTemp - dRowNuevo("PS") = PSPSA - - dRowNuevo("CveSubProyecto") = DrowPartidas("CveSubProyecto").ToString.ToEntero - dRowNuevo("SubProyecto") = DrowPartidas("SubProyecto").ToString - - DTPSTemp.Rows.Add(dRowNuevo) - DTPSTemp.AcceptChanges() - End If - - End If - Next - - - For Each drowPsTamaños As DataRow In DTPSTemp.Rows - Modalidad = "A" - If drowPsTamaños("PU").ToString.ToDecimal > 0 Then - AgregarProductoServicio(drowPsTamaños("Cantidad").ToString.ToEntero, drowPsTamaños("CveUnidadMedida").ToString.ToEntero, drowPsTamaños("UnidadMedida").ToString, - drowPsTamaños("CveClacificacion").ToString.ToEntero, drowPsTamaños("Clacificacion").ToString, drowPsTamaños("CvePS").ToString.ToEntero, - drowPsTamaños("PS").ToString, "", drowPsTamaños("PU").ToString.ToDecimal, 0, -1, "", drowPsTamaños("CveSubProyecto").ToString.ToEntero, - drowPsTamaños("SubProyecto").ToString) - End If - Next - - ObjProductosServicios.Dispose() - 'End If - - ' ObjAcum.Dispose() - 'End If - - End Sub Private Function GuardarUsados(SqlTransaccion As SqlClient.SqlTransaction, CveVenta As Integer) As Boolean From 674cac3eba5723484e1601aabdf43b468deeb8d7 Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Tue, 10 Dec 2019 18:58:00 -0700 Subject: [PATCH 2/9] -usados --- Acumuladores/EntradasUsadosResumenRep.aspx | 104 ++++++++++++++++++ Acumuladores/EntradasUsadosResumenRep.aspx.vb | 66 +++++++++++ App_Code/ClsAcumuladores.vb | 33 +++++- App_Code/ClsModulos.vb | 2 +- App_Code/ClsPaginas.vb | 3 +- Inventarios/KardexAlmacenHorizontal.aspx | 1 - 6 files changed, 202 insertions(+), 7 deletions(-) create mode 100644 Acumuladores/EntradasUsadosResumenRep.aspx create mode 100644 Acumuladores/EntradasUsadosResumenRep.aspx.vb diff --git a/Acumuladores/EntradasUsadosResumenRep.aspx b/Acumuladores/EntradasUsadosResumenRep.aspx new file mode 100644 index 000000000..9399901c2 --- /dev/null +++ b/Acumuladores/EntradasUsadosResumenRep.aspx @@ -0,0 +1,104 @@ +<%@ Page Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="EntradasUsadosResumenRep.aspx.vb" Inherits="Acumuladores_RepEntradasUsados" %> + + + + + + + Reporte de Usados + + + + +
  • + +
  • +
    + + + +
    +
    + + + + + + + +
    +
    +
    + + +
    +
    +
    + +
    + +
    + +
    +
    + + + + +
    + + + + + + +
    + +
    +
    + + + + +
    + + + + + + +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + +
    +
    +
    + + + + diff --git a/Acumuladores/EntradasUsadosResumenRep.aspx.vb b/Acumuladores/EntradasUsadosResumenRep.aspx.vb new file mode 100644 index 000000000..117257ef5 --- /dev/null +++ b/Acumuladores/EntradasUsadosResumenRep.aspx.vb @@ -0,0 +1,66 @@ +Imports System.Data +Imports Extensiones +Imports Microsoft.Reporting.WebForms + +Partial Class Acumuladores_RepEntradasUsados + Inherits ClsPaginas + + Private DiasSemana(7) As String + Private Meses(12) As String + + Private Property DatosEntradasUsados() As DataTable + Get + Return CType(ViewState("DatosEntradasUsados"), DataTable) + End Get + Set(value As DataTable) + ViewState("DatosEntradasUsados") = value + End Set + End Property + + Protected Sub Page_Load() Handles Me.Load + If Not IsPostBack Then + txtFechaI.Text = Today.AddDays((-1) * (Today.Day - 1)) + txtFechaF.Text = Today + CargarDatos() + End If + End Sub + + Protected Sub CargarDatos() + DdlAlmacenes.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1) + DdlAlmacenes.DataBind() + End Sub + + Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) + Dim ObjAcum As New ClsAcumuladores + + If ObjAcum.EntradasUsadosGet(DdlAlmacenes.SelectedValue.ToEntero, txtFechaI.Text, txtFechaF.Text) Then + GvAcum.DataSource = ObjAcum.DtResultados + DatosEntradasUsados = ObjAcum.DtResultados + + End If + ObjAcum.Dispose() + GvAcum.DataBind() + + End Sub + + Protected Sub BtnImprimir_Click(sender As Object, e As EventArgs) + + + Dim Dia As String = {"lunes", "martes", "miércoles", "jueves", "viernes", "sábado", "domingo"}(If((Weekday(Today) - 2) = -1, 7, Weekday(Today) - 2)) + Dim Mes As String = {"enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"}(Month(Today)) + + Dim FechaConFormato As String = String.Format("{0}, {1} de {2} de {3}", Dia, Month(Today), Mes, Year(Today)) + + Dim params As New List(Of ReportParameter) + + params.Add(New ReportParameter("Direccion", "asdfasdfasdf")) + params.Add(New ReportParameter("FechaConFormato", FechaConFormato)) + params.Add(New ReportParameter("FechaInicial", txtFechaI.Text)) + params.Add(New ReportParameter("FechaFinal", txtFechaF.Text)) + + Dim rds As New ReportDataSource With {.Name = "DataSet1", .Value = DatosEntradasUsados} + + ImprimirPDF(String.Format("Empresas/{0}/Formatos/RepEntradasUsados2.rdlc", UsuarioActual.CveEmpresa), DatosEntradasUsados, params, "prueba", "PDF") + + End Sub +End Class diff --git a/App_Code/ClsAcumuladores.vb b/App_Code/ClsAcumuladores.vb index 423775dc4..630292659 100644 --- a/App_Code/ClsAcumuladores.vb +++ b/App_Code/ClsAcumuladores.vb @@ -243,12 +243,37 @@ Public Class ClsAcumuladores End Try Return Retorno - End Function - + End Function + + Public Function EntradasUsadosGet(CveAlmacen As Integer, FechaInicial As Date, FechaFinal As Date) As Boolean + Dim retorno As Boolean = False + + SqlDataAdapter("PA_Acum_EntradasUsadosResumenRep") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen + .Add("@FechaInicial", SqlDbType.Date).Value = FechaInicial + .Add("@FechaFinal", SqlDbType.Date).Value = FechaFinal + End With + + Try + SqlAdapter.Fill(Data) + retorno = True + Catch ex As Exception + + OnError("Ocurrió un error al traerse el reporte de usados.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + + End Try + + Return retorno + + End Function + + #End Region - + #Region " TIPOS DEFECTO " - + Public Function TiposDefectoGet(CveTipoDefecto As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False 'Data = New DataTable diff --git a/App_Code/ClsModulos.vb b/App_Code/ClsModulos.vb index a26983a44..3c47376f4 100644 --- a/App_Code/ClsModulos.vb +++ b/App_Code/ClsModulos.vb @@ -429,7 +429,7 @@ Public Class ClsModulos ' Visual Basic agregó este código para implementar correctamente el modelo descartable. Public Sub Dispose() Implements IDisposable.Dispose ' No cambie este código. Coloque el código de limpieza en Dispose ( que se dispone como Boolean). - ConexionClose() + 'ConexionClose() Dispose(True) GC.SuppressFinalize(Me) End Sub diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 71f7c993a..0550ccc34 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -4581,7 +4581,8 @@ Public Class ClsPaginas PaginaDict.Add("/Acumuladores/CatTiposUso.aspx".ToUpper(), 1034) PaginaDict.Add("/Acumuladores/CatFoliosGarantia.aspx".ToUpper(), 1035) PaginaDict.Add("/Acumuladores/CatGarantiasMeses.aspx".ToUpper(), 1036) - PaginaDict.Add("/Acumuladores/EntradasUsados.aspx".ToUpper(), 543) + 'PaginaDict.Add("/Acumuladores/EntradasUsados.aspx".ToUpper(), 543) + PaginaDict.Add("/Acumuladores/EntradasUsadosResumenRep.aspx".ToUpper(), 1032) 'Antes de aquí. diff --git a/Inventarios/KardexAlmacenHorizontal.aspx b/Inventarios/KardexAlmacenHorizontal.aspx index 3b705d02a..df303871d 100644 --- a/Inventarios/KardexAlmacenHorizontal.aspx +++ b/Inventarios/KardexAlmacenHorizontal.aspx @@ -113,7 +113,6 @@
    - From a7bcd1a07d28dac34f257ac96c26bd98789aebb5 Mon Sep 17 00:00:00 2001 From: rmolina Date: Tue, 10 Dec 2019 19:03:08 -0700 Subject: [PATCH 3/9] -usados --- Acumuladores/EntradasUsados.aspx | 19 ------ Acumuladores/EntradasUsados.aspx.vb | 5 -- Acumuladores/RepEntradasUsadosClientes.aspx | 65 +++++++++++++++++++ .../RepEntradasUsadosClientes.aspx.vb | 48 ++++++++++++++ App_Code/ClsAcumuladores.vb | 4 +- App_Code/ClsInventarios.vb | 29 ++++++++- App_Code/ClsPaginas.vb | 2 +- App_Code/ClsProductosServicios.vb | 35 ++++++++++ App_Code/modExtensiones.vb | 4 +- Contabilidad/PlantillasPolizasDetalle.aspx.vb | 2 +- Inventarios/PaquetesArmadoDesarmado.aspx.vb | 5 +- Inventarios/RecepcionUsados.aspx | 2 +- Inventarios/RecepcionUsados.aspx.vb | 14 ++-- Ventas/ActualizarPrecios.aspx | 4 +- Ventas/ActualizarPrecios.aspx.vb | 45 +++++++++---- Ventas/Ventas.aspx.vb | 20 +++--- 16 files changed, 235 insertions(+), 68 deletions(-) delete mode 100644 Acumuladores/EntradasUsados.aspx delete mode 100644 Acumuladores/EntradasUsados.aspx.vb create mode 100644 Acumuladores/RepEntradasUsadosClientes.aspx create mode 100644 Acumuladores/RepEntradasUsadosClientes.aspx.vb diff --git a/Acumuladores/EntradasUsados.aspx b/Acumuladores/EntradasUsados.aspx deleted file mode 100644 index b7c2dd864..000000000 --- a/Acumuladores/EntradasUsados.aspx +++ /dev/null @@ -1,19 +0,0 @@ -<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="EntradasUsados.aspx.vb" Inherits="Acumuladores_EntradasUsados" %> - - - - - - - - - - - - - - - - - - diff --git a/Acumuladores/EntradasUsados.aspx.vb b/Acumuladores/EntradasUsados.aspx.vb deleted file mode 100644 index 3a0e4f59c..000000000 --- a/Acumuladores/EntradasUsados.aspx.vb +++ /dev/null @@ -1,5 +0,0 @@ - -Partial Class Acumuladores_EntradasUsados - Inherits System.Web.UI.Page - -End Class diff --git a/Acumuladores/RepEntradasUsadosClientes.aspx b/Acumuladores/RepEntradasUsadosClientes.aspx new file mode 100644 index 000000000..3a55af4e0 --- /dev/null +++ b/Acumuladores/RepEntradasUsadosClientes.aspx @@ -0,0 +1,65 @@ +<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepEntradasUsadosClientes.aspx.vb" Inherits="Acumuladores_RepEntradasUsadosClientes" %> + + + + + + + + + + + + + + + + +
    +
    +
    + + "> + +
    +
    +
    Almacen:
    +
    + +
    +
    +
    Fecha Inicio:
    +
    +
    + + + + +
    + + +
    +
    Fecha Fin:
    +
    +
    + + + + +
    + + +
    + +
    +
    +
    + +
    +
    +
    + +
    + + + diff --git a/Acumuladores/RepEntradasUsadosClientes.aspx.vb b/Acumuladores/RepEntradasUsadosClientes.aspx.vb new file mode 100644 index 000000000..29d60c703 --- /dev/null +++ b/Acumuladores/RepEntradasUsadosClientes.aspx.vb @@ -0,0 +1,48 @@ +Imports Extensiones +Imports System + +Partial Class Acumuladores_RepEntradasUsadosClientes + Inherits ClsPaginas + + Private Sub Acumuladores_EntradasUsados_Load(sender As Object, e As EventArgs) Handles Me.Load + + If Not Page.IsPostBack Then + CargaCombos() + End If + + End Sub + + Private Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click + CargaDatos() + + End Sub + + Public Sub CargaCombos() + DdlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + DdlAlmacen.DataBind() + DdlAlmacen.Items.Insert(0, New ListItem("Todos", "-1")) + + TxtFechaI.text = now.Firstdayofmonth + txtfechaf.text = now.toshortdatestring + + End Sub + + Private Sub CargaDatos() + + Dim FechaI, FechaF As Date + FechaI = If(IsDate(TxtFechaI.Text.Trim()), TxtFechaI.Text.Trim.todate, minfecha) + FechaF = If(IsDate(TxtFechaF.Text.Trim()), TxtFechaF.Text.Trim.todate, maxfecha) + + Dim CveAlmacen As Integer = If(DdlAlmacen.SelectedValue = "", "-1", DdlAlmacen.SelectedValue).ToString.toentero + + Dim Acum As New ClsAcumuladores + + If Acum.EntradasUsadosClientesRep(CveAlmacen, FechaI, FechaF, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then + GvDatos.datasource = Acum.DtResultados + End If + + Acum.Dispose() + GvDatos.databind + + End Sub +End Class diff --git a/App_Code/ClsAcumuladores.vb b/App_Code/ClsAcumuladores.vb index 423775dc4..31010ecc8 100644 --- a/App_Code/ClsAcumuladores.vb +++ b/App_Code/ClsAcumuladores.vb @@ -840,11 +840,11 @@ Public Class ClsAcumuladores Return Retorno End Function - Public Function EntradasUsadosGet(CveAlmacen As Integer, FechaI As Date, FechaF As Date, CveUsuario As Integer, CveEmpresa As Integer) As Boolean + Public Function EntradasUsadosClientesRep(CveAlmacen As Integer, FechaI As Date, FechaF As Date, CveUsuario As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False 'Data = New DataTable - SqlDataAdapter("PA_Acum_EntradasUsadosGet") + SqlDataAdapter("PA_Acum_EntradasUsadosClientesGet") With SqlAdapter.SelectCommand.Parameters .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb index 09af84a3e..c74ea1059 100644 --- a/App_Code/ClsInventarios.vb +++ b/App_Code/ClsInventarios.vb @@ -1778,7 +1778,11 @@ Public Class ClsInventarios Retorno = SqlAdapter.SelectCommand.Parameters("@Existencia").Value.ToString.ToDecimal() Me.CvePS = SqlAdapter.SelectCommand.Parameters("@CvePSRetorno").Value.ToString.ToEntero Catch Ex1 As SqlException - Me.OnError("Ocurrió un error al obtener las existencias del producto.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + If Ex1.Message.Contains("deadlocked") Then + Me.OnError("Ocurrió un error al obtener las existencias del producto. Puede intentarlo de nuevo", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + Else + Me.OnError("Ocurrió un error al obtener las existencias del producto.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If Catch ex As Exception OnError("Ocurrió un error al obtener las existencias del producto.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) End Try @@ -3290,8 +3294,27 @@ Public Class ClsInventarios End Function #End Region + Public Function GetMovimientoMetodoNulo(CveMovimiento As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Inv_MovimientoMetodoNulo") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento + .Add("@Valido", SqlDbType.Int).Direction = ParameterDirection.Output + End With + + Try + SqlAdapter.Fill(Data) + Retorno = If(SqlAdapter.SelectCommand.Parameters("@Valido").Value.ToString.ToEntero = 1, True, False) + Catch ex As Exception + OnError("Ocurrió un error al obtener El Costo del Producto/Servicio.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function + #Region " INVENTARIOS - COSTO PS " - Public Function GetCostoPS(CvePS As Integer, Cantidad As Double, CveAlmacen As Integer, SerieLote As String, FechaFin As Date, Optional CveSubProyecto As Integer = -1, Optional CveTipoAlmacen As Integer = 1) As Decimal + Public Function GetCostoPS(CvePS As Integer, Cantidad As Double, CveAlmacen As Integer, SerieLote As String, FechaFin As Datetime, Optional CveSubProyecto As Integer = -1, Optional CveTipoAlmacen As Integer = 1) As Decimal Dim Retorno As Decimal = -1D DataAdapter("PA_Inv_PSCostoGet") @@ -3300,7 +3323,7 @@ Public Class ClsInventarios .Add("@Cantidad", SqlDbType.Float).Value = Cantidad .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen .Add("@SerieLote", SqlDbType.VarChar).Value = SerieLote - .Add("@FechaFin", SqlDbType.Date).Value = FechaFin + .Add("@FechaFin", SqlDbType.DateTime).Value = FechaFin .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto .Add("@CveTipoAlmacen", SqlDbType.Int).Value = CveTipoAlmacen .Add("@Costo", SqlDbType.Money).Direction = ParameterDirection.Output diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 68c1d49da..3e2fb3121 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -4580,7 +4580,7 @@ Public Class ClsPaginas PaginaDict.Add("/Acumuladores/CatTiposUso.aspx".ToUpper(), 1034) PaginaDict.Add("/Acumuladores/CatFoliosGarantia.aspx".ToUpper(), 1035) PaginaDict.Add("/Acumuladores/CatGarantiasMeses.aspx".ToUpper(), 1036) - PaginaDict.Add("/Acumuladores/EntradasUsados.aspx".ToUpper(), 543) + PaginaDict.Add("/Acumuladores/RepEntradasUsadosClientes.aspx".ToUpper(), 543) 'Antes de aquí. diff --git a/App_Code/ClsProductosServicios.vb b/App_Code/ClsProductosServicios.vb index 3df18c5db..317ff984a 100644 --- a/App_Code/ClsProductosServicios.vb +++ b/App_Code/ClsProductosServicios.vb @@ -1696,6 +1696,41 @@ Public Class ClsProductosServicios Return Retorno End Function + Public Function UpdatePSPrecios(Importe As Decimal, CvePrecioLista As Integer, Porcentaje As Decimal, CvePS As Integer, CveUsuario As Integer, Fecha As DateTime, Fijo As Boolean, Optional PrecioMinimo As Decimal = Nothing) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_PSPrecioUpdate") + + With SqlAdapter.SelectCommand.Parameters + + If Importe = -1 Then + .Add("@Importe", SqlDbType.Float).Value = DBNull.Value + Else + .Add("@Importe", SqlDbType.Float).Value = Importe + End If + + If Porcentaje = -1 Then + .Add("@Porcentaje", SqlDbType.Money).Value = DBNull.Value + Else + .Add("@Porcentaje", SqlDbType.Money).Value = Porcentaje + End If + + .Add("@PrecioMinimo", SqlDbType.Decimal).Value = PrecioMinimo + .Add("@CvePS", SqlDbType.Int).Value = CvePS + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@Fecha", SqlDbType.DateTime).Value = Fecha + .Add("@Fijo", SqlDbType.Bit).Value = Fijo + + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al actualizar los precios de lista.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function GetPSPrecioLista(CvePS As Integer, CveEmpresa As Integer, Optional CvePrecioLista As Integer = -1) As Boolean Dim Retorno As Boolean = False diff --git a/App_Code/modExtensiones.vb b/App_Code/modExtensiones.vb index 11b2f7c26..f4a068120 100644 --- a/App_Code/modExtensiones.vb +++ b/App_Code/modExtensiones.vb @@ -367,9 +367,9 @@ Namespace Extensiones End Sub - Public Sub OnError(Obj As Object, Mensaje As String, Exeption As Exception, Optional InfoAdicional As String = "") + Public Sub OnError(Obj As Object, Mensaje As String, Exeption As Exception, Optional InfoAdicional As String = "", Optional TipoMensaje As TipoMensaje = TipoMensaje.MsgError) GuardaLog(String.Format("{0} DESCRIPCIÓN DETALLADA: {1} {2} {3}", Mensaje, Exeption.ToString, vbCrLf, InfoAdicional)) - Alert(Obj, Mensaje, TipoMensaje.MsgError) + Alert(Obj, Mensaje, TipoMensaje) If WebConfigurationManager.AppSettings("SiteName") IsNot Nothing AndAlso WebConfigurationManager.AppSettings("SiteName").ToString = "1" Then MandaCorreoError(String.Format("{0} DESCRIPCIÓN DETALLADA: {1} {2} {3}", Mensaje, Exeption.ToString, vbCrLf, InfoAdicional)) End Sub diff --git a/Contabilidad/PlantillasPolizasDetalle.aspx.vb b/Contabilidad/PlantillasPolizasDetalle.aspx.vb index 56fd3a6bb..e778a21ea 100644 --- a/Contabilidad/PlantillasPolizasDetalle.aspx.vb +++ b/Contabilidad/PlantillasPolizasDetalle.aspx.vb @@ -105,7 +105,7 @@ Partial Class Contabilidad_PlantillasPolizasDetalle Me.GvDatos.DataSource = Nothing End If - OrdenaDatos() + ' OrdenaDatos() End Sub Public Sub CargaDatosPoliza(CvePlantillaPoliza As Integer) Dim ObjPlantillaPolizas As New ClsContabilidad diff --git a/Inventarios/PaquetesArmadoDesarmado.aspx.vb b/Inventarios/PaquetesArmadoDesarmado.aspx.vb index 40fa29776..b6eff1c35 100644 --- a/Inventarios/PaquetesArmadoDesarmado.aspx.vb +++ b/Inventarios/PaquetesArmadoDesarmado.aspx.vb @@ -301,10 +301,11 @@ Partial Class Inventarios_PaquetesArmadoDesarmado Dim CveUMTemp = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPaqueteDesarmado.SelectedValue.ToEntero).FiltroPrimeroValor("CveUM").ToEntero CveVendedor = If(RowApartadosDesarmado.Visible, DdlVendedorDesarmado.SelectedValue.ToEntero, -1) CveCliente = If(RowClienteDesarmado.Visible, DdlClienteDesarmado.SelectedValue.ToEntero, -1) + Dim FechaFin As String = TxtFechaDesarmado.Text.ToDateTime.ToString("yyyy/MM/dd 23:59") Dim ObjInventarios As New ClsInventarios - Dim Existencia = ObjInventarios.GetExistenciasPS(DdlPaqueteDesarmado.SelectedValue.ToEntero, CveUMTemp, UsuarioActual.CveEmpresa, DdlAlmacenDesarmado.SelectedValue.ToEntero, FechaMovto:=TxtFechaDesarmado.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), CveVendedor:=CveVendedor, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente)) - Dim CostoPromedio = ObjInventarios.GetCostoPS(DdlPaqueteDesarmado.SelectedValue.ToEntero, TxtCantidadDesarmado.Text.ToDouble, DdlAlmacenDesarmado.SelectedValue.ToEntero, "-1", TxtFechaDesarmado.Text.ToDate) + Dim Existencia = ObjInventarios.GetExistenciasPS(DdlPaqueteDesarmado.SelectedValue.ToEntero, CveUMTemp, UsuarioActual.CveEmpresa, DdlAlmacenDesarmado.SelectedValue.ToEntero, FechaMovto:=FechaFin, CveVendedor:=CveVendedor, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente)) + Dim CostoPromedio = ObjInventarios.GetCostoPS(DdlPaqueteDesarmado.SelectedValue.ToEntero, TxtCantidadDesarmado.Text.ToDouble, DdlAlmacenDesarmado.SelectedValue.ToEntero, "-1", FechaFin.ToDate, CveTipoAlmacen:=-1) ObjInventarios.Dispose() If Existencia - TxtCantidadDesarmado.Text.ToDouble < 0 Then diff --git a/Inventarios/RecepcionUsados.aspx b/Inventarios/RecepcionUsados.aspx index 10c7f1c90..ba194c182 100644 --- a/Inventarios/RecepcionUsados.aspx +++ b/Inventarios/RecepcionUsados.aspx @@ -105,7 +105,7 @@
    - Entrada + Entrada Salida
    diff --git a/Inventarios/RecepcionUsados.aspx.vb b/Inventarios/RecepcionUsados.aspx.vb index 7fe120eaa..381d6ef3c 100644 --- a/Inventarios/RecepcionUsados.aspx.vb +++ b/Inventarios/RecepcionUsados.aspx.vb @@ -1066,10 +1066,10 @@ Partial Class Inventarios_RecepcionUsados For Each Dr As DataRow In DtMovimientos.Rows - If CveConcepto = 2 AndAlso DdlMoneda.SelectedValue.ToEntero = 2 Then - ImporteConcepto = Dr("PU").ToString.ToDouble * GlobalTipoCambio(TxtFecha.Text.ToDate) - Else - ImporteConcepto = Dr("PU").ToString.ToDouble + If CveConcepto = 42 AndAlso DdlMoneda.SelectedValue.ToEntero = 2 Then + ImporteConcepto = Dr("PU").ToString.ToDouble * GlobalTipoCambio(TxtFecha.Text.ToDate) + Else + ImporteConcepto = Dr("PU").ToString.ToDouble End If If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, ImporteConcepto, Dr("CveAF").ToString.ToEntero, -1, Dr("SerieLote").ToString, Dr("Observaciones").ToString, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then @@ -1083,10 +1083,10 @@ Partial Class Inventarios_RecepcionUsados ErrorMovInv = True Exit For End If - 'si es selectedvalue = 2, es entrada ,3 -salida - Dim CveConceptoUsados As Integer = If(RBLOpcion.SelectedValue.ToEntero = 2, 1, 2) + 'si es selectedvalue = 42, es entrada ,3 -salida + Dim CveConceptoUsados As Integer = If(RBLOpcion.SelectedValue.ToEntero = 42, 1, 2) - If RBLOpcion.SelectedValue.ToEntero = 2 AndAlso EsDistribuidor Then + If RBLOpcion.SelectedValue.ToEntero = 42 AndAlso EsDistribuidor Then If Not ObjAcum.DistribuidorMovtosAdd(DdlClientes.SelectedValue.ToEntero, Dr("Cantidad").ToString.ToEntero(), Dr("CveTamaño").ToString.ToEntero, CveConceptoUsados, CveVenta, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0, Dr("Observaciones").ToString, CveMovimiento:=CveMovimiento) Then diff --git a/Ventas/ActualizarPrecios.aspx b/Ventas/ActualizarPrecios.aspx index e5afac7e9..f1a40e0eb 100644 --- a/Ventas/ActualizarPrecios.aspx +++ b/Ventas/ActualizarPrecios.aspx @@ -34,7 +34,7 @@
    - +
    @@ -303,7 +303,7 @@
    - +
    diff --git a/Ventas/ActualizarPrecios.aspx.vb b/Ventas/ActualizarPrecios.aspx.vb index 1969944e1..44eda61c6 100644 --- a/Ventas/ActualizarPrecios.aspx.vb +++ b/Ventas/ActualizarPrecios.aspx.vb @@ -73,18 +73,27 @@ Partial Class Ventas_ActualizarPrecios DDlClasificacion.Items.Insert(0, New ListItem("Todos", "-1")) End Sub - Public Sub CargaPreciosLista() + Public Sub CargaPreciosLista() + + DdlPrecioLista.ITEMS.CLEAR Dim ObjVta As New ClsVentas If ObjVta.GetPrecioListas(UsuarioActual.CveEmpresa) Then DdlPrecioLista.DataSource = ObjVta.DtResultados.Copy() DdlPrecioListaCarga.DataSource = ObjVta.DtResultados.Copy() End If - ObjVta.Dispose() - + ObjVta.Dispose() + + DdlPrecioLista.DataBind() - DdlPrecioListaCarga.DataBind() + DdlPrecioListaCarga.DataBind() + + DdlPrecioLista.Items.Insert(0, New ListItem("Seleccione", "-1")) + If UsuarioActual.CveEmpresa.Contiene(1, 140) Then + DdlPrecioLista.Items.Insert(0, New ListItem("Sin Precio Lista", "-2")) + DdlPrecioListaCarga.Items.Insert(0, New ListItem("Sin Precio Lista", "-2")) + End If + - DdlPrecioListaCarga.Items.Insert(0, New ListItem("Seleccione", "-1")) End Sub Public Sub CargaPS() @@ -193,7 +202,7 @@ Partial Class Ventas_ActualizarPrecios ObjPS.Dispose() BtnConsultar_Click(Nothing, Nothing) - RegistraScript("$('#divAgregar').modal('hide')") + RegistraScript("$('#divAgregar').modal('hide')") TxtImporte.Text = "" TxtPrecio.Text = "" TxtPorcentaje.Text = "" @@ -271,7 +280,7 @@ Partial Class Ventas_ActualizarPrecios .PS = row.DataKey("PS"), .Precio = row.FCTextBox("TxtPrecio").Text.ToDecimal() }).QueryToDataTable(True) - If DtExcel.Rows.Count < 2 Then + If DtExcel.Rows.Count < 1 Then Alert("No hay resutados en la busqueda.", TipoMensaje.MsgAdvertencia) Exit Sub End If @@ -350,7 +359,7 @@ Partial Class Ventas_ActualizarPrecios End Try If Not ErrorArchivo AndAlso dt IsNot Nothing Then - If DdlPrecioListaCarga.SelectedValue.ToEntero() <= 0 Then + If DdlPrecioListaCarga.SelectedValue.ToEntero() = -1 Then Alert("Debe Seleccionar la lista de precios a cargar. Favor de corregirlo", TipoMensaje.MsgError) Exit Sub End If @@ -380,16 +389,26 @@ Partial Class Ventas_ActualizarPrecios Dim Correcto As Boolean = False Dim CvePS As Integer = DtPS.FiltroPrimeroValor("CvePS", String.Format("Codigo='{0}' AND CveEmpresa={1}", row(0).ToString(), UsuarioActual.CveEmpresa)) Dim CvePrecioLista As Integer = DdlPrecioListaCarga.SelectedValue.ToEntero() + Dim PrecioNuevo As Decimal = row("Precio").ToString().ToDecimal() + Dim Porcentaje As Decimal = -1 - If CvePS > 0 AndAlso CvePrecioLista > 0 Then - Dim Porcentaje As Decimal = -1 - Dim PrecioNuevo As Decimal = row("Precio").ToString().ToDecimal() + If CvePS > 0 AndAlso CvePrecioLista > 0 Then + + Correcto = ObjPS.UpdatePSPreciosLista(PrecioNuevo, CvePrecioLista, Porcentaje, CvePS, UsuarioActual.CveUsuario, DateTime.Now, True) If Correcto Then RowsCargados += 1 End If - Else - Correcto = False + Else + If CvePS > 0 AndAlso CvePrecioLista = -2 Then + Correcto = ObjPS.UpdatePSPrecios(PrecioNuevo, CvePrecioLista, Porcentaje, CvePS, UsuarioActual.CveUsuario, DateTime.Now, True) + If Correcto Then + RowsCargados += 1 + End If + Else + Correcto = False + End If + End If If Not Correcto Then ProductosNoCargados.AppendFormat("{0},", row("Producto / Servicio").ToString()) diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 271b56f72..7898ced65 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -5748,10 +5748,10 @@ Partial Class Ventas Existencia = ObjInventarios.GetExistenciasPS(CvePS, -1, UsuarioActual.CveEmpresa, -1, FechaMovto:=DateTime.Today.AddDays(1).ToString("yyyy/MM/dd HH:mm"), CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeAdelantado:=1, PendientePorSurtir:=1, RestringirAlmacenes:=1, ExcluyeApartados:=-1) End If - Dim Costo As Decimal = ObjInventarios.GetCostoPS(CvePS, TxtCantidad.Text.Trim.ToDouble, -1, "-1", TxtFecha.Text.ToDate, DdlSubProyectoDatos.SelectedValue.ToEntero) + Dim Costo As Decimal = ObjInventarios.GetCostoPS(CvePS, TxtCantidad.Text.Trim.ToDouble, -1, "-1", TxtFecha.Text.ToDate, DdlSubProyectoDatos.SelectedValue.ToEntero, CveTipoAlmacen:=1) 'si el costo es cero, puede ser que no halla movimientos del producto, en esa sucursal. y se volverá a sacar sin especificar sucursal - If Costo = 0 Then Costo = ObjInventarios.GetCostoPS(CvePS, TxtCantidad.Text.Trim.ToDouble, -1, "-1", TxtFecha.Text.ToDate, -1) + If Costo = 0 Then Costo = ObjInventarios.GetCostoPS(CvePS, TxtCantidad.Text.Trim.ToDouble, -1, "-1", TxtFecha.Text.ToDate, -1, CveTipoAlmacen:=1) ObjInventarios.Dispose() Dim PrecioMinimo As Decimal = 0 @@ -5900,7 +5900,7 @@ Partial Class Ventas Dim TotalCalculableImpuestos As Decimal = ((Cantidad * PU) - (Descuento)) Dim TotalCalculableImpuestosIVA As Decimal = 0 - TotalCalculableImpuestosIVA = TotalCalculableImpuestos * (1 + TmpDT.Rows(e.RowIndex)("IEPSPorcentaje").ToString.ToDecimal) + TotalCalculableImpuestosIVA = TotalCalculableImpuestos * (1 + TmpDT.Rows(e.RowIndex)("PorcentajeIEPS").ToString.ToDecimal) TmpDT.Rows(e.RowIndex)("CveUM") = GvPS.Rows(e.RowIndex).FCDropDownList("DdlUnidadMedida").SelectedValue.ToEntero @@ -6352,7 +6352,7 @@ Partial Class Ventas EsValidoMayor = False EsValidoPU = True PU = dr("PU").ToString.ToDecimal * If(DdlMoneda.SelectedValue.ToEntero = 1, 1, TxtTipoCambio.Text.ToDecimal) - Costo = ObjInventarios.GetCostoPS(dr("CvePS").ToString.ToEntero, dr("Cantidad").ToString.ToDouble, -1, "-1", TxtFecha.Text.ToDate, DdlSubProyectoDatos.SelectedValue.ToEntero) + Costo = ObjInventarios.GetCostoPS(dr("CvePS").ToString.ToEntero, dr("Cantidad").ToString.ToDouble, -1, "-1", TxtFecha.Text.ToDate, DdlSubProyectoDatos.SelectedValue.ToEntero, CveTipoAlmacen:=1) Dim PrecioMinimo As Decimal = 0 'RMF. condicion temporal, para reubicación, precio mínimo @@ -13054,9 +13054,9 @@ Partial Class Ventas If PrecioSugerido = 0 Then Dim ObjInventarios As New ClsInventarios - Dim CostoPS = ObjInventarios.GetCostoPS(CvePSParametro, TxtCantidad.Text.Trim.ToDouble, -1, "-1", TxtFecha.Text.ToDate, DdlSubProyectoDatos.SelectedValue.ToEntero) + Dim CostoPS = ObjInventarios.GetCostoPS(CvePSParametro, TxtCantidad.Text.Trim.ToDouble, -1, "-1", TxtFecha.Text.ToDate, DdlSubProyectoDatos.SelectedValue.ToEntero, CveTipoAlmacen:=1) 'si el costo es cero, puede ser que no halla movimientos del producto, en esa sucursal. y se volverá a sacar sin especificar sucursal - If CostoPS = 0 Then CostoPS = ObjInventarios.GetCostoPS(CvePSParametro, TxtCantidad.Text.Trim.ToDouble, -1, "-1", TxtFecha.Text.ToDate, -1) + If CostoPS = 0 Then CostoPS = ObjInventarios.GetCostoPS(CvePSParametro, TxtCantidad.Text.Trim.ToDouble, -1, "-1", TxtFecha.Text.ToDate, -1, CveTipoAlmacen:=1) ObjInventarios.Dispose() If CostoPS > 0 And PorcentajePrecio > 0 Then PrecioSugerido = ((PorcentajePrecio / 100) + 1) * CostoPS @@ -13631,10 +13631,10 @@ Partial Class Ventas If UsuarioActual.Empresa.UsaInventarios AndAlso CveTipoPS = 2 AndAlso (DdlTipoComprobante.SelectedValue.Contiene("Rem", "Ing", "PA") Or (DdlTipoComprobante.SelectedValue.Contiene("Cot") And UsuarioActual.CveEmpresa.Contiene(119))) Then Dim ObjInventarios As New ClsInventarios Dim Existencia As Decimal = ObjInventarios.GetExistenciasPS(CvePS, CveUM, UsuarioActual.CveEmpresa, -1, FechaMovto:=DateTime.Today.AddDays(1).ToString("yyyy/MM/dd HH:mm"), CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeAdelantado:=1, PendientePorSurtir:=1, RestringirAlmacenes:=1, ExcluyeApartados:=-1) - Dim Costo As Decimal = ObjInventarios.GetCostoPS(CvePS, TxtCantidad.Text.Trim.ToDouble, -1, "-1", TxtFecha.Text.ToDate, DdlSubProyectoDatos.SelectedValue.ToEntero) + Dim Costo As Decimal = ObjInventarios.GetCostoPS(CvePS, TxtCantidad.Text.Trim.ToDouble, -1, "-1", TxtFecha.Text.ToDate, DdlSubProyectoDatos.SelectedValue.ToEntero, CveTipoAlmacen:=1) 'si el costo es cero, puede ser que no halla movimientos del producto, en esa sucursal. y se volverá a sacar sin especificar sucursal - If Costo = 0 Then Costo = ObjInventarios.GetCostoPS(CvePS, TxtCantidad.Text.Trim.ToDouble, -1, "-1", TxtFecha.Text.ToDate, -1) + If Costo = 0 Then Costo = ObjInventarios.GetCostoPS(CvePS, TxtCantidad.Text.Trim.ToDouble, -1, "-1", TxtFecha.Text.ToDate, -1, CveTipoAlmacen:=1) ObjInventarios.Dispose() Dim PrecioMinimo As Decimal = 0 @@ -14238,10 +14238,10 @@ Partial Class Ventas PrecioSugerido = ObjPS.DtResultados.FiltroPrimeroValor("PrecioLista").ToDecimal If PrecioSugerido = 0 Then Dim ObjInventarios As New ClsInventarios - Dim CostoPS = ObjInventarios.GetCostoPS(CvePSAdicional, DrPoliza("Cantidad").ToString.ToDecimal, -1, "-1", TxtFecha.Text.ToDate, DdlSubProyectoDatos.SelectedValue.ToEntero) + Dim CostoPS = ObjInventarios.GetCostoPS(CvePSAdicional, DrPoliza("Cantidad").ToString.ToDecimal, -1, "-1", TxtFecha.Text.ToDate, DdlSubProyectoDatos.SelectedValue.ToEntero, CveTipoAlmacen:=1) 'si el costo es cero, puede ser que no halla movimientos del producto, en esa sucursal. y se volverá a sacar sin especificar sucursal - If CostoPS = 0 Then CostoPS = ObjInventarios.GetCostoPS(CvePSAdicional, DrPoliza("Cantidad").ToString.ToDecimal, -1, "-1", TxtFecha.Text.ToDate, -1) + If CostoPS = 0 Then CostoPS = ObjInventarios.GetCostoPS(CvePSAdicional, DrPoliza("Cantidad").ToString.ToDecimal, -1, "-1", TxtFecha.Text.ToDate, -1, CveTipoAlmacen:=1) ObjInventarios.Dispose() Dim PorcentajePrecio = ObjPS.DtResultados.FiltroPrimeroValor("Porcentaje").ToDecimal From d5b50b5f786eb0251430b4ccdb9a46c2785fb46e Mon Sep 17 00:00:00 2001 From: JORGE LUIS CAUDILLO ESPARZA Date: Wed, 11 Dec 2019 06:32:06 -0700 Subject: [PATCH 4/9] --- App_Code/ClsNominas.vb | 115 +++++++++++++++ App_Code/ClsRH.vb | 18 ++- Nomina/Finiquito.aspx | 2 +- Nomina/Nomina2.aspx | 176 +++++++++++++++++++++-- Nomina/Nomina2.aspx.cs | 189 +++++++++++++++++++++++-- Nomina/ReportePTU.aspx.vb | 10 +- RH/CatAsistenciasInasistencias.aspx | 92 +++++++++--- RH/CatAsistenciasInasistencias.aspx.vb | 44 +++++- 8 files changed, 592 insertions(+), 54 deletions(-) diff --git a/App_Code/ClsNominas.vb b/App_Code/ClsNominas.vb index a98a423b0..5dbc2169f 100644 --- a/App_Code/ClsNominas.vb +++ b/App_Code/ClsNominas.vb @@ -172,6 +172,25 @@ Public Class ClsNominas #Region "ClsNominas_Nominas" + Public Function GetCalculoAguinaldo(ejercicio As Int32, cveEmpresa As Int32, importe As Double, CveTipoPeriodo As Integer, CvePeriodo As Integer) As Boolean + Dim retorno As Boolean = False + DataAdapter("PA_NomCalcularAguinaldo", CommandType.StoredProcedure) + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = cveEmpresa + .Add("@Ejercicio", SqlDbType.Int).Value = ejercicio + .Add("@Importe", SqlDbType.Float).Value = importe + .Add("@CveTipoPeriodo", SqlDbType.Float).Value = CveTipoPeriodo + .Add("@CvePeriodo", SqlDbType.Float).Value = CvePeriodo + End With + Try + SqlAdapter.Fill(Data) + retorno = True + Catch ex As Exception + OnError("Ocurrió un error al Realizar el calculo del Aguinaldo.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return retorno + End Function + Public Function GetCalculoUtilidades(ejercicio As Int32, cveEmpresa As Int32, importe As Double, importeA As Double) As Boolean Dim retorno As Boolean = False DataAdapter("PA_NomCalcularUtilidades", CommandType.StoredProcedure) @@ -1890,6 +1909,102 @@ Public Class ClsNominas End Try Return retorno End Function +#Region "MovtosPermanentes" + + Public Function GetMovtoPermanente(CveEmpresa As Int32, CvePersonal As Integer) As Boolean + Dim retorno As Boolean = False + DataAdapter("PA_GetMovtoPermanente", CommandType.StoredProcedure) + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal + End With + Try + SqlAdapter.Fill(Data) + retorno = True + Catch sqEx As SqlException + retorno = False + OnError("Ocurrió un error al obtener los Movtos Permanentes.", sqEx, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + Catch ex As Exception + retorno = False + OnError("Ocurrió un error al obtener los Movtos Permanentes.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return retorno + End Function + Public Function AddMovtoPermanente(cveConcepto As Int32, cvePersonal As Int32, descripcion As String, tipoDescuento As Int32, valor As Double, vecesAplicar As Int32, montoLimite As Decimal, fechaInicioAplicacion As String, estatus As Boolean) As Boolean + Dim retorno As Boolean = False + DataAdapter("PA_AddMovtoPermanente", CommandType.StoredProcedure) + + With SqlAdapter.SelectCommand.Parameters + .Add("@cveConcepto", SqlDbType.Int).Value = (cveConcepto) + .Add("@cvePersonal", SqlDbType.Int).Value = (cvePersonal) + .Add("@descripcion", SqlDbType.VarChar).Value = (descripcion) + .Add("@tipoDescuento", SqlDbType.Int).Value = (tipoDescuento) + .Add("@valor", SqlDbType.Float).Value = (valor) + .Add("@vecesAplicar", SqlDbType.Int).Value = (vecesAplicar) + .Add("@montoLimite", SqlDbType.Decimal).Value = (montoLimite) + .Add("@fechaInicioAplicacion", SqlDbType.VarChar).Value = (fechaInicioAplicacion) + .Add("@estatus", SqlDbType.Bit).Value = (estatus) + End With + Try + SqlAdapter.Fill(Data) + retorno = True + Catch sqEx As SqlException + retorno = False + OnError("Ocurrió un error al agregar los Movtos Permanentes.", sqEx, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + Catch ex As Exception + retorno = False + OnError("Ocurrió un error al agregar los Movtos Permanentes.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return retorno + End Function + Public Function UpMovtoPermanente(cveMovtoPermanente As Int32, cveConcepto As Int32, cvePersonal As Int32, descripcion As String, tipoDescuento As Int32, valor As Double, vecesAplicar As Int32, montoLimite As Decimal, fechaInicioAplicacion As String, estatus As Boolean) As Boolean + Dim retorno As Boolean = False + DataAdapter("PA_UpMovtoPermanente", CommandType.StoredProcedure) + With SqlAdapter.SelectCommand.Parameters + .Add("@cveMovtoPermanente", SqlDbType.Int).Value = (cveMovtoPermanente) + .Add("@cveConcepto", SqlDbType.Int).Value = (cveConcepto) + .Add("@cvePersonal", SqlDbType.Int).Value = (cvePersonal) + .Add("@descripcion", SqlDbType.VarChar).Value = (descripcion) + .Add("@tipoDescuento", SqlDbType.Int).Value = (tipoDescuento) + .Add("@valor", SqlDbType.Float).Value = (valor) + .Add("@vecesAplicar", SqlDbType.Int).Value = (vecesAplicar) + .Add("@montoLimite", SqlDbType.Decimal).Value = (montoLimite) + .Add("@fechaInicioAplicacion", SqlDbType.VarChar).Value = (fechaInicioAplicacion) + .Add("@estatus", SqlDbType.Bit).Value = (estatus) + End With + Try + SqlAdapter.Fill(Data) + retorno = True + Catch sqEx As SqlException + retorno = False + OnError("Ocurrió un error al agregar los Movtos Permanentes.", sqEx, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + Catch ex As Exception + retorno = False + OnError("Ocurrió un error al agregar los Movtos Permanentes.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return retorno + End Function + Public Function RemoveMovtoPermanente(cveMovtoPermanente As Int32) As Boolean + Dim retorno As Boolean = False + DataAdapter("PA_RemoveMovtoPermanente", CommandType.StoredProcedure) + + With SqlAdapter.SelectCommand.Parameters + .Add("@cveMovtoPermanente", SqlDbType.Int).Value = (cveMovtoPermanente) + End With + Try + SqlAdapter.Fill(Data) + retorno = True + Catch sqEx As SqlException + retorno = False + OnError("Ocurrió un error al agregar los Movtos Permanentes.", sqEx, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + Catch ex As Exception + retorno = False + OnError("Ocurrió un error al agregar los Movtos Permanentes.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return retorno + End Function +#End Region + #Region "IDisposable Support" ' IDisposable Protected Overridable Sub Dispose(ByVal disposing As Boolean) diff --git a/App_Code/ClsRH.vb b/App_Code/ClsRH.vb index 022ef5ff0..b072d702b 100644 --- a/App_Code/ClsRH.vb +++ b/App_Code/ClsRH.vb @@ -131,7 +131,8 @@ Public Class ClsRH Return Retorno End Function - Public Function AddAsistenciasInasistencias(Tipo As String, AplicaFalta As Boolean, AplicaAsistencia As Boolean, CveUsuario As Integer, CveEmpresa As Integer) As Boolean + Public Function AddAsistenciasInasistencias(Tipo As String, AplicaFalta As Boolean, AplicaAsistencia As Boolean, CveUsuario As Integer, CveEmpresa As Integer, + chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo As Boolean, chkAplicaAguinaldo As Boolean, chkAplicaUtilidades As Boolean) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_RH_AsistenciasInasistenciasAdd") @@ -143,6 +144,12 @@ Public Class ClsRH .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@AplicaVacacion", SqlDbType.Bit).Value = chkAplicaVacacion + .Add("@AplicaIncapacidad", SqlDbType.Bit).Value = chkAplicaIncapacidad + .Add("@AplicaRetardo", SqlDbType.Bit).Value = chkAplicaRetardo + .Add("@AplicaAguinaldo", SqlDbType.Bit).Value = chkAplicaAguinaldo + .Add("@AplicaUtilidades", SqlDbType.Bit).Value = chkAplicaUtilidades + End With Try @@ -161,7 +168,8 @@ Public Class ClsRH Return Retorno End Function - Public Function UpdateAsistenciasInasistencias(Tipo As String, AplicaFalta As Boolean, AplicaAsistencia As Boolean, Estatus As Boolean, CveAI As Integer) As Boolean + Public Function UpdateAsistenciasInasistencias(Tipo As String, AplicaFalta As Boolean, AplicaAsistencia As Boolean, Estatus As Boolean, CveAI As Integer, +chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo As Boolean, chkAplicaAguinaldo As Boolean, chkAplicaUtilidades As Boolean) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_RH_AsistenciasInasistenciasUpdate") @@ -172,6 +180,12 @@ Public Class ClsRH .Add("@AplicaAsistencia", SqlDbType.Bit).Value = AplicaAsistencia .Add("@Estatus", SqlDbType.Bit).Value = Estatus .Add("@CveAsistenciasInasistencias", SqlDbType.Int).Value = CveAI + + .Add("@AplicaVacacion", SqlDbType.Bit).Value = chkAplicaVacacion + .Add("@AplicaIncapacidad", SqlDbType.Bit).Value = chkAplicaIncapacidad + .Add("@AplicaRetardo", SqlDbType.Bit).Value = chkAplicaRetardo + .Add("@AplicaAguinaldo", SqlDbType.Bit).Value = chkAplicaAguinaldo + .Add("@AplicaUtilidades", SqlDbType.Bit).Value = chkAplicaUtilidades End With Try diff --git a/Nomina/Finiquito.aspx b/Nomina/Finiquito.aspx index 44af81510..1391076fe 100644 --- a/Nomina/Finiquito.aspx +++ b/Nomina/Finiquito.aspx @@ -190,7 +190,7 @@
    - +