diff --git a/Inventarios/InventarioFisicoDetalle.aspx b/Inventarios/InventarioFisicoDetalle.aspx
index c702804ee..48a1e6086 100644
--- a/Inventarios/InventarioFisicoDetalle.aspx
+++ b/Inventarios/InventarioFisicoDetalle.aspx
@@ -240,23 +240,23 @@
-
-
+
@@ -325,7 +325,7 @@
-
+
@@ -349,7 +349,7 @@
-
+
diff --git a/Inventarios/InventarioFisicoDetalle.aspx.vb b/Inventarios/InventarioFisicoDetalle.aspx.vb
index 208728062..3bfb676f9 100644
--- a/Inventarios/InventarioFisicoDetalle.aspx.vb
+++ b/Inventarios/InventarioFisicoDetalle.aspx.vb
@@ -88,10 +88,8 @@ Partial Class Inventarios_InventarioFisicoDetalle
#Region " CARGA DATOS "
Private Sub CargaDatos(CveInventarioFisico As Integer, CveEmpresa As Integer, Optional CveUsuario As Integer = -1)
- Dim ObjInventario As New ClsInventarios
- DdlSeccionAlmacen.DataSource = GlobalDTSeccionAlmacen(UsuarioActual.CveEmpresa, -1)
- DdlSeccionAlmacen.DataBind()
- DdlSeccionAlmacen.Items.Insert(0, New ListItem("Seleccione", "-1"))
+ Dim ObjInventario As New ClsInventarios
+
If ObjInventario.GetInventarioFisico(CveInventarioFisico, CveEmpresa, -1, -1) AndAlso ObjInventario.DtResultados.Rows.Count > 0 Then
Dim CveEstatus = ObjInventario.DtResultados.FiltroPrimeroValor("CveEstatus")
Select Case CveEstatus
@@ -230,9 +228,9 @@ Partial Class Inventarios_InventarioFisicoDetalle
Dim Inventario As New ClsInventarios
If Inventario.GetInventarioFisicoDetalle(CveInventarioFisico, ddlUsuario.SelectedValue.ToString.ToEntero) Then
If Inventario.DtResultados.Rows.Count > 0 Then
- GvIFD.Columns(4).Visible = Inventario.DtResultados.MAX("CveSeccionAlmacen") > 0
+ GvIFD.Columns(4).Visible = Inventario.DtResultados.MAX("CveSeccionAlmacen", "CveSeccionAlmacen IS NOT NULL").ToEntero > 0
GvIFD.Columns(6).Visible = Inventario.DtResultados.MAX("Lote") <> ""
- GvIFD.Columns(7).Visible = Inventario.DtResultados.MAX("FechaCaducidad").ToDate > MinFecha
+ GvIFD.Columns(7).Visible = Inventario.DtResultados.MAX("FechaCaducidad", "FechaCaducidad IS NOT NULL").ToDate > MinFecha
GvIFD.DataSource = Inventario.DtResultados '.AsEnumerable.OrderByDescending(Function(k) k!CveInventarioFisicoDetalle).Take(500).CopyToDataTable
Else
GvIFD.DataSource = Nothing
@@ -259,48 +257,83 @@ Partial Class Inventarios_InventarioFisicoDetalle
Dim CveUnidadMedida As Integer
Dim Codigo As String = If(TxtCodigo.Text.Trim <> "", TxtCodigo.Text.Trim, "-1").Replace("'", "''") ' scanner cambian los guiones por apostrofes
Dim CodigoBarras As String = If(TxtCodigoBarras.Text.Trim <> "", TxtCodigoBarras.Text.Trim, "-1").Replace("'", "''") ' scanner cambian los guiones por apostrofes
- Dim SeccionAlmacen As String = If(DdlSeccionAlmacen.SelectedValue.ToEntero > -1, DdlSeccionAlmacen.SelectedItem.Text, "")
- Dim CveSeccionAlmacen As Integer = If(DdlSeccionAlmacen.SelectedValue.ToEntero > 0, DdlSeccionAlmacen.SelectedValue.ToEntero, -1)
- Dim SerieLote As String = TxtCodigoSerie.Text.Trim
+ Dim Serie As String = TxtCodigoSerie.Text.Trim
Dim Lote As String = If(TxtLote.Text.Length > 0, TxtLote.Text, "-1")
- Dim FechaCaducidad As String = If(TxtFechaCaducidad.Text.Length > 0, TxtFechaCaducidad.Text, MinFecha.ToString)
- Dim CveMetodoInv As Integer = -1
+ Dim FechaCaducidad As String=MinFecha.ToString
+ Dim CveSeccionAlmacen As Integer = -1
+
Dim Cantidad = TxtCantidadProducto.Text.ToDouble
Dim dr As DataRow
- dr = GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimero($"CodigoBarras = '{CodigoBarras}' OR Codigo = '{Codigo}' ")
-
- If dr IsNot Nothing Then
- CveMetodoInv = dr("Inv_CveMetodoInventario").ToString.ToEntero
+ 'dr = GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimero($"CodigoBarras = '{CodigoBarras}' OR Codigo = '{Codigo}' ")
+ dr = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltroPrimero($"CodigoBarras = '{CodigoBarras}' OR Codigo = '{Codigo}'")
+
+
+
+ If dr IsNot Nothing Then
+
CveProducto = dr("CvePS").ToString.ToEntero
- CveUnidadMedida = dr("CveUnidadMedida").ToString.ToEntero
+ CveUnidadMedida = dr("CveUnidadMedida").ToString.ToEntero
+ 'Dim AplicaSeccion As Boolean = dr("AplicaSeccion") = "1"
+ Dim AplicaCaducidad As Boolean = dr("AplicaCaducidad") = "1"
+ Dim AplicaLote As Boolean = dr("AplicaLote") = "1"
+ Dim AplicaSerie As Boolean = dr("AplicaSerie") = "1"
+
+ 'divSeccionAlmacen.Visible = AplicaSeccion
+ divLote.Visible = AplicaLote
+ divFechaCaducidad.Visible = AplicaCaducidad
+ divSerie.Visible = AplicaSerie
+ UPAgregarPro.Update()
- If CveMetodoInv = 5 And SerieLote = "" Then
+ If AplicaSerie And Serie = "" Then
RFVSerie.Enabled = True
RFVSerie.Visible = True
RFVSerie.SetFocusOnError = True
RFVSerie.Validate()
RFVSerie.ValidationGroup = " "
Exit Sub
+ End If
+ If AplicaLote And Lote = "" Then
+ RFVLote.Enabled = True
+ RFVLote.Visible = True
+ RFVLote.SetFocusOnError = True
+ RFVLote.Validate()
+ RFVLote.ValidationGroup = " "
+ Exit Sub
End If
+ If AplicaCaducidad Then
+ If TxtFechaCaducidad.Text.Trim = "" Then
+ RFVCaducidad.Enabled = True
+ RFVCaducidad.Visible = True
+ RFVCaducidad.SetFocusOnError = True
+ RFVCaducidad.Validate()
+ RFVCaducidad.ValidationGroup = " "
+ Exit Sub
+ End If
+ FechaCaducidad = If(TxtFechaCaducidad.Text.Length > 0, TxtFechaCaducidad.Text, MinFecha.ToString)
+ End If
RFVSerie.ValidationGroup = "GrpIngresar"
RFVSerie.Enabled = False
-
- 'VALIDA QUE LA SERIE NO SEA IGUAL AL CODIGO O CODIGOBARRAS
- If SerieLote <> "" And (SerieLote.ToUpper = dr("Codigo").ToString.ToUpper Or SerieLote.ToUpper = dr("CodigoBarras").ToString.ToUpper) Then
- Alert($"La serie indicada {SerieLote} coincide con el codigo o codigo de barras del producto. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
+ RFVLote.ValidationGroup = "GrpIngresar"
+ RFVLote.Enabled = False
+ RFVCaducidad.ValidationGroup = "GrpIngresar"
+ RFVCaducidad.Enabled = False
+
+ 'VALIDA QUE LA SERIE NO SEA IGUAL AL CODIGO O CODIGOBARRAS
+ If Serie <> "" And (Serie.ToUpper = dr("Codigo").ToString.ToUpper Or Serie.ToUpper = dr("CodigoBarras").ToString.ToUpper) Then
+ Alert($"La serie indicada {Serie} coincide con el codigo o codigo de barras del producto. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
Dim Consulto As Boolean = False
Using Inventarios As New ClsInventarios
- If Inventarios.AddInventarioFisicoDetalle(CveInventarioFisico, CveProducto, CveUnidadMedida, If(CveMetodoInv = 5, 1, Cantidad), SerieLote, UsuarioActual.CveUsuario,
- CveSeccionAlmacen:=CveSeccionAlmacen, Lote:=Lote, FechaCaducidad:=FechaCaducidad.ToDate) Then
+ If Inventarios.AddInventarioFisicoDetalle(CveInventarioFisico, CveProducto, CveUnidadMedida, If(AplicaSerie, 1, Cantidad), Serie, UsuarioActual.CveUsuario,
+ CveSeccionAlmacen:=-1, Lote:=Lote, FechaCaducidad:=FechaCaducidad.ToDate) Then
GvIFDUltimoRegistrado.Columns(4).Visible = CveSeccionAlmacen > 0
- GvIFDUltimoRegistrado.Columns(5).Visible = SerieLote <> "-1"
+ GvIFDUltimoRegistrado.Columns(5).Visible = Serie <> "-1"
GvIFDUltimoRegistrado.Columns(6).Visible = Lote <> "-1"
GvIFDUltimoRegistrado.Columns(7).Visible = FechaCaducidad <> "01/01/1900"
@@ -310,7 +343,7 @@ Partial Class Inventarios_InventarioFisicoDetalle
GvIFDUltimoRegistrado.Rows(0).Cells(1).Text = dr("CodigoBarras").ToString
GvIFDUltimoRegistrado.Rows(0).Cells(2).Text = dr("Codigo").ToString
GvIFDUltimoRegistrado.Rows(0).Cells(3).Text = dr("PS").ToString
- GvIFDUltimoRegistrado.Rows(0).Cells(4).Text = SeccionAlmacen
+ GvIFDUltimoRegistrado.Rows(0).Cells(4).Text = ""
GvIFDUltimoRegistrado.Rows(0).Cells(5).Text = TxtCodigoSerie.Text.Trim
GvIFDUltimoRegistrado.Rows(0).Cells(6).Text = Lote
GvIFDUltimoRegistrado.Rows(0).Cells(7).Text = FechaCaducidad
@@ -332,9 +365,11 @@ Partial Class Inventarios_InventarioFisicoDetalle
TxtCodigoSerie.Text = ""
TxtCodigo.Text = ""
TxtCantidadProducto.Text = "1"
- DdlSeccionAlmacen.SelectedValue = "-1"
TxtLote.Text = ""
TxtFechaCaducidad.Text = ""
+ divLote.Visible = False
+ divFechaCaducidad.Visible = False
+ divSerie.Visible = False
RegistraScript("playsonidito('beep-07.wav')")
Else
TxtCodigoSerie.Text = ""
@@ -346,8 +381,10 @@ Partial Class Inventarios_InventarioFisicoDetalle
Else
TxtCodigoBarras.Text = ""
TxtCodigoSerie.Text = ""
- TxtCodigo.Text = ""
- DdlSeccionAlmacen.SelectedValue = "-1"
+ TxtCodigo.Text = ""
+ divLote.Visible = False
+ divFechaCaducidad.Visible = False
+ divSerie.Visible = False
TxtLote.Text = ""
TxtFechaCaducidad.Text = ""
Alert("No se encontró el producto, favor de escribirlo correctamente.", TipoMensaje.MsgError)
@@ -530,7 +567,7 @@ Partial Class Inventarios_InventarioFisicoDetalle
Dim AplicaLote As Boolean = Producto("AplicaLote") = "1"
Dim AplicaSerie As Boolean = Producto("AplicaSerie") = "1"
- divSeccionAlmacen.Visible = AplicaSeccion
+ 'divSeccionAlmacen.Visible = AplicaSeccion
divLote.Visible = AplicaLote
divFechaCaducidad.Visible = AplicaCaducidad
divSerie.Visible = AplicaSerie
diff --git a/Inventarios/RepAnomalias.aspx b/Inventarios/RepAnomalias.aspx
index 8d3185711..3751b969e 100644
--- a/Inventarios/RepAnomalias.aspx
+++ b/Inventarios/RepAnomalias.aspx
@@ -200,7 +200,7 @@
-
+
@@ -234,7 +234,7 @@
-
+
diff --git a/Inventarios/RepAnomalias.aspx.vb b/Inventarios/RepAnomalias.aspx.vb
index a239ccbab..a71900ab2 100644
--- a/Inventarios/RepAnomalias.aspx.vb
+++ b/Inventarios/RepAnomalias.aspx.vb
@@ -275,7 +275,7 @@ Partial Class Inventarios_RepAnomalias
Private Sub BanderaSerieLoteCad(Gv As GridView, resultado As DataTable)
Gv.Columns(4).Visible = resultado.MAX("Serie") <> ""
Gv.Columns(5).Visible = resultado.MAX("Lote") <> ""
- Gv.Columns(6).Visible = resultado.MAX("FechaCaducidad") <> ""
+ Gv.Columns(6).Visible = resultado.MAX("FechaCaducidad").ToDate > MinFecha
End Sub
End Class