diff --git a/Inventarios/EntradasSalidas.aspx b/Inventarios/EntradasSalidas.aspx
index 7d192b3dd..976d4a772 100644
--- a/Inventarios/EntradasSalidas.aspx
+++ b/Inventarios/EntradasSalidas.aspx
@@ -546,6 +546,14 @@
+
+
+
+
+
+
+
+ |
diff --git a/Inventarios/EntradasSalidas.aspx.vb b/Inventarios/EntradasSalidas.aspx.vb
index b933ebc07..832652772 100644
--- a/Inventarios/EntradasSalidas.aspx.vb
+++ b/Inventarios/EntradasSalidas.aspx.vb
@@ -1190,7 +1190,7 @@ Partial Class Inventarios_EntradasSalidas
End Sub
- Protected Sub AddNew(CvePS As Integer, PS As String, CveUM As Integer, UM As String, Cantidad As Double, PU As Double, SerieLote As String, CodigoAF As String, Codigo As String, CveAF As String, Observaciones As String, Lote As String, FechaCaducidad As Date, CveSeccionAlmacen As Integer, SeccionAlmacen As String)
+ Protected Sub AddNew(CvePS As Integer, PS As String, CveUM As Integer, UM As String, Cantidad As Double, PU As Double, Serie As String, CodigoAF As String, Codigo As String, CveAF As String, Observaciones As String, Lote As String, FechaCaducidad As Date, CveSeccionAlmacen As Integer, SeccionAlmacen As String)
If DdlAlmacen.SelectedValue.ToEntero <= 0 Then Alert("Seleccione un almacen", TipoMensaje.MsgAdvertencia) : RegistraScript("playsonidito('142608__autistic-lucario__error.wav')") : DdlProducto2.SelectedText = "" : Exit Sub
Dim Valido As Boolean = True
@@ -1201,7 +1201,7 @@ Partial Class Inventarios_EntradasSalidas
Dim FechaCaducidadVal As Date = If(RowPS("AplicaCaducidad").ToString = "True", FechaCaducidad, MinFecha)
- If CveMetodoInventario = 5 And (String.IsNullOrEmpty(SerieLote.Trim()) OrElse SerieLote = "-1") Then
+ If CveMetodoInventario = 5 And (String.IsNullOrEmpty(Serie.Trim()) OrElse Serie = "-1") Then
Valido = False
Alert("El producto requiere Serie", TipoMensaje.MsgAdvertencia)
End If
@@ -1209,9 +1209,9 @@ Partial Class Inventarios_EntradasSalidas
'salida
If Valido AndAlso DdlConcepto.SelectedValue.Contiene({"3", "5", "7", "8", "11", "12", "13", "15", "16", "17", "20", "21", "30", "31"}) Then ' salida de almacen
- Dim Existencia As Double = GetExistencias(CvePS, CveUM, UsuarioActual.CveEmpresa, DdlAlmacen.SelectedValue.ToEntero, -1, If(SerieLote = "", "-1", SerieLote), If(Lote = "", "-1", Lote), FechaCaducidadVal)
+ Dim Existencia As Double = GetExistencias(CvePS, CveUM, UsuarioActual.CveEmpresa, DdlAlmacen.SelectedValue.ToEntero, -1, If(Serie = "", "-1", Serie), If(Lote = "", "-1", Lote), FechaCaducidadVal)
' LbAgregar.ToolTip = Existencia.ToString
- If Existencia - Cantidad - DtMovimientos.SUM("Cantidad", $"CvePS = {CvePS} AND CveUM = {CveUM} {If(SerieLote <> "", $" AND Serie = '{SerieLote}'", "")}") < 0 Then
+ If Existencia - Cantidad - DtMovimientos.SUM("Cantidad", $"CvePS = {CvePS} AND CveUM = {CveUM} {If(Serie <> "", $" AND Serie = '{Serie}'", "")}") < 0 Then
If Existencia <= 0 Then
Alert("No hay existencia del producto", TipoMensaje.MsgAdvertencia)
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
@@ -1230,12 +1230,12 @@ Partial Class Inventarios_EntradasSalidas
If Valido Then
Dim CveClasificacion As Integer
- Dim dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS).FiltroPrimero("", "PS")
- If dr IsNot Nothing Then CveClasificacion = dr("CveClasificacion").ToString.ToEntero
+ 'Dim dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS).FiltroPrimero("", "PS")
+ If RowPS IsNot Nothing Then CveClasificacion = RowPS("CveClasificacion").ToString.ToEntero
'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)
+ If Serie <> "" And (Serie.ToUpper = RowPS("Codigo").ToString.ToUpper Or Serie.ToUpper = RowPS("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
@@ -1258,7 +1258,7 @@ Partial Class Inventarios_EntradasSalidas
registro.Item("CodigoAF") = CodigoAF
registro.Item("Codigo") = Codigo
registro.Item("CveAF") = CveAF
- registro.Item("Serie") = If(SerieLote <> "", SerieLote, "")
+ registro.Item("Serie") = If(Serie <> "", Serie, "")
registro.Item("Lote") = If(Lote <> "", Lote, "")
registro.Item("FechaCaducidad") = FechaCaducidad
registro.Item("Observaciones") = Observaciones
@@ -2938,6 +2938,7 @@ Partial Class Inventarios_EntradasSalidas
End If
TdSeriePS.Visible = False
+ TdSeccionPSAdd.Visible = False
Dim Dr = GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimero($"CodigoBarras= '{TxtCodigoPS.Text}'")
If Dr Is Nothing Then
@@ -2947,7 +2948,7 @@ Partial Class Inventarios_EntradasSalidas
Exit Sub
End If
- If Dr("Inv_CveMetodoInventario").ToString.ToEntero = 5 Then
+ If Dr("AplicaSerie").ToString = "True" Then
TdSeriePSAdd.Visible = True
TxtSeriePS.Focus()
CvePSSerieLote = Dr("CvePS").ToString.ToEntero
@@ -2956,8 +2957,32 @@ Partial Class Inventarios_EntradasSalidas
UMSerieLote = Dr("UnidadMedida").ToString
Exit Sub
End If
+ Dim CveSeccionAlmacen As Integer = -1
+ Dim SeccionAlmacen As String = ""
- AddNew(Dr("CvePS").ToString.ToEntero, Dr("PSCodigo").ToString, Dr("CveUM").ToString.ToEntero, Dr("UnidadMedida").ToString, 1, Dr("CostoPromedio").ToString.ToDouble, "", "", "", "", "", "", MinFecha, -1, "")
+ If Dr("AplicaSeccion").ToString = "True" Then
+ If DdlAlmacen.SelectedValue.ToEntero <= 1 Then
+ Alert("No se ha especificado el almacen para especificar la sección", TipoMensaje.MsgError)
+ Exit Sub
+ End If
+ DdlSeccionPSAdd.Items.Clear()
+ Dim dtt As DataTable = GlobalDTInvPSSeccionesAlmacen(UsuarioActual.CveEmpresa, DdlAlmacen.SelectedValue.ToEntero, Dr("CvePS").ToString.ToEntero)
+ DdlSeccionPSAdd.DataSource = dtt
+ DdlSeccionPSAdd.DataBind()
+ If dtt.Rows.Count > 1 Then
+ DdlSeccionPSAdd.Items.Insert(0, New ListItem("Seleccione", "-1"))
+ ' si solo hay un movimiento, debe de agregar, sino debe de esperar a que seleccionen
+ Exit Sub
+ DdlSeccionPSAdd.Focus()
+ TdSeccionPSAdd.Visible = True
+ Else
+ CveSeccionAlmacen = DdlSeccionPSAdd.SelectedValue.ToEntero
+ SeccionAlmacen = DdlSeccionPSAdd.SelectedItem.Text
+ End If
+
+ End If
+
+ AddNew(Dr("CvePS").ToString.ToEntero, Dr("PSCodigo").ToString, Dr("CveUM").ToString.ToEntero, Dr("UnidadMedida").ToString, 1, Dr("CostoPromedio").ToString.ToDouble, "", "", "", "", "", "", MinFecha, CveSeccionAlmacen, SeccionAlmacen)
TxtCodigoPS.Text = ""
TxtCodigoPS.Focus()
@@ -2968,6 +2993,11 @@ Partial Class Inventarios_EntradasSalidas
If TxtSeriePS.Text.Trim = "" Then
Exit Sub
End If
+ If TdSeccionPSAdd.Visible Then
+ If DdlSeccionAlmacen.SelectedValue.ToEntero <= 0 Then
+ Exit Sub
+ End If
+ End If
AddNew(CvePSSerieLote, PSSerieLote, CveUMSerieLote, UMSerieLote, 1, 0, TxtSeriePS.Text.Trim, "", "", "", "", "", MinFecha, -1, "")