This commit is contained in:
rakcsle
2022-02-03 08:43:32 -07:00
40 changed files with 34013 additions and 33285 deletions

View File

@@ -1908,12 +1908,26 @@ Partial Class Inventarios_EntradasSalidas
' End If
'End If
Dim RetornoVirtual As MMovimientoVirtual = Nothing
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
RetornoVirtual = GenerarMovimientoVirtual(CveMovimiento, ObjInventario)
End If
If RetornoVirtual IsNot Nothing Then
ErrorMovInv = RetornoVirtual.TieneError
End If
If Not ErrorAC And Not ErrorMovInv Then
Dim Msg As New StringBuilder
Msg.AppendFormat("<br/>El Movimiento se registro con el Folio: <b>{0}</b>", ObjInventario.Folio)
Msg.AppendFormat("<br/><br/> <a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Imprimir Movimiento</a> ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimiento)))
If RetornoVirtual IsNot Nothing Then
If RetornoVirtual.CveMovimientoVirtual > 0 Then
Msg.AppendFormat("<br/><br/>Se generó el movimiento virtual con el folio: <b><a class=""Texto"" target='_blank' href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"">{1}</a></b>", RetornoVirtual.CveMovimientoVirtual, RetornoVirtual.FolioVirtual)
End If
End If
If ObjContaAC IsNot Nothing Then ObjContaAC.AjustaPoliza(IDPoliza)
If IDPoliza > 0 Then Msg = Msg.AppendFormat("<br/><br/> <a class=""Texto"" target='_blank' href=""/Contabilidad/RegPoliza.aspx?IdPoliza={0}"">Ver Póliza</a>", IDPoliza)
@@ -5039,60 +5053,12 @@ Partial Class Inventarios_EntradasSalidas
Protected Sub LnkGenerarVirtual_Click(sender As Object, e As EventArgs)
If CveMovimiento > 0 Then
Dim DtPSVirtual As New DataTable("DtTamanios")
Dim ErrorMovInv As Boolean = False
Dim CveMovimientoVirtual As Integer = -1
Dim FolioVirtual As Integer = -1
Dim tCveAlmacen As Integer = -1
Dim tOrigen As Integer = -1
Dim ObjInventario As New ClsInventarios
ObjInventario.IniciaTransacSQL()
Try
If ObjInventario.GetMovimientos(CveMovimiento, -1, -1, UsuarioActual.CveEmpresa) AndAlso ObjInventario.DtResultados.Rows.Count > 0 Then
tCveAlmacen = ObjInventario.DtResultados.FiltroPrimeroValor("CveAlmacen").ToEntero()
tOrigen = ObjInventario.DtResultados.FiltroPrimeroValor("Origen").ToEntero()
End If
Dim Retorno = GenerarMovimientoVirtual(Me.CveMovimiento, ObjInventario)
Dim CveAlmacenVirtual As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=tCveAlmacen).FiltroPrimeroValor("CveAlmacenVirtual").ToEntero()
'VERIFICA SI TIENE ALMACEN VIRTUAL
If CveAlmacenVirtual > 0 Then
If ObjInventario.GetMovimientosDetalleVirtual(CveMovimiento, UsuarioActual.CveEmpresa) Then
DtPSVirtual = ObjInventario.DtResultados
End If
If DtPSVirtual IsNot Nothing AndAlso DtPSVirtual.Rows.Count > 0 Then
CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirtual, If(tOrigen > 0, 36, 37), 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveMovimientoRelacionado:=CveMovimiento, Observaciones:=TxtObservaciones.Text.Trim, Modulo:="ES/GV")
FolioVirtual = ObjInventario.Folio
For Each RowUsado As DataRow In DtPSVirtual.Rows
Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
Dim CantidadUsado As Decimal = RowUsado("Cantidad").ToString().ToDecimal()
Dim PU As Decimal = RowUsado("Cargo").ToString().ToDecimal()
Dim CveUM As Integer = RowUsado("CveUM").ToString().ToEntero()
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtual, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
ErrorMovInv = True
Exit For
End If
Next
Else
ErrorMovInv = True
Alert("No hay usados para generar el virtual", TipoMensaje.MsgAdvertencia)
End If
Else
ErrorMovInv = True
Alert("El almacen no tiene vinculado un almacen virtual", TipoMensaje.MsgAdvertencia)
End If
Catch ex As Exception
ErrorMovInv = True
End Try
If ErrorMovInv Then
If Retorno.TieneError Then
ObjInventario.RollBack()
Else
ObjInventario.Commit()
@@ -5100,14 +5066,65 @@ Partial Class Inventarios_EntradasSalidas
ObjInventario.Dispose()
If CveMovimientoVirtual > 0 AndAlso Not ErrorMovInv Then
Alert($"Se generó el movimiento virtual con el folio:<b>{FolioVirtual}<b/>")
If Retorno.CveMovimientoVirtual > 0 AndAlso Not Retorno.TieneError Then
Alert($"Se generó el movimiento virtual con el folio:<b>{Retorno.FolioVirtual}<b/>")
End If
End If
End Sub
Private Function GenerarMovimientoVirtual(CveMovimiento As Integer, ObjInventario As ClsInventarios) As MMovimientoVirtual
Dim ErrorMovInv As Boolean = False
Dim DtPSVirtual As New DataTable("DtTamanios")
Dim CveMovimientoVirtual As Integer = -1
Dim FolioVirtual As Integer = -1
Dim tCveAlmacen As Integer = -1
Dim tOrigen As Integer = -1
Try
If ObjInventario.GetMovimientos(CveMovimiento, -1, -1, UsuarioActual.CveEmpresa) AndAlso ObjInventario.DtResultados.Rows.Count > 0 Then
tCveAlmacen = ObjInventario.DtResultados.FiltroPrimeroValor("CveAlmacen").ToEntero()
tOrigen = ObjInventario.DtResultados.FiltroPrimeroValor("Origen").ToEntero()
End If
Dim CveAlmacenVirtual As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=tCveAlmacen).FiltroPrimeroValor("CveAlmacenVirtual").ToEntero()
'VERIFICA SI TIENE ALMACEN VIRTUAL
If CveAlmacenVirtual > 0 Then
If ObjInventario.GetMovimientosDetalleVirtual(CveMovimiento, UsuarioActual.CveEmpresa) Then
DtPSVirtual = ObjInventario.DtResultados
End If
If DtPSVirtual IsNot Nothing AndAlso DtPSVirtual.Rows.Count > 0 Then
CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirtual, If(tOrigen > 0, 36, 37), 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveMovimientoRelacionado:=CveMovimiento, Observaciones:=TxtObservaciones.Text.Trim, Modulo:="ES/GV")
FolioVirtual = ObjInventario.Folio
For Each RowUsado As DataRow In DtPSVirtual.Rows
Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
Dim CantidadUsado As Decimal = RowUsado("Cantidad").ToString().ToDecimal()
Dim PU As Decimal = RowUsado("Cargo").ToString().ToDecimal()
Dim CveUM As Integer = RowUsado("CveUM").ToString().ToEntero()
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtual, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
ErrorMovInv = True
Exit For
End If
Next
End If
End If
Catch ex As Exception
ErrorMovInv = True
End Try
Return New MMovimientoVirtual With {.TieneError = ErrorMovInv, .CveMovimientoVirtual = CveMovimientoVirtual, .FolioVirtual = FolioVirtual.ToString()}
End Function
Protected Sub LnkGenerarPDF_Click(sender As Object, e As EventArgs)
GeneraPDFFactura()
End Sub
@@ -5299,5 +5316,9 @@ Partial Class Inventarios_EntradasSalidas
Next
Return Timbre
End Function
Private Class MMovimientoVirtual
Public Property CveMovimientoVirtual As Integer
Public Property FolioVirtual As String
Public Property TieneError As Boolean
End Class
End Class

File diff suppressed because it is too large Load Diff

View File

@@ -455,7 +455,7 @@
</div>
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtConsecutivoAjuste" CssClass="form-control" runat="server" MaxLength="25"></asp:TextBox>
<asp:TextBox ID="TxtConsecutivoAjuste" CssClass="form-control" runat="server" MaxLength="25" AutoPostBack="true"></asp:TextBox>
<%--<asp:RequiredFieldValidator ID="RFVConsecutivoAjuste" runat="server" ControlToValidate="TxtConsecutivoAjuste" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Consec.''</b> es necesario, por favor ingréselo." ValidationGroup="VGMAjuste"></asp:RequiredFieldValidator>
<%--<ajax:ValidatorCalloutExtender ID="VCEConsecutivoAjuste" runat="server" HighlightCssClass="vco" TargetControlID="RFVConsecutivoAjuste"></ajax:ValidatorCalloutExtender>--%>
<%--<label for="<%= TxtConsecutivoAjuste.ClientID.ToString()%>">Consec.:</label>--%>

View File

@@ -2436,8 +2436,9 @@ Partial Class Inventarios_RecepcionUsados
End If
Me.ObjRemisionNC.OrdenCompra = ""
Me.ObjRemisionNC.PedidoContrato = ""
Me.ObjRemisionNC.ObservacionesAlmacen = ""
Me.ObjRemisionNC.Recibio = TxtResponsable.Text.Trim
Me.ObjRemisionNC.ObservacionesAlmacen = TxtObservaciones.Text.Trim
Me.ObjRemisionNC.MovimientoObservaciones = TxtObservaciones.Text
Me.ObjRemisionNC.MovimientoRecibio = TxtResponsable.Text
'If TmpDTPolizaVirtual IsNot Nothing Then
' Me.ObjRemisionNC.DtPolizasVirtuales = TmpDTPolizaVirtual
'End If
@@ -3257,6 +3258,11 @@ Partial Class Inventarios_RecepcionUsados
Exit Sub
End If
If Not ValidaConsecutivo() Then
Alert("Ya existe un consecutivo vigente en este folio", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
Dim ObjPS As New ClsProductosServicios
Try
Dim CveTamaño As Integer = -1
@@ -3488,6 +3494,29 @@ Partial Class Inventarios_RecepcionUsados
UpAjuste.Update()
End Sub
Protected Sub TxtConsecutivoAjuste_TextChanged(sender As Object, e As EventArgs) Handles TxtConsecutivoAjuste.TextChanged
If Not ValidaConsecutivo() Then
Alert("Ya existe un consecutivo vigente en este folio", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End Sub
Private Function ValidaConsecutivo() As Boolean
Dim Retorno As Boolean = True
If DdlFolioGarantia.SelectedValue.ToEntero() > 0 Then
Using ObjAcum As New ClsAcumuladores
If ObjAcum.GetFoliosGarantiasDetalle(DdlFolioGarantia.SelectedValue.ToEntero(), CveEstatusConsecutivo:=1, Consec:=TxtConsecutivoAjuste.Text.ToEntero()) Then
If ObjAcum.DtResultados.Rows.Count > 0 Then
Retorno = False
End If
End If
End Using
End If
Return Retorno
End Function
#Region "P O L I Z A - V I R T U A L"
Private Sub CreaDTmpDTPolizaVirtual()
TmpDTPolizaVirtual = New DataTable