diff --git a/App_Code/ClsBancos.vb b/App_Code/ClsBancos.vb index 7cbae50f4..858a38c2f 100644 --- a/App_Code/ClsBancos.vb +++ b/App_Code/ClsBancos.vb @@ -1497,7 +1497,7 @@ Public Class ClsBancos Return Retorno End Function Public Function UpdateBancos_IE(FechaDocumento As DateTime, FechaAplicado As DateTime?, CveIE As Integer, Optional Folio As String = "-1", Optional CveCuentaDeposito As Integer = -1, Optional CveCuenta As Integer = -1, - Optional Observaciones As String = "-1", Optional CveUsuarioModifico As Integer = -1) As Boolean + Optional Observaciones As String = "-1", Optional CveUsuarioModifico As Integer = -1, Optional CveTipoTransaccion As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Banc_IEUpdate") @@ -1519,6 +1519,7 @@ Public Class ClsBancos .Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones .Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico + .Add("@CveTipoTransaccion", SqlDbType.Int).Value = CveTipoTransaccion End With diff --git a/Ashx/SIGWeb.ashx b/Ashx/SIGWeb.ashx index f191800c0..8875454bd 100644 --- a/Ashx/SIGWeb.ashx +++ b/Ashx/SIGWeb.ashx @@ -559,6 +559,8 @@ Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState ColumnaNombre = "Nombre" End If + Dim EsDistribuidor As Integer = IfNull(context.Request("esdistribuidor"), "-1").ToString.ToEntero + Dim usuario As Usuario = UsuarioActual(context) Dim CveEmpresa As String If IsNothing(usuario) Then @@ -584,6 +586,10 @@ Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState Dim dt As DataTable = DirectCast(context.Application(AppNombre), DataTable) '.FiltraParametros(String.Format("CveEmpresa = {0}", CveEmpresa)) If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then + If EsDistribuidor <> -1 Then + dt = dt.FiltraParametros(String.Format("EsDistribuidor = {0} ", CBool(EsDistribuidor))) + End If + DtRetorno = dt.FiltraParametros(String.Format("NombreComercial like '%{0}%' OR Nombre like '%{0}%' ", Name)) End If dt.Dispose() diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index 1ad24c658..6b6664e00 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -4311,7 +4311,7 @@ Partial Class Bancos_IE Dim CveCuentaDepositoUpdate As Integer = If(DdlCuentaDeposito.SelectedValue.ToEntero.ToEntero = 0, -1, DdlCuentaDeposito.SelectedValue.ToEntero.ToEntero) If Not IE.UpdateBancos_IE(TxtFechaDocumento.Text.ToDate, FechaAplicado, CveIE, TxtFolio.Text, CveCuentaDeposito:=CveCuentaDepositoUpdate, CveCuenta:=DdlCuenta.SelectedValue.ToEntero, - Observaciones:=TxtObservaciones.Text, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then + Observaciones:=TxtObservaciones.Text, CveUsuarioModifico:=UsuarioActual.CveUsuario, CveTipoTransaccion:=DdlTipoTransaccion.SelectedValue.ToEntero) Then OcurrioError = True End If diff --git a/Scripts/custom.js b/Scripts/custom.js index 21e28bd1b..780aa440e 100644 --- a/Scripts/custom.js +++ b/Scripts/custom.js @@ -1201,7 +1201,8 @@ function setwebservice(idDdlWS, idhdValue, idhdText, btn) { Pagina: (!(DdlWS.data('pagina')) || DdlWS.data('pagina') == '') ? '-2' : DdlWS.data('pagina'), ColTexto: (!(DdlWS.data('coltexto')) || DdlWS.data('coltexto') == '') ? 'NC' : DdlWS.data('coltexto'), aplicaparaventa: (!(DdlWS.data('aplicaparaventa')) || DdlWS.data('aplicaparaventa') == '') ? -1 : DdlWS.data('aplicaparaventa'), - cvemarca: (!(DdlWS.data('cvemarca')) || DdlWS.data('cvemarca') == '') ? -1 : DdlWS.data('cvemarca') + cvemarca: (!(DdlWS.data('cvemarca')) || DdlWS.data('cvemarca') == '') ? -1 : DdlWS.data('cvemarca'), + esdistribuidor: (!(DdlWS.data('esdistribuidor')) || DdlWS.data('esdistribuidor') == '') ? -1 : DdlWS.data('esdistribuidor') //Metodo: metodo }; diff --git a/Ventas/PV.aspx.vb b/Ventas/PV.aspx.vb index 39a95f414..ac4b17e03 100644 --- a/Ventas/PV.aspx.vb +++ b/Ventas/PV.aspx.vb @@ -6432,6 +6432,7 @@ Partial Class PV CreaDTmpDTRecepcionUsados() CreaDTmpDTPolizaVirtual() DdlDistribuidor.setEsWebService(True) + DdlDistribuidor.ddlWS.Attributes.Add("data-esdistribuidor", "1") DivChkAjuste.Visible = True UpAjuste.Update() diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index cb4716e0e..d7df65f78 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -1834,6 +1834,15 @@ Partial Class Ventas ViewState("CveEstatus") = value End Set End Property + + Private Property CveEstatusCotizacion As Integer + Get + Return (IfNull(ViewState("CveEstatusCotizacion"), "-1", ViewState("CveEstatusCotizacion"))).ToString().ToEntero() + End Get + Set(value As Integer) + ViewState("CveEstatusCotizacion") = value + End Set + End Property Private Property DiasCredito As Integer Get Return ViewState("DiasCredito").ToString().ToEntero() @@ -2939,6 +2948,18 @@ Partial Class Ventas End If End If + If Request("CveCotizacion") IsNot Nothing AndAlso IfNull(Request("CveCotizacion"), 0).ToString().ToEntero() > 0 Then + If UsuarioActual.Empresa.Funcionalidad(135).Contiene("1", "2") Then + 'VERIFICA SI NO ESTA AUTORIZADA + If CveEstatusCotizacion <> 8 Then + BtnEmitirImprimir.Enabled = False + BtnEmitirImprimir.Visible = False + Alert("La cotización no esta autorizada", TipoMensaje.MsgAdvertencia) + End If + End If + + End If + End If ''EN REALIDAD SE OCUPAN ESTAS COSAS DENTRO DEL POSTABCK ??? @@ -4426,6 +4447,8 @@ Partial Class Ventas ' BtnGenerarRemision.Visible = If(CveEstatus = 10, False, True) ' BtnsFacturar.Visible = True 'End If + ElseIf DbRowVenta("TipoDocto").ToString() = "Cot" AndAlso CveCotizacion > 0 Then + CveEstatusCotizacion = DbRowVenta("CveEstatusFactura").ToString().ToEntero() End If @@ -8207,33 +8230,56 @@ Partial Class Ventas If Not ObjInventario.ActualizarEsDevolucionVenta(ObjFactura.CveVenta, 2) Then ErrorList.Add("No se pudo Cancelar el movimiento de almacen de la Factura") End If - End If - 'MARCAR VENTA ANTERIOR - If Not ObjInventario.ActualizarEsDevolucionVenta(CveDevolucion, 2) Then - ErrorList.Add("No se pudo Cancelar el movimiento de almacen de la Factura") - End If - - 'MARCA LO PENDIENTE A NIVEL DETALLE - Dim DtMovDetalles As DataTable = Nothing - If ObjInventario.GetSaldoVentaDetalle(CveDevolucion, UsuarioActual.CveEmpresa) Then - DtMovDetalles = ObjInventario.DtResultados.Copy() + 'MARCAR VENTA ANTERIOR + If Not ObjInventario.ActualizarEsDevolucionVenta(CveDevolucion, 2) Then + ErrorList.Add("No se pudo Cancelar el movimiento de almacen de la Factura") + End If Else - ErrorList.Add("No se pudo verificar los movimientos de almacen de la factura") - End If + 'MARCA LO PENDIENTE A NIVEL DETALLE + Dim DtMovDetalles As DataTable = Nothing + If ObjInventario.GetSaldoVentaDetalle(CveDevolucion, UsuarioActual.CveEmpresa) Then + DtMovDetalles = ObjInventario.DtResultados.Copy() + Else + ErrorList.Add("No se pudo verificar los movimientos de almacen de la factura") + End If - If DtMovDetalles IsNot Nothing Then - For Each Row As DataRow In DtMovDetalles.Rows - Dim SaldoAlmacen As Decimal = Row("SaldoAlmacen").ToString().ToDecimal() - If SaldoAlmacen < 0 Then - If Not ObjInventario.UpdateEstatusAlmacen(Row("CveVentaDetalleNueva").ToString().ToEntero(), 1) Then - ErrorList.Add("No se pudo actualizar el movimiento de almacen de la factura") + 'MARCAR VENTA ANTERIOR + If Not ObjInventario.ActualizarEsDevolucionVenta(CveDevolucion, 2) Then + ErrorList.Add("No se pudo Cancelar el movimiento de almacen de la Factura") + End If + + If DtMovDetalles IsNot Nothing Then + + Dim CantidadTotal As Decimal = 0 + Dim TotalSalida As Decimal = 0 + + For Each Row As DataRow In DtMovDetalles.Rows + Dim Cantidad As Decimal = Row("Cantidad").ToString().ToDecimal() + Dim SaldoAlmacen As Decimal = Row("SaldoAlmacen").ToString().ToDecimal() + Cantidad += Cantidad + + If SaldoAlmacen < 0 AndAlso Cantidad = Math.Abs(SaldoAlmacen) Then + TotalSalida += Math.Abs(SaldoAlmacen) + If Not ObjInventario.UpdateEstatusAlmacen(Row("CveVentaDetalleNueva").ToString().ToEntero(), 1) Then + ErrorList.Add("No se pudo actualizar el movimiento de almacen de la factura") + End If + End If + Next + + 'SI SE VERIFICA QUE TODO ESTA SURTIDO, SE MARCA TODA LA FACTURA + If CantidadTotal = Total Then + If Not ObjInventario.ActualizarEsDevolucionVenta(ObjFactura.CveVenta, 2) Then + ErrorList.Add("No se pudo Cancelar el movimiento de almacen de la Factura") End If End If - Next + End If + + DtMovDetalles.Dispose() + End If - DtMovDetalles.Dispose() + End If End If @@ -18070,8 +18116,12 @@ Partial Class Ventas If Not UsuarioActual.TienePermisoProceso(60) Then DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Ing")) DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Ant")) - DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Egs")) - DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Dev")) + If Not UsuarioActual.TienePermisoProceso(175) Then + DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Egs")) + End If + If Not UsuarioActual.TienePermisoProceso(264) Then + DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Dev")) + End If End If 'Puede remisionar