diff --git a/Inventarios/EntregaAlmacen.aspx b/Inventarios/EntregaAlmacen.aspx
index f175f0d5d..2c2378d3e 100644
--- a/Inventarios/EntregaAlmacen.aspx
+++ b/Inventarios/EntregaAlmacen.aspx
@@ -244,9 +244,9 @@
-
-
-
+
+
+
ver detalle de entrega
@@ -453,7 +453,7 @@
-
+
diff --git a/Inventarios/EntregaAlmacen.aspx.vb b/Inventarios/EntregaAlmacen.aspx.vb
index 4b587a27a..e16e212d4 100644
--- a/Inventarios/EntregaAlmacen.aspx.vb
+++ b/Inventarios/EntregaAlmacen.aspx.vb
@@ -244,6 +244,14 @@ Partial Class Inventarios_EntregaAlmacen
ViewState("EsDevolucionDirecta") = value
End Set
End Property
+ Private Property FormaPaqueteria As Integer
+ Get
+ Return CType(ViewState("FormaPaqueteria"), Integer)
+ End Get
+ Set(value As Integer)
+ ViewState("FormaPaqueteria") = value
+ End Set
+ End Property
#End Region
@@ -322,6 +330,7 @@ Partial Class Inventarios_EntregaAlmacen
CreaDtDetalleLote()
CargaPendientes()
+
LimpiaCampos()
End Sub
@@ -628,7 +637,6 @@ Partial Class Inventarios_EntregaAlmacen
LnkPaqueteriaDetalle.Visible = True
End Select
End If
-
'TxtFecha.Text = If(EsDevolucionVenta = 1, Now.ToShortDateString, DtDatos.Rows(0)("Fecha").ToString)
End If
@@ -1931,7 +1939,7 @@ Partial Class Inventarios_EntregaAlmacen
CveMovimientoEntradaApartado = ObjInventario.AddMovimiento(CveAlmacenExA, 9, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1,
Observaciones:=TxtObservaciones.Text.Trim, CveAlmacenDestino:=DdlAlmacen.SelectedValue.ToEntero, CveMovimientoRelacionado:=CveMovimientoSalida,
- Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente, Modulo:="RE/GSC22")
+ Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente, Modulo:="RE/G4")
FolioEntrada = ObjInventario.Folio
If Not CveMovimientoEntradaApartado > 0 Then
@@ -2228,7 +2236,7 @@ Partial Class Inventarios_EntregaAlmacen
Dim CveMovimientoDevolucionSinCosto = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero(), 41, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1,
Observaciones:=TxtObservaciones.Text.Trim, CveAlmacenDestino:=DdlAlmacen.SelectedValue.ToEntero, CveMovimientoRelacionado:=CveMovimientoSalida,
- Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente, Modulo:="RE/GSC4")
+ Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente, Modulo:="RE/G4")
Dim FolioDevSinCosto = ObjInventario.Folio
If Not CveMovimientoDevolucionSinCosto > 0 Then
@@ -2275,13 +2283,15 @@ Partial Class Inventarios_EntregaAlmacen
ElseIf TipoMovimiento = 2 Then
CantidadPendientePorSalir = CantidadPendientePorSalir - CantidadEntradaSinCosto
End If
+ 'si el alamcen del que salio, es el mismo que entra, no hay traspasos.
+ If CveAlmacenTraspasoDestino = DdlAlmacen.SelectedValue.ToEntero Then CveAlmacenTraspasoDestino = 0
If Not ErrorMovInv AndAlso CantidadPendientePorSalir > 0 Then
Dim ConceptoMovimiento = 3
ConceptoMovimiento = If(TipoMovimiento = 1, ConceptoMovimiento, 18)
ConceptoMovimiento = If(CveAlmacenTraspasoDestino > 0, 8, ConceptoMovimiento)
- Dim Almacen1 = DdlAlmacen.SelectedValue.ToEntero
+ Dim Almacen1 As Integer = DdlAlmacen.SelectedValue.ToEntero
If TipoDocto = "Rem" AndAlso CveAlmacenTraspasoDestino = 0 Then
ErrorMovInv = True
@@ -2424,296 +2434,253 @@ Partial Class Inventarios_EntregaAlmacen
ErrorMovInv = True
TextoError.AppendFormat("Ocurrió un error al guardar los movimientos de entrada")
End If
- End If
-
- Else 'REGISTRO LA PREPOLIZA DE COSTO VS ALMACEN - SALIDA ALMACEN
- Dim DtCostos As DataTable = Nothing
- Dim ValorInventario As Decimal = 0
- If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
- DtCostos = ObjInventario.DtResultados
-
- Dim tmpCostos As DataTable = DtCostos.FiltraParametros("", "", {"CveClasificacion"})
- Dim IdCtaContableAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen = {DdlAlmacen.SelectedValue}").ToEntero
- Dim CveCuentaAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContableSIG", $"CveAlmacen = {DdlAlmacen.SelectedValue}").ToEntero
- Dim IdCtaContable As Integer = 0
- Dim CveCuenta As Integer = 0
- If tmpCostos.Rows.Count > 0 Then
-
-
- If ObjVentas.GetVenta(CveVentaSurtir, UsuarioActual.CveEmpresa) Then
- Dim Fecha As Date = TxtFecha.Text.ToDate ' If(TipoMovimiento <> 1, TxtFecha.Text.ToDate, ObjVentas.DtResultados(0)("Fecha").ToString.ToDate)
- Dim CveCliente As Integer = ObjVentas.DtResultados(0)("CveCliente").ToString.ToEntero
- Dim ClienteNombre As String = ObjVentas.DtResultados(0)("ClienteNombre").ToString
- Dim Serie As String = ObjVentas.DtResultados(0)("Serie").ToString
- Dim TotalCosto As Decimal = DtCostos.SUMD("Total").RoundSQL()
- Dim TotalCostoAcumulado As Decimal = 0
- Dim cont As Integer = 1
-
- Dim ValorMultiplicador = 1
-
- If TipoMovimiento = 1 Then
- ValorMultiplicador = 1
- ElseIf TipoMovimiento = 2 Then
- ValorMultiplicador = -1
- ElseIf TipoMovimiento = 2 AndAlso TipoDocto.Contiene({"Dev"}) And (EsDevolucionVenta = 1) Then
- ValorMultiplicador = 1
- End If
-
- Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inventario/RecepcionEntrega", 4, TotalCosto, TotalCosto, 1, Fecha, ClienteNombre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
- 'Se agrega movimiento separado por la cuenta de ventas (ER)
-
- If CvePrePoliza > 0 Then
-
- For Each RowInv As DataRow In tmpCostos.Rows
- ValorInventario = DtCostos.SUMD("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").RoundSQL()
- TotalCostoAcumulado += ValorInventario
-
- 'cuando es el último movimiento y hay diferencias en los importes
- If cont = DtCostos.FiltraParametros("", "", {"CveClasificacion"}).Rows.Count AndAlso TotalCosto <> TotalCostoAcumulado Then
- ValorInventario = ValorInventario + (TotalCosto - TotalCostoAcumulado)
- End If
+ End If
- End If
-
- End If
-
-
- 'DEVOLUCION APARTADOS
- If Not ErrorMovInv Then
- If TipoMovimiento = 2 Then
- If ObjInventario.VentasAlmacenApartadosGet(CveVentaSurtir) Then
-
- Dim DtTempApartados = ObjInventario.DtResultados.FiltraParametros("CveTipoAlmacen = 9", "CveAlmacen")
- Dim CveMovimientoSalidaApartado = -1
- Dim CveAlmacenApartado = -1
- Dim CveAlmacenOrigen = If(CveAlmacenTraspasoDestino > 0, CveAlmacenTraspasoDestino, DdlAlmacen.SelectedValue.ToEntero)
-
- For Each Dr As DataRow In DtTempApartados.Rows
-
- If CveMovimientoSalidaApartado = -1 Or CveAlmacenApartado <> Dr("CveAlmacen").ToString.ToEntero Then
- CveMovimientoSalidaApartado = ObjInventario.AddMovimiento(CveAlmacenOrigen, 8, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1,
- Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente,
- CveAlmacenDestino:=Dr("CveAlmacen").ToString.ToEntero, Modulo:="RE/G9")
- FolioSalida = ObjInventario.Folio
- CveAlmacenApartado = Dr("CveAlmacen").ToString.ToEntero
-
- Dim DrMovto = DtTraspasos.NewRow
- DrMovto("Almacen") = Dr("Almacen").ToString.ToEntero
- DrMovto("CveAlmacen") = Dr("CveAlmacen").ToString.ToEntero
- DrMovto("CveMovimientoSalida") = CveMovimientoSalidaApartado
- DrMovto("FolioSalida") = FolioSalida
- DtTraspasos.Rows.Add(DrMovto)
- End If
-
- If Not CveMovimientoSalidaApartado > 0 Then
- ErrorMovInv = True
- TextoError.AppendFormat("Ocurrió un error al guardar los movimientos de control de apartados")
- Exit For
- End If
-
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalidaApartado, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, CveAF:=Dr("CveAF").ToString.ToEntero, Serie:=Dr("Serie").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, Lote:=Dr("Lote").ToString) Then
- ErrorMovInv = True
- TextoError.AppendFormat("Ocurrió un error al guardar los movimientos de control de apartados")
- Exit For
- End If
- Next
-
- If Not ErrorMovInv Then
- For Each Dr1 As DataRow In DtTraspasos.Rows
- CveMovimientoSalida = Dr1("CveMovimientoSalida").ToString.ToEntero
-
- CveMovimientoEntradaApartado = ObjInventario.AddMovimiento(Dr1("CveAlmacen").ToString.ToEntero, 9, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
- -1, CveVentaSurtir, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, CveAlmacenDestino:=DdlAlmacen.SelectedValue.ToEntero,
- CveMovimientoRelacionado:=CveMovimientoSalida, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor,
- CveCliente:=CveCliente, Modulo:="RE/G10")
- FolioEntrada = ObjInventario.Folio
-
- If Not CveMovimientoEntradaApartado > 0 Then
- ErrorMovInv = True
- TextoError.AppendFormat("Ocurrió un error al procesar los movimientos de traspaso de apartado. Por favor vuelva a intentar.")
- Exit For
- End If
-
- Dr1("CveMovimientoEntrada") = CveMovimientoEntradaApartado
- Dr1("FolioEntrada") = FolioEntrada
-
- If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
- For Each Dr As DataRow In ObjInventario.DtResultados.Rows
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntradaApartado, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, CveAF:=Dr("CveAF").ToString.ToEntero, Serie:=Dr("Serie").ToString, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero, Lote:=Dr("Lote").ToString) Then
- ErrorMovInv = True
- TextoError.AppendFormat("Ocurrió un error al procesar los conceptos de traspaso de apartado. Por favor vuelva a intentar.")
- Exit For
- End If
- Next
- End If
-
- If ErrorMovInv Then Exit For
-
- Next
- End If
-
- End If
- End If
- End If
-
- 'QUEMAR REMISIONES
- If Not ErrorMovInv And EsDevolucionVenta = 1 And TipoDocto = "Ing" Then
- Dim DtDevRem As New DataTable
-
- 'CARGA REMISIONES DE LA VENTA DEVUELTA
- If ObjInventario.GetDevolucionRemisionesFacturadas(CveVentaSurtir) Then
- DtDevRem = ObjInventario.DtResultados.FiltraParametros("CantidadAlmacen = 0")
- Else
- ErrorMovInv = True
- End If
-
- If Not ErrorMovInv Then
- If DtDevRem.Rows.Count > 0 Then
- For Each DrMovtos As DataRow In DtDevRem.FiltraParametros("", "CveRem", {"CveRem"}).Rows
- If Not ObjInventario.ActualizarEsDevolucionVenta(DrMovtos("CveRem").ToString.ToEntero, 2) Then
- TextoError.AppendFormat("Ocurrió un error al hacer la devolución hacia la remision. Por favor vuelva a intentar.")
- ErrorMovInv = True
- Exit For
- End If
- Next
- End If
- Else
- TextoError.AppendFormat("Ocurrió un error al hacer la devolucion a remisión. Por favor vuelva a intentar.")
- ErrorMovInv = True
- End If
-
- End If
-
- 'QUEMA DEVOLUCION | QUEMA = LA QUITA DE PENDIENTE POR RECIBIR (DEVOLVER)
- If Not ErrorMovInv And EsDevolucionVenta = 1 Then
- If Not ObjVentas.UpdateVentasDevolucionAlmacen(2, CveVentaSurtir) Then
- TextoError.AppendFormat("Ocurrió un error al hacer la devolución. Por favor vuelva a intentar.")
- ErrorMovInv = True
- End If
- End If
-
- If Not ErrorMovInv And EsDevolucionVenta = 0 Then
- If Not ObjVentas.UpdateVentasDevolucionAlmacen(0, CveVentaSurtir) Then
- TextoError.AppendFormat("Ocurrió un error al hacer la devolucion. Por favor vuelva a intentar.")
- ErrorMovInv = True
- End If
- End If
-
- ' COMIENZA: VIRTUAL
- If Not ErrorMovInv AndAlso TipoDocto.Contiene("Ing", "Dev") AndAlso UsuarioActual.Empresa.Funcionalidad(573) = "1" AndAlso CveMovimiento > 0 Then
- Dim DtPSVirtual As New DataTable("DtTamanios")
-
- If ObjInventario.GetMovimientosDetalleVirtual(CveMovimiento, UsuarioActual.CveEmpresa) Then
- DtPSVirtual = ObjInventario.DtResultados
- End If
-
- '
- 'DtPSVirtual.Columns.Add(New DataColumn("CvePS", GetType(Integer)))
- 'DtPSVirtual.Columns.Add(New DataColumn("Cantidad", GetType(Decimal)))
- 'DtPSVirtual.Columns.Add(New DataColumn("PU", GetType(Decimal)))
- 'DtPSVirtual.Columns.Add(New DataColumn("CveUM", GetType(Integer)))
-
- 'Dim DtTamanios As DataTable = Nothing
-
- 'If ObjAcumuladores.TamañoGet(-1, UsuarioActual.CveEmpresa) Then
- ' DtTamanios = ObjAcumuladores.DtResultados.Copy()
- 'End If
-
- Dim CveConceptoMovimientoVirtual As Integer = -1
- Dim CveAlmacenVirtual As Integer = -1
- Dim CveMovimientoRelacionadoVirtual As Integer = CveMovimiento
- Dim ValidaVirtual As Boolean = False
- CveAlmacenVirtual = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 24).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero()
-
- If TipoMovimiento = 1 Then
- CveConceptoMovimientoVirtual = 37
-
- ElseIf TipoMovimiento = 2 Then
- ValidaVirtual = True
- CveConceptoMovimientoVirtual = 36
- End If
-
- If DtPSVirtual IsNot Nothing AndAlso DtPSVirtual.Rows.Count > 0 AndAlso CveAlmacenVirtual > 0 AndAlso CveConceptoMovimientoVirtual > 0 Then
- CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirtual, CveConceptoMovimientoVirtual, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1,
- Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveMovimientoRelacionado:=CveMovimientoRelacionadoVirtual, Modulo:="RE/G6")
- FolioVirtual = ObjInventario.Folio
-
- If CveMovimientoVirtual > 0 Then
- For Each RowUsado As DataRow In DtPSVirtual.Rows
- Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
- Dim CantidadUsado As Double = RowUsado("Cantidad").ToString().ToDouble()
- Dim PU As Decimal = RowUsado("PU").ToString().ToDecimal()
- Dim CveUM As Integer = RowUsado("CveUM").ToString().ToEntero()
-
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtual, CantidadUsado, CveUM, CvePS, PU) Then
- ErrorMovInv = True
- TextoError.AppendFormat("Ocurrió un error al procesar los conceptos de traspaso de apartado. Por favor vuelva a intentar.")
- Exit For
- End If
- Next
- Else
- ErrorMovInv = True
- End If
-
- Else
- If ValidaVirtual Then
- ErrorMovInv = True
- TextoError.AppendFormat("Ocurrió un error al procesar el movimiento en almacen virtual. Por favor vuelva a intentar.")
-
- End If
- End If
-
- If DtPSVirtual.Rows.Count = 0 AndAlso ValidaVirtual = True Then
- ErrorMovInv = True
- TextoError.AppendFormat("No se tienen productos para el almacen virtual.")
- End If
- End If
-
- ' TERMINA: VIRTUAL
-
-
- 'AGREGA BITACORA A VENTA
- If Not ErrorMovInv Then
- Dim MensajeBitacora = If(TipoMovimiento = 1, "Surtida", "Devuelta")
- If Not ObjEventos.AddEventoBitacora(String.Format("Venta {2} en Folio: {1}", CveMovimiento, Folio, MensajeBitacora), "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveVenta:=CveVentaSurtir) Then
- ErrorMovInv = True
- End If
- End If
-
- 'Paqueterias guias
- If RbEntregaInterna.Checked AndAlso Not ErrorMovInv Then
- Dim CveEstatus As Integer = DdlEstatus.SelectedValue.ToEntero()
- Dim Fecha As String = TxtFechaPaqInterna.Text
- Dim FechaEstimada As String = If(TxtFechaEstimada.Text = "", "-1", TxtFechaEstimada.Text)
- Dim NoCajas As Integer = TxtNoCajas.Text.ToEntero()
- Dim Observaciones As String = TxtObservacionesPaqInterna.Text
- Dim CvePaqueteria As Integer = GlobalDTPaqueterias().FiltroPrimeroValor("CvePaqueteria", String.Format("CveEmpresa={0} AND TipoPaqueteria = 0", UsuarioActual.CveEmpresa)).ToEntero
-
- If CveSubProyecto > 0 Then
- Dim CvePaqueteriaGuia As Integer = ObjGeneral.AddPaqueteriasGuias(CvePaqueteria, 9, CveEstatus, CveSubProyecto, Fecha, "", "", NoCajas, 0.00, "-1", FechaEstimada, Observaciones, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, EsEntregaInterna:=True)
-
- If CvePaqueteriaGuia > 0 Then
-
- If CveVentaSurtir > 0 OrElse CveSubProyecto > 0 Then
- If ObjGeneral.AddPaqueteriasGuiasDetalles(CvePaqueteriaGuia, CveVentaSurtir, -1, CveMovimiento, -1) Then
- ''manda correo
- MandaCorreoEntrega(CveVentaSurtir)
- Else
- ErrorMovInv = True
- End If
- End If
- If ErrorMovInv Then
- Alert("Error en el paqueteria guia detalle", TipoMensaje.MsgError)
- End If
- Else
- ErrorMovInv = True
- Alert("Error en el paqueteria guia", TipoMensaje.MsgError)
- End If
- Else
- Alert("Hace falta indicar un Sub Proyecto", TipoMensaje.MsgAdvertencia)
- ErrorMovInv = True
- End If
+ Else 'REGISTRO LA PREPOLIZA DE COSTO VS ALMACEN - SALIDA ALMACEN
+ ErrorMovInv = Not GenerarPrePoliza(ObjInventario, ObjVentas, ObjConta, CveMovimiento, TextoError)
+ End If
+
+ End If
+
+ End If
+
+
+ 'DEVOLUCION APARTADOS
+ If Not ErrorMovInv Then
+ If TipoMovimiento = 2 Then
+ If ObjInventario.VentasAlmacenApartadosGet(CveVentaSurtir) Then
+
+ Dim DtTempApartados = ObjInventario.DtResultados.FiltraParametros("CveTipoAlmacen = 9", "CveAlmacen")
+ Dim CveMovimientoSalidaApartado = -1
+ Dim CveAlmacenApartado = -1
+ Dim CveAlmacenOrigen = If(CveAlmacenTraspasoDestino > 0, CveAlmacenTraspasoDestino, DdlAlmacen.SelectedValue.ToEntero)
+
+ For Each Dr As DataRow In DtTempApartados.Rows
+
+ If CveMovimientoSalidaApartado = -1 Or CveAlmacenApartado <> Dr("CveAlmacen").ToString.ToEntero Then
+ CveMovimientoSalidaApartado = ObjInventario.AddMovimiento(CveAlmacenOrigen, 8, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1,
+ Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente,
+ CveAlmacenDestino:=Dr("CveAlmacen").ToString.ToEntero, Modulo:="RE/G9")
+ FolioSalida = ObjInventario.Folio
+ CveAlmacenApartado = Dr("CveAlmacen").ToString.ToEntero
+
+ Dim DrMovto = DtTraspasos.NewRow
+ DrMovto("Almacen") = Dr("Almacen").ToString.ToEntero
+ DrMovto("CveAlmacen") = Dr("CveAlmacen").ToString.ToEntero
+ DrMovto("CveMovimientoSalida") = CveMovimientoSalidaApartado
+ DrMovto("FolioSalida") = FolioSalida
+ DtTraspasos.Rows.Add(DrMovto)
+ End If
+
+ If Not CveMovimientoSalidaApartado > 0 Then
+ ErrorMovInv = True
+ TextoError.AppendFormat("Ocurrió un error al guardar los movimientos de control de apartados")
+ Exit For
+ End If
+
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalidaApartado, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, CveAF:=Dr("CveAF").ToString.ToEntero, Serie:=Dr("Serie").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, Lote:=Dr("Lote").ToString) Then
+ ErrorMovInv = True
+ TextoError.AppendFormat("Ocurrió un error al guardar los movimientos de control de apartados")
+ Exit For
+ End If
+ Next
+
+ If Not ErrorMovInv Then
+ For Each Dr1 As DataRow In DtTraspasos.Rows
+ CveMovimientoSalida = Dr1("CveMovimientoSalida").ToString.ToEntero
+
+ CveMovimientoEntradaApartado = ObjInventario.AddMovimiento(Dr1("CveAlmacen").ToString.ToEntero, 9, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
+ -1, CveVentaSurtir, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, CveAlmacenDestino:=DdlAlmacen.SelectedValue.ToEntero,
+ CveMovimientoRelacionado:=CveMovimientoSalida, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor,
+ CveCliente:=CveCliente, Modulo:="RE/G10")
+ FolioEntrada = ObjInventario.Folio
+
+ If Not CveMovimientoEntradaApartado > 0 Then
+ ErrorMovInv = True
+ TextoError.AppendFormat("Ocurrió un error al procesar los movimientos de traspaso de apartado. Por favor vuelva a intentar.")
+ Exit For
End If
+
+ Dr1("CveMovimientoEntrada") = CveMovimientoEntradaApartado
+ Dr1("FolioEntrada") = FolioEntrada
+
+ If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
+ For Each Dr As DataRow In ObjInventario.DtResultados.Rows
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntradaApartado, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, CveAF:=Dr("CveAF").ToString.ToEntero, Serie:=Dr("Serie").ToString, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero, Lote:=Dr("Lote").ToString) Then
+ ErrorMovInv = True
+ TextoError.AppendFormat("Ocurrió un error al procesar los conceptos de traspaso de apartado. Por favor vuelva a intentar.")
+ Exit For
+ End If
+ Next
+ End If
+
+ If ErrorMovInv Then Exit For
+
+ Next
+ End If
+
+ End If
+ End If
+ End If
+
+ 'QUEMAR REMISIONES
+ If Not ErrorMovInv And EsDevolucionVenta = 1 And TipoDocto = "Ing" Then
+ Dim DtDevRem As New DataTable
+
+ 'CARGA REMISIONES DE LA VENTA DEVUELTA
+ If ObjInventario.GetDevolucionRemisionesFacturadas(CveVentaSurtir) Then
+ DtDevRem = ObjInventario.DtResultados.FiltraParametros("CantidadAlmacen = 0")
+ Else
+ ErrorMovInv = True
+ End If
+
+ If Not ErrorMovInv Then
+ If DtDevRem.Rows.Count > 0 Then
+ For Each DrMovtos As DataRow In DtDevRem.FiltraParametros("", "CveRem", {"CveRem"}).Rows
+ If Not ObjInventario.ActualizarEsDevolucionVenta(DrMovtos("CveRem").ToString.ToEntero, 2) Then
+ TextoError.AppendFormat("Ocurrió un error al hacer la devolución hacia la remision. Por favor vuelva a intentar.")
+ ErrorMovInv = True
+ Exit For
+ End If
+ Next
+ End If
+ Else
+ TextoError.AppendFormat("Ocurrió un error al hacer la devolucion a remisión. Por favor vuelva a intentar.")
+ ErrorMovInv = True
+ End If
+
+ End If
+
+ 'QUEMA DEVOLUCION | QUEMA = LA QUITA DE PENDIENTE POR RECIBIR (DEVOLVER)
+ If Not ErrorMovInv And EsDevolucionVenta = 1 Then
+ If Not ObjVentas.UpdateVentasDevolucionAlmacen(2, CveVentaSurtir) Then
+ TextoError.AppendFormat("Ocurrió un error al hacer la devolución. Por favor vuelva a intentar.")
+ ErrorMovInv = True
+ End If
+ End If
+
+ If Not ErrorMovInv And EsDevolucionVenta = 0 Then
+ If Not ObjVentas.UpdateVentasDevolucionAlmacen(0, CveVentaSurtir) Then
+ TextoError.AppendFormat("Ocurrió un error al hacer la devolucion. Por favor vuelva a intentar.")
+ ErrorMovInv = True
+ End If
+ End If
+
+ ' COMIENZA: VIRTUAL
+ If Not ErrorMovInv AndAlso TipoDocto.Contiene("Ing", "Dev") AndAlso UsuarioActual.Empresa.Funcionalidad(573) = "1" AndAlso CveMovimiento > 0 Then
+ Dim DtPSVirtual As New DataTable("DtTamanios")
+
+ If ObjInventario.GetMovimientosDetalleVirtual(CveMovimiento, UsuarioActual.CveEmpresa) Then
+ DtPSVirtual = ObjInventario.DtResultados
+ End If
+
+ '
+ 'DtPSVirtual.Columns.Add(New DataColumn("CvePS", GetType(Integer)))
+ 'DtPSVirtual.Columns.Add(New DataColumn("Cantidad", GetType(Decimal)))
+ 'DtPSVirtual.Columns.Add(New DataColumn("PU", GetType(Decimal)))
+ 'DtPSVirtual.Columns.Add(New DataColumn("CveUM", GetType(Integer)))
+
+ 'Dim DtTamanios As DataTable = Nothing
+
+ 'If ObjAcumuladores.TamañoGet(-1, UsuarioActual.CveEmpresa) Then
+ ' DtTamanios = ObjAcumuladores.DtResultados.Copy()
+ 'End If
+
+ Dim CveConceptoMovimientoVirtual As Integer = -1
+ Dim CveAlmacenVirtual As Integer = -1
+ Dim CveMovimientoRelacionadoVirtual As Integer = CveMovimiento
+ Dim ValidaVirtual As Boolean = False
+ CveAlmacenVirtual = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 24).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero()
+
+ If TipoMovimiento = 1 Then
+ CveConceptoMovimientoVirtual = 37
+
+ ElseIf TipoMovimiento = 2 Then
+ ValidaVirtual = True
+ CveConceptoMovimientoVirtual = 36
+ End If
+
+ If DtPSVirtual IsNot Nothing AndAlso DtPSVirtual.Rows.Count > 0 AndAlso CveAlmacenVirtual > 0 AndAlso CveConceptoMovimientoVirtual > 0 Then
+ CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirtual, CveConceptoMovimientoVirtual, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1,
+ Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveMovimientoRelacionado:=CveMovimientoRelacionadoVirtual, Modulo:="RE/G6")
+ FolioVirtual = ObjInventario.Folio
+
+ If CveMovimientoVirtual > 0 Then
+ For Each RowUsado As DataRow In DtPSVirtual.Rows
+ Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
+ Dim CantidadUsado As Double = RowUsado("Cantidad").ToString().ToDouble()
+ Dim PU As Decimal = RowUsado("PU").ToString().ToDecimal()
+ Dim CveUM As Integer = RowUsado("CveUM").ToString().ToEntero()
+
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtual, CantidadUsado, CveUM, CvePS, PU) Then
+ ErrorMovInv = True
+ TextoError.AppendFormat("Ocurrió un error al procesar los conceptos de traspaso de apartado. Por favor vuelva a intentar.")
+ Exit For
+ End If
+ Next
+ Else
+ ErrorMovInv = True
+ End If
+
+ Else
+ If ValidaVirtual Then
+ ErrorMovInv = True
+ TextoError.AppendFormat("Ocurrió un error al procesar el movimiento en almacen virtual. Por favor vuelva a intentar.")
+
+ End If
+ End If
+
+ If DtPSVirtual.Rows.Count = 0 AndAlso ValidaVirtual = True Then
+ ErrorMovInv = True
+ TextoError.AppendFormat("No se tienen productos para el almacen virtual.")
+ End If
+ End If
+
+ ' TERMINA: VIRTUAL
+
+
+ 'AGREGA BITACORA A VENTA
+ If Not ErrorMovInv Then
+ Dim MensajeBitacora = If(TipoMovimiento = 1, "Surtida", "Devuelta")
+ If Not ObjEventos.AddEventoBitacora(String.Format("Venta {2} en Folio: {1}", CveMovimiento, Folio, MensajeBitacora), "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveVenta:=CveVentaSurtir) Then
+ ErrorMovInv = True
+ End If
+ End If
+
+ 'Paqueterias guias
+ If RbEntregaInterna.Checked AndAlso Not ErrorMovInv Then
+ Dim CveEstatus As Integer = DdlEstatus.SelectedValue.ToEntero()
+ Dim Fecha As String = TxtFechaPaqInterna.Text
+ Dim FechaEstimada As String = If(TxtFechaEstimada.Text = "", "-1", TxtFechaEstimada.Text)
+ Dim NoCajas As Integer = TxtNoCajas.Text.ToEntero()
+ Dim Observaciones As String = TxtObservacionesPaqInterna.Text
+ Dim CvePaqueteria As Integer = GlobalDTPaqueterias().FiltroPrimeroValor("CvePaqueteria", String.Format("CveEmpresa={0} AND TipoPaqueteria = 0", UsuarioActual.CveEmpresa)).ToEntero
+
+ If CveSubProyecto > 0 Then
+ Dim CvePaqueteriaGuia As Integer = ObjGeneral.AddPaqueteriasGuias(CvePaqueteria, 9, CveEstatus, CveSubProyecto, Fecha, "", "", NoCajas, 0.00, "-1", FechaEstimada, Observaciones, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, EsEntregaInterna:=True)
+
+ If CvePaqueteriaGuia > 0 Then
+
+ If CveVentaSurtir > 0 OrElse CveSubProyecto > 0 Then
+ If ObjGeneral.AddPaqueteriasGuiasDetalles(CvePaqueteriaGuia, CveVentaSurtir, -1, CveMovimiento, -1) Then
+ ''manda correo
+ MandaCorreoEntrega(CveVentaSurtir)
+ Else
+ ErrorMovInv = True
+ End If
+ End If
+ If ErrorMovInv Then
+ Alert("Error en el paqueteria guia detalle", TipoMensaje.MsgError)
+ End If
+ Else
+ ErrorMovInv = True
+ Alert("Error en el paqueteria guia", TipoMensaje.MsgError)
+ End If
+ Else
+ Alert("Hace falta indicar un Sub Proyecto", TipoMensaje.MsgAdvertencia)
+ ErrorMovInv = True
+ End If
+ End If
Catch ex As Exception
ErrorMovInv = True
OnError("Ocurrió un error al guardar", ex)
@@ -3671,13 +3638,12 @@ Partial Class Inventarios_EntregaAlmacen
Protected Sub EntregaRadioGroup_Click(sender As Object, e As EventArgs)
If RbEntregaExterna.Checked Then
RegistraScript("AbrirVentana('/General/PopUpPaqueteriasGuias.aspx',800,547,'N')")
- LnkPaqueteriaDetalle.Visible = False
ElseIf RbEntregaInterna.Checked Then
- LnkPaqueteriaDetalle.Visible = True
- 'RegistraScript("$('#ModalPaqueteriaInterna').modal('show')")
+ RegistraScript("$('#ModalPaqueteriaInterna').modal('show')")
+ 'RegistraScript($"AbrirVentana('/General/PopUpPaqueteriasGuiasInternas.aspx?CveVenta={CveVentaSurtir}&CveSubProyecto={CveSubProyecto}',800,547,'N')")
+ 'CveVentaSurtir
ElseIf RbSinEntrega.Checked Then
LimpiaCampos()
- LnkPaqueteriaDetalle.Visible = False
End If
End Sub
@@ -3689,6 +3655,13 @@ Partial Class Inventarios_EntregaAlmacen
TxtObservacionesPaqInterna.Text = ""
UpPaqInterna.Update()
End Sub
+ Protected Sub PaqueteriaDetalle_Click(sender As Object, e As EventArgs)
+ If RbEntregaExterna.Checked Then
+ RegistraScript("AbrirVentana('/General/PopUpPaqueteriasGuias.aspx',800,547,'N')")
+ ElseIf RbEntregaInterna.Checked Then
+ RegistraScript("$('#ModalPaqueteriaInterna').modal('show')")
+ End If
+ End Sub
#End Region
|