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