diff --git a/Inventarios/TraspasoAlmacen.aspx.vb b/Inventarios/TraspasoAlmacen.aspx.vb
index 99ab5f5f1..9c4c0a6e4 100644
--- a/Inventarios/TraspasoAlmacen.aspx.vb
+++ b/Inventarios/TraspasoAlmacen.aspx.vb
@@ -128,22 +128,6 @@ Partial Class Inventarios_TraspasoAlmacen
End Set
End Property
- Private Property DtSeccionAlmacen As DataTable
- Get
- Return CType(ViewState("DtSeccionAlmacen"), DataTable)
- End Get
- Set(value As DataTable)
- ViewState("DtSeccionAlmacen") = value
- End Set
- End Property
- Private Property IndexSeccionAlmacen As Integer
- Get
- Return CType(ViewState("IndexSeccionAlmacen"), Integer)
- End Get
- Set(value As Integer)
- ViewState("IndexSeccionAlmacen") = value
- End Set
- End Property
Private Property CantidadTotal As Decimal
Get
Return CType(ViewState("CantidadTotal"), Decimal)
@@ -227,10 +211,9 @@ Partial Class Inventarios_TraspasoAlmacen
If UsuarioActual.CveEmpresa.Contiene(1, 119) Then DivEmitirTimbrado.Visible = True
CantidadTotal = 0
- IndexSeccionAlmacen = 0
+
CvePS = 0
- CreaDtSeccionAlmacen()
- CargaDdlAlmacen()
+
TipoSeccionAlmacen = 0
Else
@@ -265,7 +248,7 @@ Partial Class Inventarios_TraspasoAlmacen
dt.Columns.Add("Observaciones")
dt.Columns.Add("SerieLote")
dt.Columns.Add("Lote")
- dt.Columns.Add("Batch")
+ dt.Columns.Add("FechaCaducidad", Type.GetType("System.DateTime"))
'dt.Columns.Add("PU", Type.GetType("System.Double"))
'dt.Columns.Add("Total", Type.GetType("System.Double"))
@@ -532,7 +515,7 @@ Partial Class Inventarios_TraspasoAlmacen
End If
End If
- Dim Valido = ValidaExistencia(Cantidad, CveProducto, DdlUnidad.SelectedValue.ToEntero, If(TxtnSerieLote.Visible, TxtnSerieLote.Text, "-1"), If(TxtnLote.Visible, TxtnLote.Text, "-1"), If(TxtnBatch.Visible, TxtnBatch.Text, "-1"))
+ Dim Valido = ValidaExistencia(Cantidad, CveProducto, DdlUnidad.SelectedValue.ToEntero, -1, If(TxtnSerieLote.Visible, TxtnSerieLote.Text, "-1"), If(TxtnLote.Visible, TxtnLote.Text, "-1"), MinFecha)
If Valido Then
AgregarPS(Cantidad, CveProducto, DdlUnidad.SelectedValue.ToEntero, TxtnObservaciones.Text, If(TxtnSerieLote.Visible, TxtnSerieLote.Text, ""), If(TxtnLote.Visible, TxtnLote.Text, ""), If(TxtnBatch.Visible, TxtnBatch.Text, ""), FuncionalidadSinSerie)
@@ -540,11 +523,11 @@ Partial Class Inventarios_TraspasoAlmacen
End If
End Sub
- Private Function ValidaExistencia(Cantidad As Double, CvePS As Integer, CveUnidadMedida As Integer, Optional SerieLote As String = "-1", Optional Lote As String = "-1", Optional Batch As String = "-1") As Boolean
+ Private Function ValidaExistencia(Cantidad As Double, CvePS As Integer, CveUnidadMedida As Integer, CveSeccionAlmacen As Integer, SerieLote As String, Lote As String, Fechacaducidad As Date) As Boolean
Dim Retorno = True
Dim Inv As New ClsInventarios
- Dim Existencia As Double = Inv.GetExistenciasPS(CvePS, CveUnidadMedida, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDate.ToString("yyyy/MM/dd 23:59"), SerieLote:=SerieLote, Lote:=Lote, Batch:=Batch, PendientePorSurtir:=1)
+ Dim Existencia As Double = Inv.GetExistenciasPS(CvePS, CveUnidadMedida, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDate.ToString("yyyy/MM/dd 23:59"), SerieLote:=SerieLote, Lote:=Lote, FechaCaducidad:=Fechacaducidad, PendientePorSurtir:=1)
Inv.Dispose()
If Existencia - Cantidad - DtMovimientos.SUM("Cantidad", $"CvePS = {CvePS} AND CveUM = {CveUnidadMedida} {If(SerieLote <> "-1", $" AND SerieLote = '{SerieLote}'", "")}") < 0 Then
@@ -560,7 +543,7 @@ Partial Class Inventarios_TraspasoAlmacen
Return Retorno
End Function
- Private Sub AgregarPS(Cantidad As Double, CvePS As Integer, CveUnidadMedida As Integer, Optional Observaciones As String = "", Optional SerieLote As String = "", Optional Lote As String = "", Optional Batch As String = "", Optional Limpia As Boolean = True)
+ Private Sub AgregarPS(Cantidad As Double, CvePS As Integer, CveUnidadMedida As Integer, Optional Observaciones As String = "", Optional SerieLote As String = "", Optional Lote As String = "", Optional FechaCaducidad As Date = MinFecha, Optional Limpia As Boolean = True)
If Cantidad <= 0 Then
Alert("La cantidad debe ser mayor a cero (0). Por favor verifique y vuelva a intentar", TipoMensaje.MsgAdvertencia)
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
@@ -583,7 +566,7 @@ Partial Class Inventarios_TraspasoAlmacen
registro.Item("Observaciones") = Observaciones
registro.Item("SerieLote") = SerieLote
registro.Item("Lote") = Lote
- registro.Item("Batch") = Batch
+ registro.Item("FechaCaducidad") = FechaCaducidad
registro.Item("CveClasificacion") = CveClasificacion
registro.Item("CveAF") = -1
registro.Item("EstatusExistencia") = "1"
@@ -665,8 +648,98 @@ Partial Class Inventarios_TraspasoAlmacen
End If
End If
- 'Inicia la transacción
+ 'VALIDA ALMACEN DISTINTA SUCURSAL DEBE SER TRANSITORIO
+ If Not UsuarioActual.CveEmpresa.Contiene(7, 140) Then '[IPP] EMPRESA VIGILANCIA NO OCUPA TRANSITORIOS - TIENEN MIL SUCURSALES Xd
+ If Not ChkTransitorio.Checked Then
+ Dim CveSucursalOrigen = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen = {DdlAlmacenOrigen.SelectedValue.ToEntero}")
+ Dim CveSucursalDestino = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen = {DdlAlmacenDestino.SelectedValue.ToEntero}")
+
+ If GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveTipoAlmacen", $"CveAlmacen = {DdlAlmacenDestino.SelectedValue.ToEntero}").ToEntero <> 21 Then 'NO SE VALIDA CUANDO EL TIPO DE ALMACEN DESTINO ES DE DEVOLUCION
+ If CveSucursalOrigen <> CveSucursalDestino Then
+ Alert("Por ser un traspaso entre sucursales es necesario indicar que el traspaso es transitorio.", TipoMensaje.MsgAdvertencia)
+ RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'');", "SonidoError")
+ ChkTransitorio.Checked = True
+ If ChkTransitorio.Checked Then RegistraScript("$('#DivTransitorio').show(200);", "MuestraDivTransitorio")
+ Exit Sub
+ End If
+ End If
+ End If
+ End If
+
+ 'VALIDA QUE TENGA MOVTOS
+ If Not GvDatos.Rows.Count > 0 Then
+ Alert("No hay movimientos para el traspaso", TipoMensaje.MsgAdvertencia)
+ RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
+ Exit Sub
+ End If
+
+ 'VALIDA ESTATUS EXISTENCIA
+ For Each dr As DataRow In DtMovimientos.Rows
+ If dr("EstatusExistencia").ToString = "-1" Then
+ Alert("Tiene que rectificar los movimientos con error.", TipoMensaje.MsgError)
+ If ChkTransitorio.Checked Then RegistraScript("$('#DivTransitorio').show(200);")
+ Exit Sub
+ End If
+ Next
+
Dim ObjInventario As New ClsInventarios
+
+ 'VALIDA LA EXISTENCIA DEL ALMACEN DE ORIGEN
+ Dim ErrorExistencia = False
+ Dim TextoExistencia As StringBuilder = New StringBuilder
+ Dim Existencia As Double
+ TextoExistencia.Append("Los siguiente productos se ajustaron por falta de exitencia:
")
+ If Not CargadoDeMov Then
+
+ For Each dr As DataRow In DtMovimientos.Rows
+ Existencia = ObjInventario.GetExistenciasPS(dr("CvePS").ToString.ToEntero, dr("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDate.ToString("yyyy/MM/dd 23:59"), SerieLote:=If(dr("SerieLote").ToString = "", "-1", dr("SerieLote").ToString), PendientePorSurtir:=1)
+ Existencia -= DtMovimientos.SUM("Cantidad", $"CvePS = {dr("CvePS").ToString.ToEntero} AND CveUM = {dr("CveUM").ToString.ToEntero} {If(dr("SerieLote").ToString <> "-1", $" AND SerieLote = '{dr("SerieLote").ToString}'", "")}")
+ 'DtMovimientos.SUM("Cantidad", String.Format("CvePS = {0}", dr("CvePS").ToString.ToEntero))
+
+ If Existencia < 0 Then
+ ErrorExistencia = True
+ dr("EstatusExistencia") = "-1"
+ dr("Cantidad") = Existencia
+ 'If Existencia <= 0 Then
+ TextoExistencia.AppendFormat("- #{0} {1}
", dr("No").ToString, dr("PS").ToString)
+ 'Else
+ 'Alert(String.Format("Solo hay en existencia: {0}", Existencia), TipoMensaje.MsgError)
+ 'End If
+ End If
+ Next
+ Else
+ For Each gvr As GridViewRow In GvDatos.Rows
+ Existencia = ObjInventario.GetExistenciasPS(gvr.DataKey("CvePS").ToString.ToEntero, gvr.DataKey("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDate.ToString("yyyy/MM/dd 23:59"), SerieLote:=If(gvr.DataKey("SerieLote").ToString = "", "-1", gvr.DataKey("SerieLote").ToString), PendientePorSurtir:=1)
+ Existencia -= gvr.FCTextBox("TxtCantidad2").Text.ToEntero
+ If Existencia < 0 Then
+ ErrorExistencia = True
+
+ gvr.FCTextBox("TxtCantidad2").Text = (Existencia + gvr.FCTextBox("TxtCantidad2").Text.ToEntero).ToString
+ TextoExistencia.AppendFormat("- #{0} {1}
", gvr.DataKey("No").ToString, gvr.DataKey("PS").ToString)
+ End If
+ Next
+ End If
+
+ If ErrorExistencia Then
+ Alert(TextoExistencia.ToString, TipoMensaje.MsgError)
+ RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')")
+ ObjInventario.Dispose()
+ Exit Sub
+ End If
+
+ Dim TotalCantidad As Decimal = DtMovimientos.SUMD("Cantidad")
+
+ Dim TipoAlmacenOrigen = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveTipoAlmacen", $"CveAlmacen = {DdlAlmacenOrigen.SelectedValue.ToEntero}").ToEntero
+ Dim TipoAlmacenDestino = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveTipoAlmacen", $"CveAlmacen = {DdlAlmacenDestino.SelectedValue.ToEntero}").ToEntero
+
+ ''[IPP-1Noviembre2018] SE COMENTA PORQUE NO TIENE NI PIES NI CABEZA. LE FALTA DESARROLLO
+ 'If (TipoAlmacenOrigen = 14 Or TipoAlmacenDestino = 14) And TipoAlmacenOrigen <> TipoAlmacenDestino Then
+ ' ObjInventario.Dispose()
+ ' 'es consumo interno
+ ' ConsumoInterno(TipoAlmacenOrigen, TipoAlmacenDestino)
+ 'End If
+
+ 'Inicia la transacción
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL())
Dim CveMovimientoSalida = 0
Dim CveMovimientoEntrada = 0
@@ -684,298 +757,168 @@ Partial Class Inventarios_TraspasoAlmacen
Dim TextoError = ""
Dim TipoMovimientoSalida As Integer = 26 'If(ChkTransitorio.Checked, 26, If(TipoAlmacenOrigen = 24, 26, 26))
- Dim ErrorExistencia = False
- Dim TextoExistencia As StringBuilder = New StringBuilder
-
- Try
- 'VALIDA ALMACEN DISTINTA SUCURSAL DEBE SER TRANSITORIO
- If Not UsuarioActual.CveEmpresa.Contiene(7, 140) Then '[IPP] EMPRESA VIGILANCIA NO OCUPA TRANSITORIOS - TIENEN MIL SUCURSALES Xd
- If Not ChkTransitorio.Checked Then
- Dim CveSucursalOrigen = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen = {DdlAlmacenOrigen.SelectedValue.ToEntero}")
- Dim CveSucursalDestino = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen = {DdlAlmacenDestino.SelectedValue.ToEntero}")
-
- If GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveTipoAlmacen", $"CveAlmacen = {DdlAlmacenDestino.SelectedValue.ToEntero}").ToEntero <> 21 Then 'NO SE VALIDA CUANDO EL TIPO DE ALMACEN DESTINO ES DE DEVOLUCION
- If CveSucursalOrigen <> CveSucursalDestino Then
- Alert("Por ser un traspaso entre sucursales es necesario indicar que el traspaso es transitorio.", TipoMensaje.MsgAdvertencia)
- RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'');", "SonidoError")
- ChkTransitorio.Checked = True
- If ChkTransitorio.Checked Then RegistraScript("$('#DivTransitorio').show(200);", "MuestraDivTransitorio")
- Exit Sub
- End If
- End If
- End If
- End If
-
- 'VALIDA QUE TENGA MOVTOS
- If Not GvDatos.Rows.Count > 0 Then
- Alert("No hay movimientos para el traspaso", TipoMensaje.MsgAdvertencia)
- RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
- Exit Sub
- End If
-
- 'VALIDA ESTATUS EXISTENCIA
- For Each dr As DataRow In DtMovimientos.Rows
- If dr("EstatusExistencia").ToString = "-1" Then
- Alert("Tiene que rectificar los movimientos con error.", TipoMensaje.MsgError)
- If ChkTransitorio.Checked Then RegistraScript("$('#DivTransitorio').show(200);")
- Exit Sub
- End If
- Next
-
-
-
- 'VALIDA LA EXISTENCIA DEL ALMACEN DE ORIGEN
-
- Dim Existencia As Double
- TextoExistencia.Append("Los siguiente productos se ajustaron por falta de exitencia:
")
- If Not CargadoDeMov Then
-
- For Each dr As DataRow In DtMovimientos.Rows
- Existencia = ObjInventario.GetExistenciasPS(dr("CvePS").ToString.ToEntero, dr("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDate.ToString("yyyy/MM/dd 23:59"), SerieLote:=If(dr("SerieLote").ToString = "", "-1", dr("SerieLote").ToString), PendientePorSurtir:=1)
- Existencia -= DtMovimientos.SUM("Cantidad", $"CvePS = {dr("CvePS").ToString.ToEntero} AND CveUM = {dr("CveUM").ToString.ToEntero} {If(dr("SerieLote").ToString <> "-1", $" AND SerieLote = '{dr("SerieLote").ToString}'", "")}")
- 'DtMovimientos.SUM("Cantidad", String.Format("CvePS = {0}", dr("CvePS").ToString.ToEntero))
-
- If Existencia < 0 Then
- ErrorExistencia = True
- dr("EstatusExistencia") = "-1"
- dr("Cantidad") = Existencia
- 'If Existencia <= 0 Then
- TextoExistencia.AppendFormat("- #{0} {1}
", dr("No").ToString, dr("PS").ToString)
- 'Else
- 'Alert(String.Format("Solo hay en existencia: {0}", Existencia), TipoMensaje.MsgError)
- 'End If
- End If
- Next
- Else
- For Each gvr As GridViewRow In GvDatos.Rows
- Existencia = ObjInventario.GetExistenciasPS(gvr.DataKey("CvePS").ToString.ToEntero, gvr.DataKey("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDate.ToString("yyyy/MM/dd 23:59"), SerieLote:=If(gvr.DataKey("SerieLote").ToString = "", "-1", gvr.DataKey("SerieLote").ToString), PendientePorSurtir:=1)
- Existencia -= gvr.FCTextBox("TxtCantidad2").Text.ToEntero
- If Existencia < 0 Then
- ErrorExistencia = True
-
- gvr.FCTextBox("TxtCantidad2").Text = (Existencia + gvr.FCTextBox("TxtCantidad2").Text.ToEntero).ToString
- TextoExistencia.AppendFormat("- #{0} {1}
", gvr.DataKey("No").ToString, gvr.DataKey("PS").ToString)
- End If
- Next
- End If
-
- If ErrorExistencia Then
- Alert(TextoExistencia.ToString, TipoMensaje.MsgError)
- RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')")
- ObjInventario.Dispose()
- Exit Sub
- End If
-
- Dim TotalCantidad As Decimal = DtMovimientos.SUMD("Cantidad")
- If UsuarioActual.Empresa.Funcionalidad(563) = "1" Then
- If TotalCantidad <> DtSeccionAlmacen.FiltraParametros("TipoSeccionAlmacen = 1").SUMD("CantidadSeccionAlmacen") Then
- Alert("La seccion de almacen no ha sido agregada completamente.", TipoMensaje.MsgAdvertencia)
- Exit Sub
- End If
- End If
-
-
- Dim TipoAlmacenOrigen = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveTipoAlmacen", $"CveAlmacen = {DdlAlmacenOrigen.SelectedValue.ToEntero}").ToEntero
- Dim TipoAlmacenDestino = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveTipoAlmacen", $"CveAlmacen = {DdlAlmacenDestino.SelectedValue.ToEntero}").ToEntero
-
- ''[IPP-1Noviembre2018] SE COMENTA PORQUE NO TIENE NI PIES NI CABEZA. LE FALTA DESARROLLO
- 'If (TipoAlmacenOrigen = 14 Or TipoAlmacenDestino = 14) And TipoAlmacenOrigen <> TipoAlmacenDestino Then
- ' ObjInventario.Dispose()
- ' 'es consumo interno
- ' ConsumoInterno(TipoAlmacenOrigen, TipoAlmacenDestino)
- 'End If
-
-
-
- 'AGREGAMOS LA SALIDA DEL ALMACEN ORIGEN
- CveMovimientoSalida = ObjInventario.AddMovimiento(DdlAlmacenOrigen.SelectedValue.ToEntero, TipoMovimientoSalida, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1,
+ 'AGREGAMOS LA SALIDA DEL ALMACEN ORIGEN
+ CveMovimientoSalida = ObjInventario.AddMovimiento(DdlAlmacenOrigen.SelectedValue.ToEntero, TipoMovimientoSalida, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1,
Observaciones:=TxtObservaciones.Text.Trim, Recibio:=If(ChkTransitorio.Checked, TxtResponsable.Text.Trim, "-1"),
CveAlmacenDestino:=DdlAlmacenDestino.SelectedValue.ToEntero, GastoIndirecto:=If(ChkTransitorio.Checked And TxtGastoIndirecto.Text.ToDouble > 0, TxtGastoIndirecto.Text, "-1").ToDouble,
CveChofer:=If(ChkTransitorio.Checked, DdlChofer.SelectedValue.ToEntero, -1), Placa:=If(ChkTransitorio.Checked, TxtPlaca.Text.Trim, "-1"), FechaEntrega:=If(ChkTransitorio.Checked, TxtFechaEntrega.Text.Trim.ToDateTime.ToString("dd/MM/yyyy"), "-1"), EspecifUnidad:=If(ChkTransitorio.Checked, TxtEspecifUnidad.Text.Trim, "-1"),
ResponsableCarga:=If(ChkTransitorio.Checked, TxtResponsableCarga.Text.Trim, "-1"), ResponsableRecibio:=If(ChkTransitorio.Checked, TxtResponsableRecibio.Text.Trim, "-1"), Identificacion:=If(ChkTransitorio.Checked, TxtIdentificacion.Text.Trim, "-1"), Domicilio:=If(ChkTransitorio.Checked, TxtDomicilio.Text.Trim, "-1"),
Telefono:=If(ChkTransitorio.Checked, TxtTelefono.Text.Trim, "-1"), Ciudad:=If(ChkTransitorio.Checked, TxtCiudad.Text.Trim, "-1"), Licencia:=If(ChkTransitorio.Checked, TxtLicencia.Text.Trim, "-1"), Modulo:="TA/G2")
- FolioSalida = ObjInventario.Folio
- Folio = ObjInventario.Folio
- If CveMovimientoSalida <= 0 Then
- TextoError = "Ocurrió un error al generar el movimiento de salida"
- ErrorMovInv = True
- Else
- Dim Cont As Integer = 0
- For Each Dr As DataRow In DtMovimientos.Rows
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, 0, Dr("CveAF").ToString.ToEntero, -1, Dr("SerieLote").ToString, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString, Observaciones:=Dr("Observaciones").ToString) Then
- ErrorMovInv = True
- TextoError = "Ocurrió un error al guardar los movimientos de salida"
- Exit For
- Else
- If ObjInventario.CveMovimientoDetalle > 0 AndAlso DtSeccionAlmacen.Rows.Count > 0 Then
- For Each Dr2 As DataRow In DtSeccionAlmacen.FiltraParametros($"IndexSeccionAlmacen = {Cont} AND TipoSeccionAlmacen = 1").Rows
- If Not ObjInventario.AddMovimientosDetalleSeccionesAlmacen(ObjInventario.CveMovimientoDetalle, Dr2("CveSeccionAlmacenOrigen").ToString.ToEntero, -Dr2("CantidadSeccionAlmacen").ToString.ToDecimal) Then
- ErrorMovInv = True
- TextoError = "Ocurrió un error al procesar las secciones de almacen. Por favor vuelva a intentar."
- Exit For
- End If
- Next
- End If
- End If
- Cont += 1
- Next
- End If
-
-
- 'VIRTUAL SALIDA
- If UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
-
- Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen= {DdlAlmacenOrigen.SelectedValue}").ToEntero()
-
- Dim CveAlmacenVirtual As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, 24).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero()
-
- CveMovimientoVirtualSalida = ObjInventario.AddMovimiento(CveAlmacenVirtual, 37, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Modulo:="TA/V", CveMovimientoRelacionado:=CveMovimientoSalida)
- FolioVirtualSalida = ObjInventario.Folio
- Dim dtvirtual As DataTable = Nothing
-
- If ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
- dtvirtual = ObjInventario.DtResultados.Copy()
- For Each RowVirtual As DataRow In dtvirtual.Rows
- Dim CvePS = RowVirtual("CvePS").ToString().ToEntero()
- Dim CantidadUsado As Double = RowVirtual("Cantidad").ToString().ToDouble()
- Dim PU As Decimal = RowVirtual("PU").ToString().ToDecimal()
- Dim CveUM As Integer = RowVirtual("CveUM").ToString().ToEntero()
-
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtualSalida, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
- ErrorMovInv = True
- Exit For
- End If
- Next
- dtvirtual.Dispose()
- Else
+ FolioSalida = ObjInventario.Folio
+ Folio = ObjInventario.Folio
+ If CveMovimientoSalida <= 0 Then
+ TextoError = "Ocurrió un error al generar el movimiento de salida"
+ ErrorMovInv = True
+ Else
+ Dim Cont As Integer = 0
+ For Each Dr As DataRow In DtMovimientos.Rows
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, 0, Dr("CveAF").ToString.ToEntero, -1, Dr("SerieLote").ToString, Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, Observaciones:=Dr("Observaciones").ToString) Then
ErrorMovInv = True
+ TextoError = "Ocurrió un error al guardar los movimientos de salida"
+ Exit For
End If
- End If
+ Cont += 1
+ Next
+ End If
- 'AGREGAMOS LA ENTRADA
- If Not ChkTransitorio.Checked Then 'SI NO ES TRANSITORIO SE HACE LA RECEPCION DE INMEDIATO
- If Not ErrorMovInv Then
- Dim TipoMovimientoEntrada = 27
- AlmacenEntrada = If(ChkTransitorio.Checked, DdlAlmacenTransitorio.SelectedValue.ToEntero, DdlAlmacenDestino.SelectedValue.ToEntero)
- CveMovimientoEntrada = ObjInventario.AddMovimiento(AlmacenEntrada, TipoMovimientoEntrada, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, -1, -1,
+
+ 'VIRTUAL SALIDA
+ If UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
+
+ Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen= {DdlAlmacenOrigen.SelectedValue}").ToEntero()
+
+ Dim CveAlmacenVirtual As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, 24).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero()
+
+ CveMovimientoVirtualSalida = ObjInventario.AddMovimiento(CveAlmacenVirtual, 37, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Modulo:="TA/V", CveMovimientoRelacionado:=CveMovimientoSalida)
+ FolioVirtualSalida = ObjInventario.Folio
+ Dim dtvirtual As DataTable = Nothing
+
+ If ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
+ dtvirtual = ObjInventario.DtResultados
+ For Each RowVirtual As DataRow In dtvirtual.Rows
+ Dim CvePS = RowVirtual("CvePS").ToString().ToEntero()
+ Dim CantidadUsado As Double = RowVirtual("Cantidad").ToString().ToDouble()
+ Dim PU As Decimal = RowVirtual("PU").ToString().ToDecimal()
+ Dim CveUM As Integer = RowVirtual("CveUM").ToString().ToEntero()
+
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtualSalida, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
+ ErrorMovInv = True
+ Exit For
+ End If
+ Next
+ Else
+ ErrorMovInv = True
+ End If
+ End If
+
+ 'AGREGAMOS LA ENTRADA
+ If Not ChkTransitorio.Checked Then 'SI NO ES TRANSITORIO SE HACE LA RECEPCION DE INMEDIATO
+ If Not ErrorMovInv Then
+ Dim TipoMovimientoEntrada = 27
+ AlmacenEntrada = If(ChkTransitorio.Checked, DdlAlmacenTransitorio.SelectedValue.ToEntero, DdlAlmacenDestino.SelectedValue.ToEntero)
+ CveMovimientoEntrada = ObjInventario.AddMovimiento(AlmacenEntrada, TipoMovimientoEntrada, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, -1, -1,
Observaciones:=TxtObservaciones.Text.Trim, Recibio:=If(ChkTransitorio.Checked, TxtResponsable.Text.Trim, "-1"),
CveAlmacenDestino:=If(ChkTransitorio.Checked, DdlAlmacenDestino.SelectedValue.ToEntero, -1), CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="TA/G3")
- FolioEntrada = ObjInventario.Folio
- If CveMovimientoEntrada <= 0 Then
- TextoError = "Ocurrió un error al generar el movimiento de entrada"
- ErrorMovInv = True
- Else
- If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
- Dim Cont As Integer = 0
- For Each Dr As DataRow In ObjInventario.DtResultados.Rows
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, Dr("CveAF").ToString.ToEntero, -1, Dr("SerieLote").ToString, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString, Observaciones:=Dr("Observaciones").ToString) Then
- ErrorMovInv = True
- TextoError = "Ocurrió un error al guardar los movimientos de entrada"
- Exit For
- Else
- If ObjInventario.CveMovimientoDetalle > 0 AndAlso DtSeccionAlmacen.Rows.Count > 0 Then
- For Each Dr2 As DataRow In DtSeccionAlmacen.FiltraParametros($"IndexSeccionAlmacen = {Cont} AND TipoSeccionAlmacen = 1").Rows
- If Not ObjInventario.AddMovimientosDetalleSeccionesAlmacen(ObjInventario.CveMovimientoDetalle, Dr2("CveSeccionAlmacenDestino").ToString.ToEntero, Dr2("CantidadSeccionAlmacen").ToString.ToDecimal) Then
- ErrorMovInv = True
- TextoError = "Ocurrió un error al procesar las secciones de almacen. Por favor vuelva a intentar."
- Exit For
- End If
- Next
- End If
- End If
- Cont += 1
- Next
- End If
- End If
- 'VIRTUAL ENTRADA
- If UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
- Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen= {DdlAlmacenDestino.SelectedValue}").ToEntero()
-
- Dim CveAlmacenVirtual As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $" CveTipoAlmacen =24 AND CveSubProyecto={CveSubProyecto}").ToEntero()
-
- CveMovimientoVirtualEntrada = ObjInventario.AddMovimiento(CveAlmacenVirtual, 36, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="TA/S3")
- FolioVirtualEntrada = ObjInventario.Folio
- Dim dtvirtual As DataTable = Nothing
-
- If CveMovimientoVirtualEntrada > 0 AndAlso ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoEntrada, UsuarioActual.CveEmpresa, CveMovimientoRelacionado:=CveMovimientoSalida) Then
- dtvirtual = ObjInventario.DtResultados.Copy()
- For Each RowVirtual As DataRow In dtvirtual.Rows
- Dim CvePS = RowVirtual("CvePS").ToString().ToEntero()
- Dim CantidadUsado As Double = RowVirtual("Cantidad").ToString().ToDouble()
- Dim PU As Decimal = RowVirtual("PUOriginal").ToString().ToDecimal()
- Dim CveUM As Integer = RowVirtual("CveUM").ToString().ToEntero()
-
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtualEntrada, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
- ErrorMovInv = True
- Exit For
- End If
- Next
- dtvirtual.Dispose()
- Else
- ErrorMovInv = True
- End If
- End If
- Dim Concepto As String = TxtObservaciones.Text
- If Concepto = "" Then Concepto = "Traspaso"
- 'AGREGAMOS PREPOLIZAS TRASPASO DIRECTO:
- If Not ErrorMovInv Then
- Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inventario/TraspasoAlmacen", 53, 0, 0, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
- If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
-
- Dim resultado As DataTable = ObjInventario.DtResultados
- Dim importe As Decimal = resultado.SUMD("Total").RoundSQL
- Dim IdCtaContableSalida As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenOrigen.SelectedValue.ToEntero)).ToEntero
- Dim IdCtaContableEntrada As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenDestino.SelectedValue.ToEntero)).ToEntero
- Dim Contabilizable As Boolean = True
-
- If IdCtaContableSalida = IdCtaContableEntrada Then Contabilizable = False
-
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContableSalida, -1, CveMovimientoAlmacen:=CveMovimientoSalida, Contabilizable:=Contabilizable, ImporteMX:=importe) Then
+ FolioEntrada = ObjInventario.Folio
+ If CveMovimientoEntrada <= 0 Then
+ TextoError = "Ocurrió un error al generar el movimiento de entrada"
+ ErrorMovInv = True
+ Else
+ If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
+ Dim Cont As Integer = 0
+ For Each Dr As DataRow In ObjInventario.DtResultados.Rows
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, Dr("CveAF").ToString.ToEntero, -1, Dr("SerieLote").ToString, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero, Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, Observaciones:=Dr("Observaciones").ToString) Then
ErrorMovInv = True
+ TextoError = "Ocurrió un error al guardar los movimientos de entrada"
+ Exit For
End If
-
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContableEntrada, -1, CveMovimientoAlmacen:=CveMovimientoEntrada, Contabilizable:=Contabilizable, ImporteMX:=importe) Then
- ErrorMovInv = True
- End If
- End If
+ Cont += 1
+ Next
End If
End If
- Else
+ 'VIRTUAL ENTRADA
+ If UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
+ Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen= {DdlAlmacenDestino.SelectedValue}").ToEntero()
+
+ Dim CveAlmacenVirtual As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $" CveTipoAlmacen =24 AND CveSubProyecto={CveSubProyecto}").ToEntero()
+
+ CveMovimientoVirtualEntrada = ObjInventario.AddMovimiento(CveAlmacenVirtual, 36, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="TA/S3")
+ FolioVirtualEntrada = ObjInventario.Folio
+ Dim dtvirtual As DataTable = Nothing
+
+ If CveMovimientoVirtualEntrada > 0 AndAlso ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoEntrada, UsuarioActual.CveEmpresa) Then
+ dtvirtual = ObjInventario.DtResultados
+ For Each RowVirtual As DataRow In dtvirtual.Rows
+ Dim CvePS = RowVirtual("CvePS").ToString().ToEntero()
+ Dim CantidadUsado As Double = RowVirtual("Cantidad").ToString().ToDouble()
+ Dim PU As Decimal = RowVirtual("PU").ToString().ToDecimal()
+ Dim CveUM As Integer = RowVirtual("CveUM").ToString().ToEntero()
+
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtualEntrada, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
+ ErrorMovInv = True
+ Exit For
+ End If
+ Next
+ Else
+ ErrorMovInv = True
+ End If
+ End If
+ Dim Concepto As String = TxtObservaciones.Text
+ If Concepto = "" Then Concepto = "Traspaso"
+ 'AGREGAMOS PREPOLIZAS TRASPASO DIRECTO:
If Not ErrorMovInv Then
- Dim Concepto As String = TxtObservaciones.Text
- If Concepto = "" Then Concepto = "Traspaso"
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inventario/TraspasoAlmacen", 53, 0, 0, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
Dim resultado As DataTable = ObjInventario.DtResultados
Dim importe As Decimal = resultado.SUMD("Total").RoundSQL
- Dim IdCtaContable As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenTransitorio.SelectedValue.ToEntero)).ToEntero
+ Dim IdCtaContableSalida As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenOrigen.SelectedValue.ToEntero)).ToEntero
+ Dim IdCtaContableEntrada As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenDestino.SelectedValue.ToEntero)).ToEntero
+ Dim Contabilizable As Boolean = True
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoSalida, ImporteMX:=importe, Contabilizable:=False) Then
+ If IdCtaContableSalida = IdCtaContableEntrada Then Contabilizable = False
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContableSalida, -1, CveMovimientoAlmacen:=CveMovimientoSalida, Contabilizable:=Contabilizable, ImporteMX:=importe) Then
ErrorMovInv = True
End If
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, TxtObservaciones.Text, 289, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoSalida, ImporteMX:=importe, Contabilizable:=False) Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContableEntrada, -1, CveMovimientoAlmacen:=CveMovimientoEntrada, Contabilizable:=Contabilizable, ImporteMX:=importe) Then
ErrorMovInv = True
End If
End If
End If
End If
+ Else
+ If Not ErrorMovInv Then
+ Dim Concepto As String = TxtObservaciones.Text
+ If Concepto = "" Then Concepto = "Traspaso"
+ Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inventario/TraspasoAlmacen", 53, 0, 0, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
+ If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
+
+ Dim resultado As DataTable = ObjInventario.DtResultados
+ Dim importe As Decimal = resultado.SUMD("Total").RoundSQL
+ Dim IdCtaContable As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenTransitorio.SelectedValue.ToEntero)).ToEntero
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoSalida, ImporteMX:=importe, Contabilizable:=False) Then
+ ErrorMovInv = True
+ End If
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, TxtObservaciones.Text, 289, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoSalida, ImporteMX:=importe, Contabilizable:=False) Then
+ ErrorMovInv = True
+ End If
+ End If
+ End If
+ End If
- ''[IPP-1Noviembre2018] SE COMENTA PORQUE NO TIENE NI PIES NI CABEZA. LE FALTA DESARROLLO
- ''CONSUMO INTERNO
- 'If Not ErrorMovInv Then
- ' If (TipoAlmacenOrigen = 14 Or TipoAlmacenDestino = 14) And TipoAlmacenOrigen <> TipoAlmacenDestino Then
- ' ConsumoInterno(TipoAlmacenOrigen, TipoAlmacenDestino)
- ' End If
- 'End If
-
- Catch ex As Exception
- ErrorMovInv = True
- OnError("Ocurrió un error al realizar el traspaso", ex)
- End Try
+ ''[IPP-1Noviembre2018] SE COMENTA PORQUE NO TIENE NI PIES NI CABEZA. LE FALTA DESARROLLO
+ ''CONSUMO INTERNO
+ 'If Not ErrorMovInv Then
+ ' If (TipoAlmacenOrigen = 14 Or TipoAlmacenDestino = 14) And TipoAlmacenOrigen <> TipoAlmacenDestino Then
+ ' ConsumoInterno(TipoAlmacenOrigen, TipoAlmacenDestino)
+ ' End If
+ 'End If
If Not ErrorMovInv Then
DtTraslado = DtMovimientos.Copy
@@ -1061,7 +1004,7 @@ Partial Class Inventarios_TraspasoAlmacen
Else
For Each Dr As DataRow In DtMovimientos.Rows
- If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, 0, Dr("CveAF").ToString.ToEntero, -1, Dr("SerieLote").ToString, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString) Then
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, 0, Dr("CveAF").ToString.ToEntero, -1, Dr("SerieLote").ToString, Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate) Then
ErrorMovInv = True
TextoError = "Ocurrió un error al guardar los movimientos de salida"
Exit For
@@ -1142,7 +1085,6 @@ Partial Class Inventarios_TraspasoAlmacen
TxtGastoIndirecto.Text = ""
TxtPlaca.Text = ""
TxtEspecifUnidad.Text = ""
- DtSeccionAlmacen.Rows.Clear()
TxtResponsableCarga.Text = ""
TxtResponsableRecibio.Text = ""
TxtIdentificacion.Text = ""
@@ -1295,10 +1237,6 @@ Partial Class Inventarios_TraspasoAlmacen
e.Row.FCTextBox("TxtCantidad2").Attributes.Add("onblur", String.Format("ValidaCantidad(this,{0})", e.Row.DBCampo("Cantidad")))
End If
- If DtSeccionAlmacen.FiltraParametros($"IndexSeccionAlmacen = {e.Row.RowIndex}").SUMD("CantidadSeccionAlmacen") > 0 Then
- e.Row.FCLinkButton("lnkRemove").Visible = False
- e.Row.FCLinkButton("lnkRemove").ToolTip = "Cuenta con sección almacen"
- End If
'If If(e.Row.DBCampo("SerieLote").ToString = "", "-1", e.Row.DBCampo("SerieLote").ToString) <> "-1" Then
' TxtnSerieLote.Visible = True
' ThSerieLote.Visible = True
@@ -1320,7 +1258,7 @@ Partial Class Inventarios_TraspasoAlmacen
' ThBatch.Visible = True
' TdBatch.Visible = True
' GvDatos.Columns(6).Visible = True
- ' e.Row.Cells(6).Text = e.Row.DBCampo("Batch").ToString
+
'Else
' e.Row.Cells(5).Text = ""
' e.Row.Cells(6).Text = ""
@@ -1428,7 +1366,6 @@ Partial Class Inventarios_TraspasoAlmacen
RegistraScript("$('#DivTransitorio').hide(500);$('#DivGastoIndirecto').hide(500);$('#DivDocChofer').hide(500);")
End If
- UpModalSeccionAlmacen.Update()
SiguienteFolio(If(ChkTransitorio.Checked, 9, 8))
End Sub
Protected Sub BtnCargaTransitorios_Click(sender As Object, e As EventArgs)
@@ -1462,8 +1399,6 @@ Partial Class Inventarios_TraspasoAlmacen
'Dt.Dispose()
End If
- DtSeccionAlmacen.Rows.Clear()
-
If TxtFolioRecepcion.Text = "" Then
BtnRecibir.Visible = False
BtnCancelarTraspaso.Visible = False
@@ -1580,7 +1515,7 @@ Partial Class Inventarios_TraspasoAlmacen
Exit For
End If
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Cantidad, GvRow.DataKey("CveUM").ToEntero, CvePS, PrecioUnitario, GvRow.DataKey("CveAF").ToEntero, -1, GvRow.DataKey("SerieLote").ToString, Lote:=GvRow.DataKey("Lote"), Batch:=GvRow.DataKey("Batch"), CveMovimientoDetalleEntrada:=CveMovimientoDetalleSalida) Then
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Cantidad, GvRow.DataKey("CveUM").ToEntero, CvePS, PrecioUnitario, GvRow.DataKey("CveAF").ToEntero, -1, SerieLote:=GvRow.DataKey("SerieLote").ToString, Lote:=GvRow.DataKey("Lote"), FechaCaducidad:=GvRow.DataKey("FechaCaducidad").ToDate, CveMovimientoDetalleEntrada:=CveMovimientoDetalleSalida) Then
ErrorMovInv = True
TextoError = "Ocurrió un error al guardar los movimientos de entrada"
Exit For
@@ -1590,28 +1525,6 @@ Partial Class Inventarios_TraspasoAlmacen
End If
Next
- 'If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
- ' For Each Dr As DataRow In ObjInventario.DtResultados.Rows
- ' CveMovimientoDetalleSalida = Dr("CveMovimientoDetalle").ToString.ToEntero
- ' Dim Cantidad As Double = Dr("Cantidad").ToString.ToDouble
- ' Dim PrecioUnitario As Double = Dr("PU").ToString.ToDouble
- ' If CveMovimientoDetalleSalida <= 0 Then
- ' ErrorMovInv = True
- ' TextoError = "Ocurrió un error al guardar los movimientos de salida"
- ' Exit For
- ' End If
-
- ' If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Cantidad, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, PrecioUnitario, Dr("CveAF").ToString.ToEntero, -1, Dr("SerieLote").ToString, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString, CveMovimientoDetalleEntrada:=CveMovimientoDetalleSalida) Then
- ' ErrorMovInv = True
- ' TextoError = "Ocurrió un error al guardar los movimientos de entrada"
- ' Exit For
- ' End If
- ' importe += Cantidad * PrecioUnitario
- ' Next
- 'Else
- ' ErrorMovInv = True
- ' TextoError = "Ocurrió un error al obtener los movimientos de salida"
- 'End If
'VIRTUAL ENTRADA
@@ -1627,7 +1540,7 @@ Partial Class Inventarios_TraspasoAlmacen
Dim dtvirtual As DataTable = Nothing
If CveMovimientoVirtualEntrada > 0 AndAlso ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoEntrada, UsuarioActual.CveEmpresa, CveMovimientoRelacionado:=CveMovimientoSalida) Then
- dtvirtual = ObjInventario.DtResultados.Copy()
+ dtvirtual = ObjInventario.DtResultados
For Each RowVirtual As DataRow In dtvirtual.Rows
Dim CvePS = RowVirtual("CvePS").ToString().ToEntero()
Dim CantidadUsado As Decimal = RowVirtual("Cantidad").ToString().ToDecimal()
@@ -1640,7 +1553,6 @@ Partial Class Inventarios_TraspasoAlmacen
Exit For
End If
Next
- dtvirtual.Dispose()
Else
TextoError = "No se pudo registrar el movimiento virtual"
ErrorMovInv = True
@@ -1722,12 +1634,6 @@ Partial Class Inventarios_TraspasoAlmacen
Exit Sub
End If
- If UsuarioActual.Empresa.Funcionalidad(563) = "1" Then
- If ValidaMovtos <> DtSeccionAlmacen.FiltraParametros("TipoSeccionAlmacen = 2").SUMD("CantidadSeccionAlmacen") Then
- Alert("La seccion de almacen no ha sido agregada completamente.", TipoMensaje.MsgAdvertencia)
- Exit Sub
- End If
- End If
Dim ObjInventario As New ClsInventarios
Dim Dtt As DataTable = Nothing
@@ -1751,7 +1657,7 @@ Partial Class Inventarios_TraspasoAlmacen
'REGISTRA LA SALIDA Y ENTRADA (TRASPASO)
ObjInventario.IniciaTransacSQL() 'Inicia la transacción
Dim Fecha As Date = TxtFechaRecepcion.Text.ToDate
- Dim CveMovimientoReferencia As Integer = -1
+
'AGREGAMOS LA ENTRADA
CveMovimientoSalida = ObjInventario.AddMovimiento(GvDatosRecepcion.Rows(0).DataKey("CveAlmacenDestino").ToEntero, 27, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1,
Observaciones:=TxtObservacionesRecepcion.Text.Trim, CveAlmacenDestino:=GvDatosRecepcion.Rows(0).DataKey("CveAlmacenSalida").ToEntero, CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="TA/G1")
@@ -1765,7 +1671,6 @@ Partial Class Inventarios_TraspasoAlmacen
Dim CveMovimientoDetalleEntrada As Integer = 0
Dim Cont As Integer = 0
For Each gvr As GridViewRow In GvDatosRecepcion.Rows
- CveMovimientoReferencia = gvr.DataKey("CveMovimiento").ToEntero()
Dim dataRowAux As DataRow = Dtt.FiltroPrimero(String.Format(" CveMovimientoDetalle = '{0}'", If(gvr.DataKey("CveMovimientoDetalle").ToString = "", "0", gvr.DataKey("CveMovimientoDetalle").ToString)))
Dim cantidadDisponibleValidacion As Decimal = 0
@@ -1787,20 +1692,10 @@ Partial Class Inventarios_TraspasoAlmacen
Exit For
End If
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, gvr.FCTextBox("TxtCantidad").Text.ToString.ToDecimal, gvr.DataKey("CveUM").ToString.ToEntero, gvr.DataKey("CvePS").ToString.ToEntero, gvr.DataKey("PU").ToString.ToDecimal, gvr.DataKey("CveAF").ToString.ToEntero, CveMovimientoDetalleEntrada:=CveMovimientoDetalleEntrada, SerieLote:=gvr.DataKey("SerieLote").ToString, Lote:=gvr.DataKey("Lote").ToString, Batch:=gvr.DataKey("Batch").ToString) Then
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, gvr.FCTextBox("TxtCantidad").Text.ToString.ToDecimal, gvr.DataKey("CveUM").ToString.ToEntero, gvr.DataKey("CvePS").ToString.ToEntero, gvr.DataKey("PU").ToString.ToDecimal, gvr.DataKey("CveAF").ToString.ToEntero, CveMovimientoDetalleEntrada:=CveMovimientoDetalleEntrada, SerieLote:=gvr.DataKey("SerieLote").ToString, Lote:=gvr.DataKey("Lote").ToString, FechaCaducidad:=gvr.DataKey("FechaCaducidad").ToDate) Then
ErrorMovInv = True
TextoError = "Ocurrió un error al guardar los movimientos de salida"
Exit For
- Else
- If ObjInventario.CveMovimientoDetalle > 0 AndAlso DtSeccionAlmacen.Rows.Count > 0 Then
- For Each Dr2 As DataRow In DtSeccionAlmacen.FiltraParametros($"IndexSeccionAlmacen = {Cont} AND TipoSeccionAlmacen = 2").Rows
- If Not ObjInventario.AddMovimientosDetalleSeccionesAlmacen(ObjInventario.CveMovimientoDetalle, Dr2("CveSeccionAlmacenDestino").ToString.ToEntero, Dr2("CantidadSeccionAlmacen").ToString.ToDecimal) Then
- ErrorMovInv = True
- TextoError = "Ocurrió un error al procesar las secciones de almacen. Por favor vuelva a intentar."
- Exit For
- End If
- Next
- End If
End If
ElseIf cantidadDisponibleValidacion < 0 Then
TextoError = String.Format("Se exceden la cantidad disponibles para {0}", gvr.DataKey("PS").ToString)
@@ -1840,16 +1735,16 @@ Partial Class Inventarios_TraspasoAlmacen
If CveAlmacenVirtual > 0 Then
- CveMovimientoVirtualEntrada = ObjInventario.AddMovimiento(CveAlmacenVirtual, 36, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="TA/S2")
+ CveMovimientoVirtualEntrada = ObjInventario.AddMovimiento(CveAlmacenVirtual, 2, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Modulo:="TA/S2")
FolioVirtualEntrada = ObjInventario.Folio
Dim dtvirtual As DataTable = Nothing
- If CveMovimientoVirtualEntrada > 0 AndAlso ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoSalida, UsuarioActual.CveEmpresa, CveMovimientoRelacionado:=CveMovimientoReferencia) Then
- dtvirtual = ObjInventario.DtResultados.Copy()
+ If CveMovimientoVirtualEntrada > 0 AndAlso ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
+ dtvirtual = ObjInventario.DtResultados
For Each RowVirtual As DataRow In dtvirtual.Rows
Dim CvePS = RowVirtual("CvePS").ToString().ToEntero()
Dim CantidadUsado As Decimal = RowVirtual("Cantidad").ToString().ToDecimal()
- Dim PU As Decimal = RowVirtual("PUOriginal").ToString().ToDecimal()
+ Dim PU As Decimal = RowVirtual("PU").ToString().ToDecimal()
Dim CveUM As Integer = RowVirtual("CveUM").ToString().ToEntero()
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtualEntrada, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
@@ -1857,7 +1752,6 @@ Partial Class Inventarios_TraspasoAlmacen
Exit For
End If
Next
- dtvirtual.Dispose()
Else
TextoError = "No se pudo registrar el movimiento virtual"
ErrorMovInv = True
@@ -2033,7 +1927,7 @@ Partial Class Inventarios_TraspasoAlmacen
txtCantidad.Text = "1"
- Dim Valido = ValidaExistencia(1, CvePSSerieLote, CveUMSerieLote, TxtSeriePS.Text.Trim)
+ Dim Valido = ValidaExistencia(1, CvePSSerieLote, CveUMSerieLote, -1, TxtSeriePS.Text.Trim, "-1", MinFecha)
If Valido Then
AgregarPS(1, CvePSSerieLote, CveUMSerieLote, TxtSeriePS.Text.Trim)
@@ -2562,211 +2456,6 @@ Partial Class Inventarios_TraspasoAlmacen
End Try
End Sub
-#End Region
-
-#Region "SECCION ALMACEN"
- Private Sub CreaDtSeccionAlmacen()
- DtSeccionAlmacen = New DataTable
- DtSeccionAlmacen.Columns.Add("CantidadSeccionAlmacen", GetType(Decimal))
- DtSeccionAlmacen.Columns.Add("IndexSeccionAlmacen", GetType(Integer))
- DtSeccionAlmacen.Columns.Add("CveSeccionAlmacenOrigen", GetType(Integer))
- DtSeccionAlmacen.Columns.Add("CveSeccionAlmacenDestino", GetType(Integer))
- DtSeccionAlmacen.Columns.Add("CvePS", GetType(Integer))
- DtSeccionAlmacen.Columns.Add("SeccionAlmacenOrigen", GetType(String))
- DtSeccionAlmacen.Columns.Add("SeccionAlmacenDestino", GetType(String))
- DtSeccionAlmacen.Columns.Add("Consec", GetType(Integer))
- DtSeccionAlmacen.Columns.Add("TipoSeccionAlmacen", GetType(Integer))
- End Sub
- Private Sub CargaDdlAlmacen()
- DdlSeccionAlmacenOrigen.DataSource = GlobalDTSeccionAlmacen(UsuarioActual.CveEmpresa)
- DdlSeccionAlmacenOrigen.Items.Insert(0, New ListItem("Seleccione", "-1"))
- DdlSeccionAlmacenOrigen.DataBind()
-
- DdlSeccionAlmacenDestino.DataSource = GlobalDTSeccionAlmacen(UsuarioActual.CveEmpresa)
- DdlSeccionAlmacenDestino.Items.Insert(0, New ListItem("Seleccione", "-1"))
- DdlSeccionAlmacenDestino.DataBind()
- End Sub
- Protected Sub LnkSeccionAlmacen_Click(sender As Object, e As EventArgs)
- Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
-
- If Not DdlAlmacenOrigen.SelectedValue.ToEntero > 0 Then
- Alert("Tiene que tener seleccionado un almacen para registrar seccion almacen origen.", TipoMensaje.MsgAdvertencia)
- Exit Sub
- End If
-
- 'If Not DdlAlmacenDestino.SelectedValue.ToEntero > 0 AndAlso Not ChkTransitorio.Checked Then
- ' Alert("Tiene que tener seleccionado un almacen para registrar seccion almacen destino.", TipoMensaje.MsgAdvertencia)
- ' Exit Sub
- 'End If
-
- If ChkTransitorio.Checked Then
- GvSeccion.Columns(2).Visible = False
- DivSeccionAlmacenDestino.Visible = False
- Else
- GvSeccion.Columns(2).Visible = True
- DivSeccionAlmacenDestino.Visible = True
- End If
-
- DivSeccionAlmacenOrigen.Visible = True
- GvSeccion.Columns(1).Visible = True
-
- CantidadTotal = gvRow.DataKey("Cantidad").ToDecimal
- IndexSeccionAlmacen = gvRow.RowIndex
- CvePS = gvRow.DataKey("CvePS").ToEntero
- TipoSeccionAlmacen = 1
- CargaSeccionAlmacen()
- RegistraScript("$('#DModalSeccionAlmacen').modal()")
- End Sub
-
- Protected Sub LnkSeccionAlmacenDestino_Click(sender As Object, e As EventArgs)
- Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
-
- If Not DdlAlmacenRecepcion.SelectedValue.ToEntero > 0 Then
- Alert("Tiene que tener seleccionado un almacen para registrar seccion almacen destino.", TipoMensaje.MsgAdvertencia)
- Exit Sub
- End If
-
- DivSeccionAlmacenOrigen.Visible = False
- DivSeccionAlmacenDestino.Visible = True
- GvSeccion.Columns(1).Visible = False
- GvSeccion.Columns(2).Visible = True
-
- CantidadTotal = gvRow.FCTextBox("TxtCantidad").Text.ToDecimal
- IndexSeccionAlmacen = gvRow.RowIndex
- CvePS = gvRow.DataKey("CvePS").ToEntero
- TipoSeccionAlmacen = 2
- CargaSeccionAlmacen()
- RegistraScript("$('#DModalSeccionAlmacen').modal()")
-
- End Sub
-
- Private Sub CargaSeccionAlmacen()
- Dim CantidadTotalSeccion As Decimal = DtSeccionAlmacen.FiltraParametros($"IndexSeccionAlmacen = {IndexSeccionAlmacen} AND TipoSeccionAlmacen = {TipoSeccionAlmacen}").SUMD("CantidadSeccionAlmacen")
- GvSeccion.DataSource = DtSeccionAlmacen.FiltraParametros($"IndexSeccionAlmacen = {IndexSeccionAlmacen} AND TipoSeccionAlmacen = {TipoSeccionAlmacen}")
- GvSeccion.DataBind()
-
- TxtCantidadSeccion.Text = ""
- DdlSeccionAlmacenOrigen.SelectedIndex = 0
- DdlSeccionAlmacenDestino.SelectedIndex = 0
- Dim CantidadRestante As Decimal = CantidadTotal - CantidadTotalSeccion
- If CantidadRestante = 0 Then
- RVTxtCantidad.MaximumValue = "1"
- TxtCantidadSeccion.Enabled = False
- Else
- RVTxtCantidad.MaximumValue = CantidadRestante.ToString
- TxtCantidadSeccion.Enabled = True
- End If
-
- If TipoSeccionAlmacen = 1 Then
- If DtSeccionAlmacen.SUMD("CantidadSeccionAlmacen") > 0 Then
- DdlAlmacenOrigen.Enabled = False
- DdlAlmacenOrigen.ToolTip = "Cuenta con sección almacen"
-
- ChkTransitorio.Enabled = False
- ChkTransitorio.ToolTip = "Cuenta con sección almacen"
-
- GvDatos.Rows(IndexSeccionAlmacen).FCLinkButton("lnkRemove").Enabled = False
- GvDatos.Rows(IndexSeccionAlmacen).FCLinkButton("lnkRemove").ToolTip = "Cuenta con sección almacen"
-
- Else
- DdlAlmacenOrigen.Enabled = True
- DdlAlmacenOrigen.ToolTip = ""
-
- ChkTransitorio.Enabled = True
- ChkTransitorio.ToolTip = ""
-
- GvDatos.Rows(IndexSeccionAlmacen).FCLinkButton("lnkRemove").Enabled = True
- GvDatos.Rows(IndexSeccionAlmacen).FCLinkButton("lnkRemove").ToolTip = ""
- End If
- UpDatos.Update()
-
- ElseIf TipoSeccionAlmacen = 2 Then
- If CantidadTotalSeccion > 0 Then
- GvDatosRecepcion.Rows(IndexSeccionAlmacen).FCTextBox("TxtCantidad").Enabled = False
- GvDatosRecepcion.Rows(IndexSeccionAlmacen).FCTextBox("TxtCantidad").ToolTip = "Cuenta con sección almacen"
- Else
- GvDatosRecepcion.Rows(IndexSeccionAlmacen).FCTextBox("TxtCantidad").Enabled = True
- GvDatosRecepcion.Rows(IndexSeccionAlmacen).FCTextBox("TxtCantidad").ToolTip = ""
- End If
- UpDatosRecepcion.Update()
- End If
-
- UpModalSeccionAlmacen.Update()
- End Sub
-
- Protected Sub LnkAddSeccionAlmacen_Click(sender As Object, e As EventArgs)
-
- If TipoSeccionAlmacen = 1 Then
- Dim ObjInv As New ClsInventarios
- Dim CantidadDisponible As Decimal = 0
- If ObjInv.GetMovimientosDetalleSeccionesAlmacen(DdlSeccionAlmacenOrigen.SelectedValue.ToEntero, DdlAlmacenOrigen.SelectedValue.ToEntero,
- CvePS, UsuarioActual.CveEmpresa) Then
- If ObjInv.DtResultados.Rows.Count > 0 Then
- CantidadDisponible = ObjInv.DtResultados.Rows(0)("CantidadRestante").ToString.ToDecimal
- End If
- End If
- ObjInv.Dispose()
-
- CantidadDisponible -= DtSeccionAlmacen.FiltraParametros($"CvePS = {CvePS} AND CveSeccionAlmacenOrigen = {DdlSeccionAlmacenOrigen.SelectedValue}").SUMD("CantidadSeccionAlmacen")
-
- If TxtCantidadSeccion.Text.ToDecimal > CantidadDisponible Then
- Alert($"No tiene cantidad de producto suficiente en esta seccion de almacen, su cantidad restante es:
{CantidadDisponible}", TipoMensaje.MsgAdvertencia)
- Exit Sub
- End If
- End If
-
- Dim Row As DataRow = Nothing
- DtSeccionAlmacen.AcceptChanges()
- Row = DtSeccionAlmacen.NewRow
- Row("CantidadSeccionAlmacen") = TxtCantidadSeccion.Text.ToDecimal
- Row("IndexSeccionAlmacen") = IndexSeccionAlmacen
- Row("CveSeccionAlmacenOrigen") = DdlSeccionAlmacenOrigen.SelectedValue.ToEntero
- Row("SeccionAlmacenOrigen") = DdlSeccionAlmacenOrigen.SelectedItem.Text
- Row("CveSeccionAlmacenDestino") = DdlSeccionAlmacenDestino.SelectedValue.ToEntero
- Row("SeccionAlmacenDestino") = DdlSeccionAlmacenDestino.SelectedItem.Text
- Row("CvePS") = CvePS
- Row("Consec") = DtSeccionAlmacen.Rows.Count + 1
- Row("TipoSeccionAlmacen") = TipoSeccionAlmacen
- DtSeccionAlmacen.Rows.Add(Row)
- DtSeccionAlmacen.AcceptChanges()
- CargaSeccionAlmacen()
- End Sub
-
- Protected Sub LnkEliminarSeccion_Click(sender As Object, e As EventArgs)
- Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
- Dim Index As Integer = 0
- For Each Dr As DataRow In DtSeccionAlmacen.Rows
- If Dr("Consec").ToString.ToEntero = gvRow.DataKey("Consec").ToEntero() Then
- Exit For
- End If
- Index += 1
- Next
- DtSeccionAlmacen.Rows.RemoveAt(Index)
- DtSeccionAlmacen.AcceptChanges()
- CargaSeccionAlmacen()
- End Sub
-
- 'Protected Sub LnkVerSecciones_Click(sender As Object, e As EventArgs)
- ' If Not CveVentaSurtir > 0 Then
- ' Alert("Tiene que seleccionar la venta a surtir", TipoMensaje.MsgAdvertencia)
- ' Exit Sub
- ' End If
-
- ' If Not DdlAlmacen.SelectedValue.ToEntero > 0 Then
- ' Alert("Tiene que seleccionar el almacen", TipoMensaje.MsgAdvertencia)
- ' Exit Sub
- ' End If
-
- ' Dim ObjInv As New ClsInventarios
- ' If ObjInv.GetExistenciaSeccionAlmacen(CveVentaSurtir, DdlAlmacen.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
- ' GvVerSeccionesAlmacen.DataSource = ObjInv.DtResultados
- ' End If
- ' ObjInv.Dispose()
- ' GvVerSeccionesAlmacen.DataBind()
- ' UpVerSeccionesAlmacen.Update()
- ' RegistraScript("$('#ModalVerSeccionesAlmacen').modal()")
- 'End Sub
-
#End Region
Protected Sub DldChofer_SelectedIndexChanged(sender As Object, e As EventArgs)
@@ -2788,7 +2477,7 @@ Partial Class Inventarios_TraspasoAlmacen
Protected Sub BtnCargaExcelConceptos_Click(sender As Object, e As EventArgs)
If TxtExcelConceptos.getfiles().Archivos.Count > 0 Then
Dim file As Archivo = TxtExcelConceptos.getfiles().Archivos(0)
- Dim Directorio As String = ModExtensiones.DirectorioBaseEmpresas & file.patch
+ Dim Directorio As String = AppDomain.CurrentDomain.BaseDirectory & file.patch
CargarArchivoConceptos(Directorio, file.filename)
RegistraScript("$('#DivCargaExcelConceptos').modal('hide');")
Else
@@ -2883,6 +2572,8 @@ Partial Class Inventarios_TraspasoAlmacen
Dim Cantidad As Double = RowExcel("Cantidad").ToString().ToDecimal()
Dim SerieLote As String = RowExcel("SerieLote").ToString()
Dim Observaciones As String = RowExcel("Observaciones").ToString()
+ Dim FechaCaducidad As Date = MinFecha
+ Dim Lote As String = "-1"
If CveProducto > 0 Then
@@ -2908,7 +2599,7 @@ Partial Class Inventarios_TraspasoAlmacen
End If
If Valido Then
- Valido = ValidaExistencia(Cantidad, CveProducto, CveUnidadMedida, If(Not String.IsNullOrEmpty(SerieLote), SerieLote, "-1"), "-1", "-1")
+ Valido = ValidaExistencia(Cantidad, CveProducto, CveUnidadMedida, -1, If(Not String.IsNullOrEmpty(SerieLote), SerieLote, "-1"), Lote, FechaCaducidad)
End If
If Valido Then
diff --git a/OC/OC.aspx b/OC/OC.aspx
index 825622dbb..03f515e71 100644
--- a/OC/OC.aspx
+++ b/OC/OC.aspx
@@ -1380,7 +1380,7 @@
-
+
diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb
index b3456153b..43b09710e 100644
--- a/OC/OC.aspx.vb
+++ b/OC/OC.aspx.vb
@@ -2841,7 +2841,7 @@ Partial Class OC
Dim CveMovimientoEntradaAjuste = ObjInventarios.AddMovimiento(CveAlmacen, 2, 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Modulo:="OC/G")
If ObjInventarios.GetMovimientosDetalle(CveMovimientoSalidaAjuste, UsuarioActual.CveEmpresa) Then
For Each Dr As DataRow In ObjInventarios.DtResultados.Rows
- If Not ObjInventarios.AddMovimientoDetalle(CveMovimientoEntradaAjuste, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, DtInvOCDiferencias.FiltroPrimeroValor("ImporteMovto", $"CveOrdenCompraDetalle = {Dr("CveOrdenCompraDetalle").ToString.ToEntero}").ToDouble, Dr("CveAF").ToString.ToEntero, -1, Dr("SerieLote").ToString, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString, CveOrdenCompraDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero) Then
+ If Not ObjInventarios.AddMovimientoDetalle(CveMovimientoEntradaAjuste, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, DtInvOCDiferencias.FiltroPrimeroValor("ImporteMovto", $"CveOrdenCompraDetalle = {Dr("CveOrdenCompraDetalle").ToString.ToEntero}").ToDouble, Dr("CveAF").ToString.ToEntero, -1, Dr("SerieLote").ToString, Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, CveOrdenCompraDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero) Then
TieneError = True
Exit For
End If
@@ -6346,7 +6346,7 @@ Partial Class OC
Private Function GetPS(Opt As String, Valor As String) As String
Dim StrReturn As String = String.Empty
Dim CvePS As Integer = 0
- CvePS = GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePS", Opt & " = '" & Valor & "'").ToString.ToEntero
+ CvePS = GlobalDTPS(UsuarioActual.CveEmpresa, Estatus:=1).FiltroPrimeroValor("CvePS", Opt & " = '" & Valor & "'").ToString.ToEntero
If CvePS > 0 Then
StrReturn = "True|" & CvePS.ToString
Else
@@ -6819,7 +6819,7 @@ Partial Class OC
GVInv.Columns(4).Visible = True
End If
- If e.Row.DBCampo("Batch") <> "" Then
+ If e.Row.DBCampo("FechaCaducidad") <> "" Then
GVInv.Columns(4).Visible = True
End If
diff --git a/PortalGPS/InicioGPS.aspx b/PortalGPS/InicioGPS.aspx
index 3108676c0..51c7e7c0a 100644
--- a/PortalGPS/InicioGPS.aspx
+++ b/PortalGPS/InicioGPS.aspx
@@ -340,11 +340,5 @@
}
-
- <%----%>
+
-
diff --git a/Ventas/PV.aspx b/Ventas/PV.aspx
index 239c1c1d6..a662f8e14 100644
--- a/Ventas/PV.aspx
+++ b/Ventas/PV.aspx
@@ -945,7 +945,7 @@
-
+
diff --git a/Ventas/PV.aspx.vb b/Ventas/PV.aspx.vb
index dee07e6c9..c010e3d4c 100644
--- a/Ventas/PV.aspx.vb
+++ b/Ventas/PV.aspx.vb
@@ -2920,13 +2920,13 @@ Partial Class PV
DtTemporal.Columns.Add("Lote", Type.GetType("System.String"))
End If
- If Not DtTemporal.Columns.Contains("Batch") Then
- DtTemporal.Columns.Add("Batch", Type.GetType("System.String"))
+ If Not DtTemporal.Columns.Contains("FechaCaducidad") Then
+ DtTemporal.Columns.Add("FechaCaducidad", Type.GetType("System.DateTime"))
End If
GvInv.Columns(4).Visible = DtTemporal.MAX("SerieLote", "SerieLote <> ''") <> "" Or CveVenta <= 0
GvInv.Columns(5).Visible = DtTemporal.MAX("Lote", "Lote <> ''") <> ""
- GvInv.Columns(6).Visible = DtTemporal.MAX("Lote", "Lote <> ''") <> ""
+ GvInv.Columns(6).Visible = DtTemporal.MAX("FechaCaducidad", "FechaCaducidad <> ''") <> ""
GvInv.DataSource = DtTemporal.FiltraParametros("EliminarDB = False")
GvInv.DataBind()
diff --git a/Ventas/ProductosServicios.aspx.vb b/Ventas/ProductosServicios.aspx.vb
index 5bcf203e4..3bf35821a 100644
--- a/Ventas/ProductosServicios.aspx.vb
+++ b/Ventas/ProductosServicios.aspx.vb
@@ -2545,7 +2545,7 @@ Partial Class ProductosyServicios
DdlAlmacen.Items.Add(New ListItem("Seleccione", "-1"))
DdlAlmacen.DataBind()
- DdlSeccionAlmacen.DataSource = GlobalDTSeccionAlmacen(UsuarioActual.CveEmpresa)
+ DdlSeccionAlmacen.DataSource = GlobalDTSeccionAlmacen(UsuarioActual.CveEmpresa, -1)
DdlSeccionAlmacen.Items.Add(New ListItem("Seleccione", "-1"))
DdlSeccionAlmacen.DataBind()
diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx
index 601d94852..fe284e7fa 100644
--- a/Ventas/Ventas.aspx
+++ b/Ventas/Ventas.aspx
@@ -1614,7 +1614,7 @@
Almacén: