diff --git a/Inventarios/RepApartados.aspx b/Inventarios/RepApartados.aspx index c9cbef7a0..36216384a 100644 --- a/Inventarios/RepApartados.aspx +++ b/Inventarios/RepApartados.aspx @@ -106,7 +106,7 @@
- + @@ -175,5 +175,29 @@
+ diff --git a/Inventarios/RepApartados.aspx.vb b/Inventarios/RepApartados.aspx.vb index cb2b86a4d..d2d984085 100644 --- a/Inventarios/RepApartados.aspx.vb +++ b/Inventarios/RepApartados.aspx.vb @@ -200,9 +200,10 @@ Partial Class Inventarios_RepApartados End If If e.Row.DBCampo("IDGPO").ToString.ToEntero = 3 Then - If e.Row.DBCampo("CveVendedor").ToEntero() = UsuarioActual.CveVendedor Then + If DdlSubProyectos.SelectedValue.ToEntero() > 0 AndAlso e.Row.DBCampo("CveVendedor").ToEntero() = UsuarioActual.CveVendedor Then e.Row.FCTextBox("TxtCantidad").Visible = True e.Row.FCRangeValidator("RVCantidad").Visible = True + e.Row.FCTextBox("TxtCantidad").Attributes.Add("onkeyup", $"LimitaCantidad({e.Row.FCTextBox("TxtCantidad").ClientID},{e.Row.DBCampo("Cantidad").ToEntero});") End If End If @@ -271,7 +272,7 @@ Partial Class Inventarios_RepApartados End If If Not GvDatos.Rows.Cast(Of GridViewRow).Any(Function(gvr) gvr.FCTextBox("TxtCantidad").Text.ToEntero() > 0) Then - Alert("No se ha seleccionado ningun cliente", TipoMensaje.MsgAdvertencia) + Alert("No se ha seleccionado ningun producto para realizar el traspaso", TipoMensaje.MsgAdvertencia) Exit Sub End If @@ -298,6 +299,10 @@ Partial Class Inventarios_RepApartados 'CUADRA LOS LOS PRODUCTOS CON LO QUE SE PUEDE DESAPARTAR Dim DtDetalleTraspasar As DataTable = CuadrarMovimientosApartado(CveAlmacenApartado, Row("CveCliente").ToString().ToEntero(), Row("CveVendedor").ToString().ToEntero(), DtPSTraspasar, ObjInventario) + If DtDetalleTraspasar.Rows.Count = 0 Then + ErrorMovInv = True + Mensaje.Append("No se encontraron productos para realizar el traspaso.") + End If DtPSTraspasar.Dispose() Dim MovSalida = GenerarMovimientoAlmacen(CveAlmacenApartado, 8, Row("CveVendedor").ToString().ToEntero(), Row("CveCliente").ToString().ToEntero(), -1, TxtObs.Text.Trim(), DtDetalleTraspasar, ObjInventario, "RepApar/1") @@ -316,8 +321,12 @@ Partial Class Inventarios_RepApartados If Not ErrorMovInv Then EntradasAlmacen.Add(MovEntrada) + Else + Mensaje.Append("No se pudo generar el movimiento de apartado.") End If - + Else + Mensaje.Append("No se pudo generar el movimiento de desapartado.") + Exit For End If Next @@ -367,19 +376,24 @@ Partial Class Inventarios_RepApartados End If If DtRetorno IsNot Nothing Then - For Each RowCantidad As DataRow In DtPSTraspasar.Rows + For Each RowTraspasar As DataRow In DtPSTraspasar.Rows Dim Filtro As New StringBuilder - Filtro.AppendFormat("CvePS={0}", RowCantidad("CvePS")) + Filtro.AppendFormat("CvePS={0}", RowTraspasar("CvePS")) 'SI TIENE SERIE LA AGREGA AL FILTRO - If Not String.IsNullOrEmpty(RowCantidad("Serie").ToString()) Then - Filtro.AppendFormat("AND Serie='{0}'", RowCantidad("Serie")) + If Not String.IsNullOrEmpty(RowTraspasar("Serie").ToString()) Then + Filtro.AppendFormat(" AND Serie='{0}'", RowTraspasar("Serie")) Else - Filtro.AppendFormat("AND ISNULL(Serie,'') = ''") + Filtro.AppendFormat(" AND ISNULL(Serie,'') = ''") + End If + + 'FILTRA EL MOVIMIENTO DE APARTADO ORIGINAL + If Not String.IsNullOrEmpty(RowTraspasar("CveMovimientoDetalleEntrada").ToString()) Then + Filtro.AppendFormat(" AND CveMovimientoDetalle={0}", RowTraspasar("CveMovimientoDetalleEntrada")) End If Dim RowDesapartado As DataRow = DtDesapartado.Select(Filtro.ToString()).FirstOrDefault() - RowDesapartado("Cantidad") = RowCantidad("Cantidad") + RowDesapartado("Cantidad") = RowTraspasar("Cantidad") DtRetorno.Rows.Add(RowDesapartado.ItemArray) Next @@ -396,6 +410,7 @@ Partial Class Inventarios_RepApartados Dt.Columns.Add(New DataColumn("Serie", GetType(String))) Dt.Columns.Add(New DataColumn("CveCliente", GetType(Integer))) Dt.Columns.Add(New DataColumn("CveVendedor", GetType(Integer))) + Dt.Columns.Add(New DataColumn("CveMovimientoDetalleEntrada", GetType(Integer))) For Each GvRow As GridViewRow In GvDatos.Rows.Cast(Of GridViewRow).Where(Function(gvr) gvr.FCTextBox("TxtCantidad").Text.ToEntero() > 0) Dim Row As DataRow = Dt.NewRow @@ -405,6 +420,7 @@ Partial Class Inventarios_RepApartados Row("Serie") = GvRow.DataKey("Serie") Row("CveCliente") = GvRow.DataKey("CveCliente").ToEntero() Row("CveVendedor") = GvRow.DataKey("CveVendedor").ToEntero() + Row("CveMovimientoDetalleEntrada") = GvRow.DataKey("CveMovimientoDetalleEntrada").ToEntero() Dt.Rows.Add(Row) Next