--activación de lote/caducidad en armado

This commit is contained in:
2025-04-21 12:39:18 -07:00
parent fb4541e131
commit 1a5d6c1e1b

View File

@@ -200,7 +200,6 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
Private Sub InicializaValores()
CreaDtSeriesDesarmado()
'CARGA PS PAQUETES
DdlPaqueteArmado.DataSource = GlobalDTPS(UsuarioActual.CveEmpresa).FiltraParametros("CvePSPaquete > 0")
DdlPaqueteArmado.DataBind()
@@ -278,9 +277,9 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
Dim ObjProductosServicios As New ClsProductosServicios
DtDatosArmado = New DataTable
Dim drP As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPaqueteArmado.SelectedValue.ToEntero).FiltroPrimero("")
Dim drP As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=DdlPaqueteArmado.SelectedValue.ToEntero).FiltroPrimero("")
Dim CveUMTemp As Integer = drP("CveUM").ToString.ToEntero
Dim CveUMTemp As Integer = drP("CveUnidadMedida").ToString.ToEntero
If ObjProductosServicios.GetPaqueteDetalle(DdlPaqueteArmado.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, CveUMTemp, TxtCantidadArmado.Text.ToDouble, DdlAlmacenArmado.SelectedValue.ToEntero, TxtFechaArmado.Text.ToDate, CveVendedor:=CveVendedor, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente)) Then
DtDatosArmado = ObjProductosServicios.DtResultados.FiltraParametros("CveTipoPS = 2").Copy
Else
@@ -296,7 +295,6 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
CveVendedor = If(RowApartadosArmado.Visible, DdlVendedorArmado.SelectedValue.ToEntero, -1)
CveCliente = If(RowClienteArmado.Visible, DdlClienteArmado.SelectedValue.ToEntero, -1)
If DtDatosArmado.Rows.Count > 0 Then
For Each Dr As DataRow In DtDatosArmado.Rows
Dr("Cantidad") = Dr("Cantidad").ToString.ToDecimal * TxtCantidadArmado.Text.ToDecimal
@@ -323,8 +321,6 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
End If
If AplicaSeriePaquete Or AplicaLotePaquete Or AplicaCaducidadPaquete Then
DivSeriesPaqueteArmado.Visible = True
Dim Dt As New DataTable
@@ -403,10 +399,9 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
GvSeriesPaqueteDesarmado.DataBind()
BtnAgregarSerieDesarmado.Enabled = True
Dim drP As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=DdlPaqueteDesarmado.SelectedValue.ToEntero).FiltroPrimero("")
Dim drP As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPaqueteDesarmado.SelectedValue.ToEntero).FiltroPrimero("")
Dim CveUMTemp As Integer = drP("CveUM").ToString.ToEntero
Dim CveUMTemp As Integer = drP("CveUnidadMedida").ToString.ToEntero
CveVendedor = If(RowApartadosDesarmado.Visible, DdlVendedorDesarmado.SelectedValue.ToEntero, -1)
CveCliente = If(RowClienteDesarmado.Visible, DdlClienteDesarmado.SelectedValue.ToEntero, -1)
Dim FechaFin As String = TxtFechaDesarmado.Text.ToDateTime.ToString("yyyy/MM/dd 23:59")
@@ -506,7 +501,6 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
Alert("No hay ningun registro para generar el movimiento. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
Guardar(1)
End Sub
@@ -568,7 +562,6 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
Alert("Es necesario ingresas todos las fechas de caducidad de los componentes.", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
Else
@@ -580,23 +573,17 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
End If
If gvr.DataKey("AplicaCaducidad") = "True" Then
If gvr.FCTextBox("TxtCaducidad").Text.ToDate <= MinFecha Then
Alert("Es necesario ingresas todos las fechas de caducidad de los componentes.", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
End If
Next
Case 2 ' DESARMADO
For Each gvr As GridViewRow In GvDatosDesarmado.Rows
If gvr.DataKey("AplicaSerie") = "True" Then
'If gvr.DataKey("AplicaSerie") = "True" Then
' 'If gvr.DataKey("Cantidad").ToEntero <> DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", gvr.DataKey("Consec"))).Rows.Count Then
' ' Alert("Es necesario ingresas todas las series de los componentes.", TipoMensaje.MsgAdvertencia)
@@ -619,15 +606,11 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
End If
If gvr.DataKey("AplicaCaducidad") = "True" Then
If gvr.FCTextBox("TxtCaducidad").Text.ToDate <= MinFecha Then
Alert("Es necesario ingresas todos las fechas de caducidad de los componentes.", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
Next
End Select
@@ -683,26 +666,20 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
For Each GvRow As GridViewRow In GvDatosArmado.Rows
FechaCaducidad = If(CBool(GvRow.DataKey("AplicaCaducidad")) AndAlso GvRow.FCTextBox("TxtCaducidad").ToString().ToDate > MinFecha, GvRow.FCTextBox("TxtCaducidad").Text.ToDate, MinFecha)
FechaCaducidad = If(CBool(GvRow.DataKey("AplicaCaducidad")) AndAlso GvRow.FCTextBox("TxtCaducidad").Text.ToDate > MinFecha, GvRow.FCTextBox("TxtCaducidad").Text.ToDate, MinFecha)
Lote = If(CBool(GvRow.DataKey("AplicaLote")), GvRow.FCTextBox("TxtLote").Text.Trim, "-1")
If UsuarioActual.Empresa.Funcionalidad(578).ToEntero = 1 Then
Dim DdlCaducidadProducto As DropDownList = GvRow.FCDropDownList("DdlCaducidadProducto")
Dim ArrayCaducidad As String() = DdlCaducidadProducto.SelectedValue.Split("|"c)
If UsuarioActual.Empresa.Funcionalidad(578) = "1" Then
Dim ArrayCaducidad As String() = GvRow.FCDropDownList("DdlCaducidadProducto").SelectedValue.Split("|"c)
Lote = ArrayCaducidad(0)
FechaCaducidad = ArrayCaducidad(1).ToDate
End If
Dim Existencia As Decimal = ObjInventarioVal.GetExistenciasPS(GvRow.DataKey("CvePS").ToEntero, GvRow.DataKey("CveUM").ToEntero, UsuarioActual.CveEmpresa, CveAlmacen:=DdlAlmacenArmado.SelectedValue.ToEntero(), FechaMovto:=TxtFechaArmado.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), Serie:="-1", Lote:=Lote, FechaCaducidad:=FechaCaducidad)
If GvRow.DataKey("Cantidad").ToDecimal > Existencia Then
TieneErrorExistencia = True
TextoError.AppendFormat("<b> - {0}</b> Existencia: {1:#,##0.##} <br/>", GvRow.DataKey("CodigoPS"), Existencia)
End If
''If Dr("CantidadGV").ToString().ToDecimal > 0 Then
@@ -758,16 +735,10 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
Exit Sub
End If
End If
Dim ObjInventario As New ClsInventarios
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL())
Dim TieneError As Boolean = False
Dim MensajeError As String = ""
@@ -801,13 +772,10 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
Dim Lote As String = If(Gvr.FCTextBox("TxtLote").Text = "", "-1", Gvr.FCTextBox("TxtLote").Text)
Dim FechaCaducidad As String = If(Gvr.FCTextBox("TxtCaducidad").Text = "", "-1", Gvr.FCTextBox("TxtCaducidad").Text)
If UsuarioActual.Empresa.Funcionalidad(578).ToEntero = 1 Then
Dim DdlCaducidadProducto As DropDownList = Gvr.FCDropDownList("DdlCaducidadProducto")
Dim ArrayCaducidad As String() = DdlCaducidadProducto.SelectedValue.Split("|"c)
If UsuarioActual.Empresa.Funcionalidad(578) = "1" Then
Dim ArrayCaducidad As String() = Gvr.FCDropDownList("DdlCaducidadProducto").SelectedValue.Split("|"c)
Lote = ArrayCaducidad(0)
FechaCaducidad = ArrayCaducidad(1)
End If
Dim CveSeccionAlmacen As Integer = Gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero()
@@ -826,11 +794,7 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
Exit For
End If
Next
If TieneError Then
Exit For
End If
If TieneError Then Exit For
Else
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, Gvr.DataKey("Cantidad").ToString.ToDecimal, Gvr.DataKey("CveUM").ToString.ToEntero,
Gvr.DataKey("CvePS").ToString.ToEntero, 0, -1, CveSeccionAlmacen:=CveSeccionAlmacen, Lote:=Lote,
@@ -860,16 +824,15 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
PUTemp = PUTemp / TxtCantidadArmado.Text.ToDecimal
Dim CvePSTemp = CvePaqueteArmado
Dim CveSeccionAlmacen As Integer = -1
Dim Drp As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePaqueteArmado).FiltroPrimero("")
Dim Drp As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePaqueteArmado).FiltroPrimero("")
Dim CveUMTemp As Integer = Drp("CveUM").ToString.ToEntero
Dim CveUMTemp As Integer = Drp("CveUnidadMedida").ToString.ToEntero
Dim AplicaSeccion As Boolean = CBool(Drp("AplicaSeccion"))
If AplicaSeccion Then
CveSeccionAlmacen = GlobalDTInvPSSeccionesAlmacen(UsuarioActual.CveEmpresa, CveAlmacenArmado, CvePaqueteArmado).FiltroPrimeroValor("CveSeccionAlmacen").ToEntero
End If
If AplicaSeriePaquete Then
If AplicaSeriePaquete Or AplicaLotePaquete Or AplicaCaducidadPaquete Then
Dim ContadorPaquete = 1
Dim DtSeriesComponentes As New DataTable
For Each Gvr As GridViewRow In GvSeriesPaqueteArmado.Rows
@@ -900,7 +863,6 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
Next
End If
Next
ContadorPaquete = ContadorPaquete + 1
Next
Else
@@ -934,7 +896,7 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
Dim CvePSTemp As Integer = CvePaqueteDesarmado
Dim CveSeccionAlmacen As Integer = -1
Dim Drp As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePaqueteDesarmado).FiltroPrimero("")
Dim Drp As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePaqueteDesarmado).FiltroPrimero("")
Dim CveUMTemp As Integer = Drp("CveUM").ToString.ToEntero
'Dim AplicaSeccion As Boolean = CBool(Drp("AplicaSeccion"))
@@ -1070,9 +1032,9 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
If Not TieneError Then
Dim Msg As New StringBuilder
Msg.AppendFormat("<br/>El Movimiento de salida se registro con el Folio: <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"" target=""_blank"">{1}</a></b>", CveMovimientoSalida, FolioSalida)
Msg.AppendFormat("<br/>El Movimiento de salida se registro con el Folio: <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"" target=""_blank"" class='Texto'>{1}</a></b>", CveMovimientoSalida, FolioSalida)
Msg.AppendFormat("<br/><a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Imprimir Movimiento</a> ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoSalida)))
Msg.AppendFormat("<br/><br/><br/>El Movimiento de entrada se registro con el Folio: <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"" target=""_blank"">{1}</a></b>", CveMovimientoEntrada, FolioEntrada)
Msg.AppendFormat("<br/><br/>El Movimiento de entrada se registro con el Folio: <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"" target=""_blank"" class='Texto'>{1}</a></b>", CveMovimientoEntrada, FolioEntrada)
Msg.AppendFormat("<br/><a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Imprimir Movimiento</a> ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoEntrada)))
Alert(Msg.ToString, TipoMensaje.MsgInformacion)
ObjInventario.Commit()
@@ -1659,8 +1621,8 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
End If
Dim AplicaCaducidad = False
If GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePSSerieLote).FiltraParametros("").Rows(0) IsNot Nothing Then
AplicaCaducidad = If(GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePSSerieLote).FiltraParametros("").Rows(0)("AplicaCaducidad").ToString = "True", True, False)
If GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePSSerieLote).FiltraParametros("").Rows(0) IsNot Nothing Then
AplicaCaducidad = If(GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePSSerieLote).FiltraParametros("").Rows(0)("AplicaCaducidad").ToString = "True", True, False)
End If
Row("ConsecId") = CveConsecSerieLote
@@ -1754,7 +1716,7 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
'VERIFICA EXISTENCIAS
Dim ObjInventarios As New ClsInventarios
Dim CveUMTemp = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePaqueteDesarmado).FiltroPrimeroValor("CveUM").ToEntero
Dim CveUMTemp = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePaqueteDesarmado).FiltroPrimeroValor("CveUM").ToEntero
Dim Existencia = ObjInventarios.GetExistenciasPS(CvePaqueteDesarmado, CveUMTemp, UsuarioActual.CveEmpresa, CveAlmacenDesarmado, FechaMovto:=TxtFechaDesarmado.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), Serie:=Serie,
CveVendedor:=CveVendedor, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), Lote:=Lote, FechaCaducidad:=FechaCaducidad)