diff --git a/App_Code/ClsBancos.vb b/App_Code/ClsBancos.vb index e4b936d10..a2129f8a1 100644 --- a/App_Code/ClsBancos.vb +++ b/App_Code/ClsBancos.vb @@ -1718,9 +1718,9 @@ Public Class ClsBancos Return Retorno End Function - Public Function CancelarBancos_IE(CveUsuario As Integer, CveIE As Integer, MesAnterior As Boolean, IdPoliza As Integer, FolioPoliza As Integer, Optional FechaCancelacion As Date = MinFecha, Optional TipoMovimiento As Integer = 1) As Boolean + Public Function CancelarBancos_IE(CveUsuario As Integer, CveIE As Integer, MesAnterior As Boolean, IdPoliza As Integer, FolioPoliza As Integer, Optional FechaCancelacion As Date = MinFecha, Optional TipoMovimiento As Integer = 1) As Integer - Dim Retorno As Boolean = False + Dim Retorno As Integer = 0 DataAdapter("PA_Banc_IECancelar") With SqlAdapter.SelectCommand.Parameters @@ -1731,11 +1731,12 @@ Public Class ClsBancos .Add("@FolioPoliza", SqlDbType.Int).Value = FolioPoliza .Add("@FechaCancelacion", SqlDbType.Date).Value = FechaCancelacion .Add("@TipoMovimiento", SqlDbType.Int).Value = TipoMovimiento + .Add("@CvePrePoliza", SqlDbType.Int).Direction = ParameterDirection.Output End With Try SqlAdapter.Fill(Data) - Retorno = True + Retorno = SqlAdapter.SelectCommand.Parameters("@CvePrePoliza").Value.ToString.ToEntero Catch ex As Exception OnError("Ocurrió un error al cancelar el movimiento en bancos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) End Try diff --git a/Bancos/IE.aspx b/Bancos/IE.aspx index 574ec5150..38f89fdc3 100644 --- a/Bancos/IE.aspx +++ b/Bancos/IE.aspx @@ -1180,7 +1180,10 @@
- + +
+
+
diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index 716f86cfc..63a198a2d 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -4391,7 +4391,7 @@ Partial Class Bancos_IE Dim IdPolizaNueva = -1 Dim FolioPolizaNueva = -1 - If (IDPoliza > 0 AndAlso (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1")) Then + If (IDPoliza > 0 AndAlso (UsuarioActual.Empresa.UsaAC)) Then If ObjAC Is Nothing Then ErrorCancelar = True @@ -4427,7 +4427,7 @@ Partial Class Bancos_IE 'CANCELA IE If Not ErrorCancelar Then - If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaCancelacion.Text.ToDate) Then + If Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaCancelacion.Text.ToDate) <= 0 Then ErrorCancelar = True MensajeError = "Error al cancelar IE" End If @@ -4458,7 +4458,7 @@ Partial Class Bancos_IE 'CANCELA IE If Not ErrorCancelar Then - If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, False, IdPolizaNueva, FolioPolizaNueva, TxtFechaCancelacion.Text.ToDate) Then + If Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, False, IdPolizaNueva, FolioPolizaNueva, TxtFechaCancelacion.Text.ToDate) <= 0 Then ErrorCancelar = True MensajeError = "Error al cancelar IE" End If @@ -4479,22 +4479,42 @@ Partial Class Bancos_IE Else ' If TxtFechaDocumento.Text.ToDate.Month < TxtFechaCancelacion.Text.ToDate.Month Or TxtFechaDocumento.Text.ToDate.Year < TxtFechaCancelacion.Text.ToDate.Year Then - If TxtFechaDocumento.Text.ToDate < TxtFechaCancelacion.Text.ToDate.FirstDayOfMonth Then + Dim GeneraCancelacionEnCero As Boolean = True + If TxtFechaDocumento.Text.ToDate >= TxtFechaCancelacion.Text.ToDate.FirstDayOfMonth Then 'si es del mismo mes, se genra cancelacion en cero + GeneraCancelacionEnCero = True + End If + + If ChkGeneraCancelacion.Checked AndAlso GeneraCancelacionEnCero Then + GeneraCancelacionEnCero = False + End If + Dim CvePrePolizaCancelacion As Integer = 0 + + If Not GeneraCancelacionEnCero Then 'CANCELA IE MES ANTERIOR - If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaCancelacion.Text.ToDate) Then + CvePrePolizaCancelacion = Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaCancelacion.Text.ToDate) + If CvePrePolizaCancelacion <= 0 Then ErrorCancelar = True MensajeError = "Error al cancelar IE MES ANTERIOR" End If Else 'CANCELA IE MES ACTUAL - If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, False, IdPolizaNueva, FolioPolizaNueva, TxtFechaCancelacion.Text.ToDate) Then + CvePrePolizaCancelacion = Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, False, IdPolizaNueva, FolioPolizaNueva, TxtFechaCancelacion.Text.ToDate) + If CvePrePolizaCancelacion <= 0 Then ErrorCancelar = True MensajeError = "Error al cancelar IE MES ACTUAL" End If End If + + If UsuarioActual.Empresa.Funcionalidad(200).ToString = "1" Then + If Not ObjConta.ContabilizarPrePoliza(CvePrePolizaCancelacion, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjAC) Then + ErrorCancelar = True + MensajeError = "Error al contabilizar poliza" + End If + End If + End If - If Not ErrorCancelar Then + If Not ErrorCancelar Then If Banc.GetComplementoPagos(-1, CveIE, -1, UsuarioActual.CveEmpresa) Then If Banc.DtResultados.FiltraParametros("", DistinctColumns:={"CveComplementoPago", "SerieFolio", "Fecha", "CveIE"}).Rows.Count > 0 Then If Not Banc.GetFoliosCancelados(UsuarioActual.CveEmpresa) Then @@ -4656,7 +4676,7 @@ Partial Class Bancos_IE 'genera nuevo IE contrario If Not ErrorCancelar Then - If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaDevuelto.Text.ToDate, 2) Then + If Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaDevuelto.Text.ToDate, 2) <= 0 Then ErrorCancelar = True End If End If @@ -4672,7 +4692,7 @@ Partial Class Bancos_IE Else 'siempre se hace una cancelación - If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaDevuelto.Text.ToDate, 2) Then + If Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaDevuelto.Text.ToDate, 2) <= 0 Then ErrorCancelar = True End If diff --git a/Bancos/PagoElectronico.aspx.vb b/Bancos/PagoElectronico.aspx.vb index 7374d32e0..7dc726ae8 100644 --- a/Bancos/PagoElectronico.aspx.vb +++ b/Bancos/PagoElectronico.aspx.vb @@ -1584,7 +1584,7 @@ Partial Class Bancos_PagoElectronico Else 'Cuando salio NO exitoso cancelamos el IE - If Not ObjIE.CancelarBancos_IE(UsuarioActual.CveUsuario, ArrayCveIEs(index).ToEntero, False, -1, -1) Then + If ObjIE.CancelarBancos_IE(UsuarioActual.CveUsuario, ArrayCveIEs(index).ToEntero, False, -1, -1) <= 0 Then ErrorDB = True End If End If diff --git a/Bancos/PagoElectronicoGrupos.aspx.vb b/Bancos/PagoElectronicoGrupos.aspx.vb index 94f711266..0a49c92e3 100644 --- a/Bancos/PagoElectronicoGrupos.aspx.vb +++ b/Bancos/PagoElectronicoGrupos.aspx.vb @@ -2818,7 +2818,7 @@ Partial Class Bancos_PagoElectronicoGrupos 'CANCELA IE If Not ErrorCancelar Then - If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, True, IdPolizaNueva, FolioPolizaNueva, FechaCancelacion) Then + If Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, True, IdPolizaNueva, FolioPolizaNueva, FechaCancelacion) <= 0 Then ErrorCancelar = True MensajeError = "Error al cancelar IE" End If @@ -2849,7 +2849,7 @@ Partial Class Bancos_PagoElectronicoGrupos 'CANCELA IE If Not ErrorCancelar Then - If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, False, IdPolizaNueva, FolioPolizaNueva, FechaCancelacion) Then + If Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, False, IdPolizaNueva, FolioPolizaNueva, FechaCancelacion) <= 0 Then ErrorCancelar = True MensajeError = "Error al cancelar IE" End If @@ -2872,13 +2872,13 @@ Partial Class Bancos_PagoElectronicoGrupos ' If TxtFechaDocumento.Text.ToDate.Month < TxtFechaCancelacion.Text.ToDate.Month Or TxtFechaDocumento.Text.ToDate.Year < TxtFechaCancelacion.Text.ToDate.Year Then If FechaDocumento < FechaCancelacion.FirstDayOfMonth Then 'CANCELA IE MES ANTERIOR - If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, True, IdPolizaNueva, FolioPolizaNueva, FechaCancelacion) Then + If Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, True, IdPolizaNueva, FolioPolizaNueva, FechaCancelacion) <= 0 Then ErrorCancelar = True MensajeError = "Error al cancelar IE MES ANTERIOR" End If Else 'CANCELA IE MES ACTUAL - If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, False, IdPolizaNueva, FolioPolizaNueva, FechaCancelacion) Then + If Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, False, IdPolizaNueva, FolioPolizaNueva, FechaCancelacion) <= 0 Then ErrorCancelar = True MensajeError = "Error al cancelar IE MES ACTUAL" End If