- sugiere la fecha de caducidad y lote
This commit is contained in:
@@ -270,7 +270,7 @@ Partial Class Inventarios_EntregaAlmacen
|
||||
|
||||
InicializaValores()
|
||||
CargaParametrosAD()
|
||||
If UsuarioActual.CveEmpresa.Contiene(72, 80) Then DdlAlmacen.AutoPostBack = True
|
||||
If UsuarioActual.CveEmpresa.Contiene(72, 80, 146, 119) Then DdlAlmacen.AutoPostBack = True
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(281).ToEntero() = 1 Then
|
||||
|
||||
@@ -833,7 +833,7 @@ Partial Class Inventarios_EntregaAlmacen
|
||||
CargaGvDatos()
|
||||
|
||||
End Sub
|
||||
Private Sub CargaGvDatos()
|
||||
Private Sub CargaGvDatos(Optional CveAlmacen As Integer = -1)
|
||||
|
||||
If DtDatos IsNot Nothing Then
|
||||
|
||||
@@ -849,9 +849,12 @@ Partial Class Inventarios_EntregaAlmacen
|
||||
If AplicaSeccion Then GvDatos.Columns(7).Visible = True
|
||||
If AplicaLote Then GvDatos.Columns(8).Visible = True
|
||||
If AplicaCaducidad Then GvDatos.Columns(9).Visible = True
|
||||
GvDatos.Columns(9).HeaderText = If(UsuarioActual.Empresa.Funcionalidad(147) = "Fecha Elaboración", "Fecha Elaboración", "Fecha Caducidad")
|
||||
GvDatos.Columns(9).HeaderText = If(UsuarioActual.Empresa.Funcionalidad(147) <> "", UsuarioActual.Empresa.Funcionalidad(147), "")
|
||||
|
||||
SugerirFecha()
|
||||
'SugerirFecha()
|
||||
If DdlAlmacen.SelectedValue.ToEntero > 0 Then
|
||||
SugiereLoteCaducidad(DdlAlmacen.SelectedValue.ToEntero)
|
||||
End If
|
||||
End If
|
||||
GvDatos.DataSource = DtDatos
|
||||
|
||||
@@ -3749,7 +3752,7 @@ Partial Class Inventarios_EntregaAlmacen
|
||||
|
||||
Protected Sub DdlAlmacen_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlAlmacen.SelectedIndexChanged
|
||||
If DdlAlmacen.SelectedValue <> "-1" Then
|
||||
CargaGvDatos()
|
||||
CargaGvDatos(DdlAlmacen.SelectedValue.ToEntero)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -3822,13 +3825,74 @@ Partial Class Inventarios_EntregaAlmacen
|
||||
|
||||
#Region "sugerir caducidad"
|
||||
|
||||
Private Sub SugiereLoteCaducidad(CveAlmacen As Integer)
|
||||
Dim TempDT As New DataTable
|
||||
Dim DtLotesCaducidad As New DataTable
|
||||
TempDT = DtDatos.Clone
|
||||
Dim CvePSAnterior As Integer = 0
|
||||
Dim ObjInventarios As New ClsInventarios()
|
||||
|
||||
For Each dr As DataRow In DtDatos.Rows
|
||||
If CBool(dr("AplicaLote")) Then
|
||||
If CvePSAnterior <> dr("CvePS").ToString.ToEntero Then
|
||||
CvePSAnterior = dr("CvePS").ToString.ToEntero
|
||||
|
||||
If ObjInventarios.GetExistenciasCaducidad(dr("CvePS").ToString.ToEntero, CveAlmacen, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
||||
DtLotesCaducidad.Merge(ObjInventarios.DtResultados)
|
||||
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
ObjInventarios.Dispose()
|
||||
|
||||
For Each dr As DataRow In DtDatos.Rows
|
||||
If CBool(dr("AplicaLote")) Then
|
||||
|
||||
Dim dtta As DataTable = DtLotesCaducidad.FiltraParametros(String.Format("CvePS = {0}", dr("CvePS")))
|
||||
|
||||
If dtta IsNot Nothing AndAlso dtta.Rows.Count > 0 Then
|
||||
|
||||
'recorre que cumplan con la cantidad total a llenar
|
||||
Dim CantidadSurtir As Decimal = dr("CantidadF").ToString.ToDecimal
|
||||
For Each drl As DataRow In dtta.Rows
|
||||
If CantidadSurtir < drl("Cantidad").ToString.ToDecimal Then
|
||||
dr("CantidadF") = CantidadSurtir
|
||||
dr("CantidadC") = CantidadSurtir
|
||||
dr("Lote") = drl("Lote")
|
||||
dr("FechaCaducidad") = drl("FechaCaducidad")
|
||||
TempDT.ImportRow(dr)
|
||||
Else
|
||||
CantidadSurtir -= drl("Cantidad").ToString.ToDecimal
|
||||
dr("CantidadF") = drl("Cantidad").ToString.ToDecimal
|
||||
dr("CantidadC") = drl("Cantidad").ToString.ToDecimal
|
||||
dr("Lote") = drl("Lote")
|
||||
dr("FechaCaducidad") = drl("FechaCaducidad")
|
||||
TempDT.ImportRow(dr)
|
||||
End If
|
||||
Next
|
||||
|
||||
Else
|
||||
'error, no hay lote sugerido
|
||||
End If
|
||||
Else
|
||||
TempDT.ImportRow(dr)
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
|
||||
DtDatos = TempDT
|
||||
End Sub
|
||||
|
||||
Private Sub SugerirFecha()
|
||||
|
||||
Dim ObjInventarios As New ClsInventarios()
|
||||
Dim FechasExcluidas As New List(Of String)
|
||||
|
||||
Dim TempDT As New DataTable
|
||||
TempDT = DtDatos.Clone
|
||||
TempDT = DtDatos.Copy
|
||||
Dim DtAux As New DataTable
|
||||
DtAux = DtDatos.Clone
|
||||
|
||||
|
||||
Reference in New Issue
Block a user