diff --git a/Inventarios/TraspasoAlmacen.aspx b/Inventarios/TraspasoAlmacen.aspx index 21c126261..f1c3f6634 100644 --- a/Inventarios/TraspasoAlmacen.aspx +++ b/Inventarios/TraspasoAlmacen.aspx @@ -618,7 +618,7 @@ - + <%-- diff --git a/Inventarios/TraspasoAlmacen.aspx.vb b/Inventarios/TraspasoAlmacen.aspx.vb index ab199856e..747e1a705 100644 --- a/Inventarios/TraspasoAlmacen.aspx.vb +++ b/Inventarios/TraspasoAlmacen.aspx.vb @@ -168,6 +168,14 @@ Partial Class Inventarios_TraspasoAlmacen ViewState("TipoSeccionAlmacen") = value End Set End Property + Private Property FolioBusqueda As Integer + Get + Return CType(ViewState("FolioBusqueda"), Integer) + End Get + Set(value As Integer) + ViewState("FolioBusqueda") = value + End Set + End Property #End Region Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load @@ -1289,14 +1297,16 @@ Partial Class Inventarios_TraspasoAlmacen Dim ObjInventarios As New ClsInventarios Dim Dtt As DataTable = Nothing - If ObjInventarios.GetMovimientosTransitorios(DdlAlmacenRecepcion.SelectedValue.ToEntero, -1, DdlAlmacenTransitorioRecepcion.SelectedValue.ToEntero, -1, If(TxtFolioRecepcion.Text = "", -1, TxtFolioRecepcion.Text.ToEntero), UsuarioActual.CveEmpresa) Then + FolioBusqueda = If(TxtFolioRecepcion.Text = "", -1, TxtFolioRecepcion.Text.ToEntero) + + If ObjInventarios.GetMovimientosTransitorios(DdlAlmacenRecepcion.SelectedValue.ToEntero, -1, DdlAlmacenTransitorioRecepcion.SelectedValue.ToEntero, -1, FolioBusqueda, UsuarioActual.CveEmpresa) Then Dtt = ObjInventarios.DtResultados.FiltraParametros(String.Format("CveTipoAlmacenDestino <> 4")) If TxtFolioRecepcion.Text.Trim <> "" Then CveMovimientoSalida = ObjInventarios.DtResultados.FiltroPrimeroValor("CveMovimiento", "").ToEntero End If - 'CveAlmacenDestino = DdlAlmacenRecepcion.SelectedValue.ToEntero - 'CveAlmacenTransitorio = DdlAlmacenTransitorioRecepcion.SelectedValue.ToEntero + CveAlmacenDestino = DdlAlmacenRecepcion.SelectedValue.ToEntero + CveAlmacenTransitorio = DdlAlmacenTransitorioRecepcion.SelectedValue.ToEntero 'CveUsuarioResponsable = DdlResponsableRecepcion.SelectedValue.ToEntero Else Alert("Ocurrió un error al consultar los movimientos transitorios. Por favor vuelva a intentar.", TipoMensaje.MsgAdvertencia) @@ -1435,7 +1445,14 @@ Partial Class Inventarios_TraspasoAlmacen Protected Sub BtnRecibir_Click(sender As Object, e As EventArgs) If GvDatosRecepcion.Rows.Count > 0 Then + Dim ObjInventarios As New ClsInventarios + Dim Dtt As DataTable = Nothing + If ObjInventarios.GetMovimientosTransitorios(CveAlmacenDestino, -1, CveAlmacenTransitorio, -1, FolioBusqueda, UsuarioActual.CveEmpresa) Then + Dtt = ObjInventarios.DtResultados.FiltraParametros(String.Format("CveTipoAlmacenDestino <> 4"), "", {"Codigo", "Cantidad"}) + End If + + ObjInventarios.Dispose() 'Valida Movimientos Dim ValidaMovtos = 0.0 For Each gvr As GridViewRow In GvDatosRecepcion.Rows @@ -1480,7 +1497,18 @@ Partial Class Inventarios_TraspasoAlmacen Dim CveMovimientoDetalleEntrada As Integer = 0 Dim Cont As Integer = 0 For Each gvr As GridViewRow In GvDatosRecepcion.Rows - If gvr.FCCheckBox("Chk").Checked AndAlso gvr.FCTextBox("TxtCantidad").Text.ToString.ToDecimal > 0 Then + Dim dataRowAux As DataRow = Dtt.FiltroPrimero(String.Format("Codigo = '{0}'", If(gvr.DataKey("Codigo").ToString = "", "0", gvr.DataKey("Codigo").ToString))) + Dim cantidadDisponibleValidacion As Decimal = 0 + + If gvr.DataKey("Codigo").ToString IsNot "" Then + If dataRowAux IsNot Nothing Then + cantidadDisponibleValidacion = dataRowAux.Item("Cantidad").ToString.ToDecimal - gvr.FCTextBox("TxtCantidad").Text.ToString.ToDecimal + Else + cantidadDisponibleValidacion = -1 + End If + End If + + If gvr.FCCheckBox("Chk").Checked AndAlso gvr.FCTextBox("TxtCantidad").Text.ToString.ToDecimal > 0 AndAlso cantidadDisponibleValidacion >= 0 Then CveMovimientoDetalleEntrada = gvr.DataKey("CveMovimientoDetalle").ToString.ToEntero If CveMovimientoDetalleEntrada <= 0 Then @@ -1504,7 +1532,9 @@ Partial Class Inventarios_TraspasoAlmacen Next End If End If - + ElseIf cantidadDisponibleValidacion < 0 Then + TextoError = String.Format("Se exceden la cantidad disponibles para {0}", gvr.DataKey("PS").ToString) + ErrorMovInv = True End If Cont += 1 Next