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