--No intentar contabilizar si el movimiento virtual no aplica

This commit is contained in:
2023-12-01 17:52:54 -07:00
parent 5eb743c874
commit 3344f4c2f7

View File

@@ -4007,7 +4007,7 @@ Partial Class Inventarios_EntradasSalidas
#Region "CAMBIO INVENTARIO FISICO"
Protected Sub LnkCambioInventarioFisico_Click(sender As Object, e As EventArgs)
RegistraScript(String.Format("$('#{0}').modal();", "DivModalCambioFisico"))
RegistraScript("$('#DivModalCambioFisico').modal({backdrop: 'static', keyboard: false});")
End Sub
Protected Sub LnkCambioVigencia_Click(sender As Object, e As EventArgs)
@@ -4438,8 +4438,20 @@ Partial Class Inventarios_EntradasSalidas
Exit Sub
End If
Dim ObjInventario As New ClsInventarios
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL())
Dim CveAlmacen As Integer = DdlAlmacenInventarioFisico.SelectedValue.ToEntero
Dim CveModalidad As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=CveAlmacen).FiltroPrimeroValor("CveModalidad").ToEntero()
Dim EsContabilizable As Boolean = (CveModalidad = 1)
If CveAlmacen <= 0 Then
Alert("Debe seleccionar un almacen", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
Dim ErrorMovInv As Boolean = False
Dim Mensaje As String = ""
Dim ValorEntrada As Decimal = 0
Dim ValorSalida As Decimal = 0
Dim ImporteConcepto As Decimal = 0
Dim CveMovimientoEntrada As Integer = -1
Dim FolioEntrada As Integer = -1
@@ -4447,25 +4459,20 @@ Partial Class Inventarios_EntradasSalidas
Dim CveMovimientoSalida As Integer = -1
Dim FolioSalida As Integer = -1
Dim ErrorMovInv As Boolean = False
Dim Mensaje As String = ""
Dim ValorEntrada As Decimal = 0
Dim ValorSalida As Decimal = 0
Dim ImporteConcepto As Decimal = 0
Dim tConcepto As String = TxtIFDescripcion.Text.Trim
Dim Fecha As Date = (TxtFechaInvFisico.Text.ToDate.ToString("yyyy/MM/dd ") & NowADS().ToShortTimeString).ToDate
Dim tCveSubProyectoEntrada As Integer = -1
Dim tCveSubProyectoSalida As Integer = -1
Dim TipoMovto As Boolean = False
Dim ObjInventario As New ClsInventarios
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL())
Try
Dim Prorratear As Boolean = If(UsuarioActual.CveEmpresa = 172 AndAlso DtMovimientosSalidaInvFisico.Rows.Count > 0 AndAlso DtMovimientosEntradaInvFisico.Rows.Count > 0, True, False)
Dim ProPU As Decimal = 0
Dim CveAlmacen As Integer = DdlAlmacenInventarioFisico.SelectedValue.ToEntero
Dim CveModalidad As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=CveAlmacen).FiltroPrimeroValor("CveModalidad").ToEntero()
Dim EsContabilizable As Boolean = (CveModalidad = 1)
'MOVIMIENTO DE ENTRADA
If DtMovimientosEntradaInvFisico.Rows.Count > 0 Then
'FolioEntrada = ObjInventario.GetFolioSiguiente(32, UsuarioActual.CveEmpresa)
@@ -4487,13 +4494,12 @@ Partial Class Inventarios_EntradasSalidas
'VALIDA, sino hay registrado ningun movimiento, que no siga
If (CveMovimientoEntrada <= 0 AndAlso CveMovimientoSalida <= 0) Or CvePrePoliza <= 0 Then
ErrorMovInv = True
Alert("Ocurrió un error al realizar los registros. Por favor verifique y vuelva a intentar", TipoMensaje.MsgError)
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
ObjInventario.RollBack() 'deshace lo insertado.
ObjInventario.Dispose() 'elimino la instancia
Exit Sub
End If
If Not ErrorMovInv Then
'VALIDA EXISTENCIAS SALIDA E INSERTA DETALLES
For Each Dr As DataRow In DtMovimientosSalidaInvFisico.Rows
If ObjInventario.GetExistenciasPS(Dr("CvePS").ToString.ToEntero, Dr("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, DdlAlmacenInventarioFisico.SelectedValue.ToEntero, PendientePorSurtir:=1) >= Dr("Cantidad").ToString.ToDouble Then
@@ -4512,7 +4518,7 @@ Partial Class Inventarios_EntradasSalidas
End If
Next
If Prorratear Then
If Not ErrorMovInv AndAlso Prorratear Then
If Not ErrorMovInv AndAlso CveMovimientoSalida > 0 Then
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
@@ -4655,7 +4661,12 @@ Partial Class Inventarios_EntradasSalidas
If RetornoVirtual IsNot Nothing Then ErrorMovInv = RetornoVirtual.TieneError
End If
End If
Catch ex As Exception
OnError("Ocurrió un error al generar el movimiento", ex)
ErrorMovInv = True
End Try
If Not ErrorMovInv Then
ObjInventario.Commit() ' aplica los movimientos insertados
@@ -4695,12 +4706,13 @@ Partial Class Inventarios_EntradasSalidas
If GvSalidasCambioVigencia.Rows.Count = 0 Then
Alert("No hay ningun registro para generar el movimiento. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgError)
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
RegistraScript(String.Format("$('#{0}').modal();", "DivModalCambioFisico"))
RegistraScript(String.Format("$('#{0}').modal({backdrop: 'static', keyboard: false});", "DivModalCambioFisico"))
Exit Sub
End If
Dim ObjInventario As New ClsInventarios
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL())
Dim CveMovimientoEntrada As Integer = -1
Dim CveMovimientoSalida As Integer = -1
Dim ErrorMovInv As Boolean = False
@@ -4709,7 +4721,7 @@ Partial Class Inventarios_EntradasSalidas
Dim ValorSalida As Decimal = 0
Dim ImporteConcepto As Decimal = 0
Dim tConcepto As String = TxtObsCambioVigencia.Text.Trim
Dim Fecha As Date = TxtFechaCambio.Text.ToDate.ToString("yyyy/MM/dd").ToDate
Dim Fecha As Date = TxtFechaCambio.Text.ToDate.ToString("yyyy/MM/dd").ToDate()
Dim tCveSubProyecto As Integer = -1
Dim TipoMovto As Boolean = False
@@ -5480,12 +5492,12 @@ Partial Class Inventarios_EntradasSalidas
'VERIFICA SI TIENE ALMACEN VIRTUAL
If CveAlmacenVirtual > 0 Then
If ObjInventario.GetMovimientosDetalleVirtual(CveMovimiento, UsuarioActual.CveEmpresa) Then
DtPSVirtual = ObjInventario.DtResultados
End If
DtPSVirtual = ObjInventario.DtResultados.Copy()
If DtPSVirtual IsNot Nothing AndAlso DtPSVirtual.Rows.Count > 0 Then
CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirtual, If(tOrigen > 0, 36, 37), 1, TxtFecha.Text.Replace(",", "").ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveMovimientoRelacionado:=CveMovimiento, Observaciones:=TxtObservaciones.Text.Trim, Modulo:="ES/GV")
If CveMovimientoVirtual > 0 Then
FolioVirtual = ObjInventario.Folio
For Each RowUsado As DataRow In DtPSVirtual.Rows
@@ -5499,18 +5511,28 @@ Partial Class Inventarios_EntradasSalidas
Exit For
End If
Next
Else
ErrorMovInv = True
End If
End If
If Not ErrorMovInv AndAlso CveMovimientoVirtual > 0 Then
If Not ErrorMovInv Then
Dim dttCosto As DataTable = Nothing
If ObjInventario.GetMovimientosDetalle(CveMovimientoVirtual, UsuarioActual.CveEmpresa) Then
dttCosto = ObjInventario.DtResultados
End If
If ContabilizaMovimientoAlmacen(ObjConta:=ObjConta, TxtFecha.Text.Replace(",", "").ToDate, "Virtual", "ES/GV", CveMovimientoVirtual, -1, DtPSVirtual.SUM("TotalCargo"), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, True, dttCosto, tCveSubProyecto) > 0 Then
If ContabilizaMovimientoAlmacen(ObjConta, TxtFecha.Text.Replace(",", "").ToDate, "Virtual", "ES/GV", CveMovimientoVirtual, -1, dttCosto.SUM("Total"), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, True, dttCostos:=dttCosto, CveSubProyecto:=tCveSubProyecto) <= 0 Then
ErrorMovInv = True
End If
End If
End If
Else
ErrorMovInv = True
End If
End If
Catch ex As Exception