-
@@ -440,6 +438,8 @@
+
+ |
@@ -450,8 +450,7 @@
|
-
-
+
-
-
-
+
+
+
|
@@ -500,7 +499,7 @@
-
+
diff --git a/Inventarios/TraspasoAlmacen.aspx.vb b/Inventarios/TraspasoAlmacen.aspx.vb
index 112423916..224a080b1 100644
--- a/Inventarios/TraspasoAlmacen.aspx.vb
+++ b/Inventarios/TraspasoAlmacen.aspx.vb
@@ -158,7 +158,6 @@ Partial Class Inventarios_TraspasoAlmacen
ViewState("FolioBusqueda") = value
End Set
End Property
-
Private Property ArchivoBitacora As String
Get
Return CType(ViewState("ArchivoBitacora"), String)
@@ -167,6 +166,17 @@ Partial Class Inventarios_TraspasoAlmacen
ViewState("ArchivoBitacora") = value
End Set
End Property
+ Private Property SeleccionLoteCaducidadCombo As Boolean
+ Get
+ If ViewState("SeleccionLoteCaducidadCombo") Is Nothing Then
+ ViewState("SeleccionLoteCaducidadCombo") = False
+ End If
+ Return CType(ViewState("SeleccionLoteCaducidadCombo"), Boolean)
+ End Get
+ Set(value As Boolean)
+ ViewState("SeleccionLoteCaducidadCombo") = value
+ End Set
+ End Property
#End Region
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
@@ -212,6 +222,8 @@ Partial Class Inventarios_TraspasoAlmacen
DivTransitorio2.Visible = True
End If
+ If UsuarioActual.Empresa.Funcionalidad(578) = "1" Then SeleccionLoteCaducidadCombo = True
+
'If UsuarioActual.CveEmpresa.Contiene(141, 152, 158, 159, 160, 161, 162, 163) Then
' ChkEmitirTimbrado.Visible = False
' divEmitir.Visible = False
@@ -605,7 +617,7 @@ Partial Class Inventarios_TraspasoAlmacen
End If
Dim DrPS As DataRow = Nothing
- DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CveProducto).FiltroPrimero("") ' Estado = -1
+ DrPS = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CveProducto).FiltroPrimero("") ' Estado = -1
If DrPS IsNot Nothing Then
@@ -618,9 +630,16 @@ Partial Class Inventarios_TraspasoAlmacen
End If
If DrPS("AplicaCaducidad").ToString = "True" Then
- If Not ChkSugiereFechaCaducidad.Checked AndAlso (TxtnFechaCaducidad.Text = "" OrElse TxtnLote.Text = "") Then
- Alert("Falta Especificar lote/Fecha del producto", TipoMensaje.MsgAdvertencia)
- Exit Sub
+ If SeleccionLoteCaducidadCombo Then
+ If DdlLoteFechaCaducidad.SelectedValue = "|" Then
+ Alert("Falta Especificar lote/Fecha del producto", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+ Else
+ If Not ChkSugiereFechaCaducidad.Checked AndAlso (TxtnFechaCaducidad.Text = "" OrElse TxtnLote.Text = "") Then
+ Alert("Falta Especificar lote/Fecha del producto", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
End If
End If
@@ -647,14 +666,9 @@ Partial Class Inventarios_TraspasoAlmacen
If CantidadRestante <= 0 Then Exit For
Next
End If
-
End If
-
ObjInventarios.Dispose()
-
Else
-
- 'codigo temporal
Dim tLote As String
Dim tCaducidad As Date
@@ -662,17 +676,19 @@ Partial Class Inventarios_TraspasoAlmacen
tCaducidad = If(TxtnFechaCaducidad.Visible, TxtnFechaCaducidad.Text.ToDate, MinFecha)
Dim tSerie As String = If(TxtnSerie.Visible, TxtnSerie.Text, "-1").Trim
+ If SeleccionLoteCaducidadCombo Then
+ Dim ArrayCaducidad As String() = DdlLoteFechaCaducidad.SelectedValue.Split("|"c)
+ tLote = ArrayCaducidad(0)
+ tCaducidad = ArrayCaducidad(1).ToDate
+ End If
Dim Valido As Boolean = ValidaExistencia(Cantidad, CveProducto, DdlUnidad.SelectedValue.ToEntero, DdlSeccionAlmacen.SelectedValue.ToEntero, tSerie, tLote, tCaducidad)
If Valido Then
AgregarPS(Cantidad, CveProducto, DdlUnidad.SelectedValue.ToEntero, TxtnObservaciones.Text, CveSeccionAlmacen:=DdlSeccionAlmacen.SelectedValue.ToEntero, SeccionAlmacen:=DdlSeccionAlmacen.SelectedItem.Text, Serie:=If(TxtnSerie.Visible, TxtnSerie.Text, ""), Lote:=If(tLote = "-1", "", tLote), FechaCaducidad:=tCaducidad, CveSeccionAlmacenDestino:=DdlSeccionAlmacenDestino.SelectedValue.ToEntero, Limpia:=FuncionalidadSinSerie)
End If
-
End If
-
End If
-
End If
End Sub
Private Function ValidaExistencia(Cantidad As Decimal, CvePS As Integer, CveUnidadMedida As Integer, CveSeccionAlmacen As Integer, Serie As String, Lote As String, FechaCaducidad As Date) As Boolean
@@ -737,7 +753,6 @@ Partial Class Inventarios_TraspasoAlmacen
End If
Dim CveClasificacion As Integer
-
Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("")
If ChkEmitirTimbrado.Checked AndAlso ChkEmitirCartaPorte.Checked Then
@@ -1369,36 +1384,46 @@ Partial Class Inventarios_TraspasoAlmacen
TxtnFechaCaducidad.Visible = False
If DdlProducto2.SelectedValue.ToEntero > 0 Then
- Dim drP As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlProducto2.SelectedValue.ToEntero).FiltroPrimero("", "PS")
+ Dim drP As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=DdlProducto2.SelectedValue.ToEntero).FiltroPrimero("", "PS")
If drP IsNot Nothing Then
ThSeccionAlmacen.Visible = CBool(drP("AplicaSeccion"))
TdSeccionAlmacen.Visible = CBool(drP("AplicaSeccion"))
DdlSeccionAlmacen.Visible = CBool(drP("AplicaSeccion"))
- 'GvDatos.Columns(5).Visible = CBool(drP("AplicaSeccion"))
Dim AplicaSerie As Boolean = CBool(drP("AplicaSerie"))
-
ThSerie.Visible = AplicaSerie
TdSerie.Visible = AplicaSerie
TxtnSerie.Visible = AplicaSerie
- 'GvDatos.Columns(6).Visible = CBool(drP("AplicaSerie"))
-
- TxtnLote.Visible = CBool(drP("AplicaLote"))
- ThLote.Visible = CBool(drP("AplicaLote"))
- TdLote.Visible = CBool(drP("AplicaLote"))
- 'GvDatos.Columns(7).Visible = CBool(drP("AplicaLote"))
-
-
- TxtnFechaCaducidad.Visible = CBool(drP("AplicaCaducidad"))
- ThFechaCaducidad.Visible = CBool(drP("AplicaCaducidad"))
- If Not String.IsNullOrWhiteSpace(UsuarioActual.Empresa.Funcionalidad(147)) Then ThFechaCaducidad.InnerText = UsuarioActual.Empresa.Funcionalidad(147)
- 'ThFechaCaducidad.InnerText = If(UsuarioActual.Empresa.Funcionalidad(147) = "Fecha Elaboración", "Fecha Elaboración", "Fecha Caducidad")
- TdFechaCaducidad.Visible = CBool(drP("AplicaCaducidad"))
- 'GvDatos.Columns(8).Visible = CBool(drP("AplicaCaducidad"))
+ If SeleccionLoteCaducidadCombo AndAlso (CBool(drP("AplicaLote")) OrElse CBool(drP("AplicaCaducidad"))) Then
+ TxtnLote.Visible = False
+ ThLote.Visible = CBool(drP("AplicaLote"))
+ TdLote.Visible = CBool(drP("AplicaLote"))
+ TxtnFechaCaducidad.Visible = False
+ ThFechaCaducidad.Visible = CBool(drP("AplicaCaducidad"))
+ TdFechaCaducidad.Visible = CBool(drP("AplicaCaducidad"))
+ tbFechaCaducidad.Visible = False
+ DdlLoteFechaCaducidad.Visible = True
+ Dim ObjInventarios As New ClsInventarios
+ If ObjInventarios.GetExistenciasCaducidad(DdlProducto2.SelectedValue.ToEntero, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue) Then
+ For Each dr As DataRow In ObjInventarios.DtResultados.FiltraParametros("", DistinctColumns:={"Lote", "FechaCaducidad"}).Rows
+ Dim Cad As String = ""
+ If dr("FechaCaducidad").ToString <> "" Then Cad = $"- Cad: {dr("FechaCaducidad").ToString.ToDate.ToString("dd/MM/yyyy")}"
+ DdlLoteFechaCaducidad.Items.Add(New ListItem($"Lote: {dr("Lote").ToString} {Cad}", $"{dr("Lote").ToString}|{dr("FechaCaducidad").ToString.ToDate.ToString("dd/MM/yyyy")}"))
+ Next
+ End If
+ ObjInventarios.Dispose()
+ Else
+ TxtnLote.Visible = CBool(drP("AplicaLote"))
+ ThLote.Visible = CBool(drP("AplicaLote"))
+ TdLote.Visible = CBool(drP("AplicaLote"))
+ TxtnFechaCaducidad.Visible = CBool(drP("AplicaCaducidad"))
+ ThFechaCaducidad.Visible = CBool(drP("AplicaCaducidad"))
+ If Not String.IsNullOrWhiteSpace(UsuarioActual.Empresa.Funcionalidad(147)) Then ThFechaCaducidad.InnerText = UsuarioActual.Empresa.Funcionalidad(147)
+ TdFechaCaducidad.Visible = CBool(drP("AplicaCaducidad"))
+ End If
End If
-
End If
DdlUnidad.Items.Clear()
| |