diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb
index cc93a3b98..e499d1db6 100644
--- a/Bancos/IE.aspx.vb
+++ b/Bancos/IE.aspx.vb
@@ -4382,186 +4382,185 @@ Partial Class Bancos_IE
Exit Sub
End If
- Dim Banc As New ClsBancos
- Dim ObjConta As New ClsContabilidad(Banc.IniciaTransacSQL())
-
- Dim ObjAC As ClsContPAQi = Nothing
- If UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1" Then
- ObjAC = New ClsContPAQi(UsuarioActual.Empresa)
- ObjAC.IniciaTransacSQL()
- End If
-
-
Dim ErrorCancelar = False
Dim MensajeError = ""
Dim IdPolizaNueva = -1
Dim FolioPolizaNueva = -1
- If (IDPoliza > 0 AndAlso (UsuarioActual.Empresa.UsaAC)) Then
+ Dim Banc As New ClsBancos
+ Dim ObjConta As New ClsContabilidad(Banc.IniciaTransacSQL())
- If ObjAC Is Nothing Then
+ Dim ObjAC As ClsContPAQi = Nothing
+ If UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1" Then
+ Try
+ ObjAC = New ClsContPAQi(UsuarioActual.Empresa)
+ ObjAC.IniciaTransacSQL()
+ Catch ex As Exception
+ OnError("Ocurrió un error al iniciar la contabilización", ex)
ErrorCancelar = True
- End If
+ End Try
- If Not ErrorCancelar Then
- Dim dt As DataTable
- If ObjAC.GetPoliza(IDPoliza, -1, -1, -1, -1) AndAlso ObjAC.DtResultados.Rows.Count > 0 Then
- dt = ObjAC.DtResultados
+ End If
- ' MES ANTERIOR, MOVIMIENTOS CONTRARIOS (NEGATIVOS)
- If dt.Rows(0)("FechaPol").ToString.ToDate < TxtFechaCancelacion.Text.ToDate.FirstDayOfMonth Then 'dt.Rows(0)("FechaPol").ToString.ToDate.Month < TxtFechaCancelacion.Text.ToDate.Month Or dt.Rows(0)("FechaPol").ToString.ToDate.Year < TxtFechaCancelacion.Text.ToDate.Year Then
- IdPolizaNueva = ObjAC.AddPoliza(dt.Rows(0)("CodigoTipoPoliza").ToString.ToEntero, String.Format("Cancelacion: {0}", dt.Rows(0)("Concepto").ToString), 0, 0, UsuarioActual.CveUsuario, TxtFechaCancelacion.Text.ToDate)
- If IdPolizaNueva > 0 Then
- FolioPolizaNueva = ObjAC.Folio
+ Try
+ If (IDPoliza > 0 AndAlso (UsuarioActual.Empresa.UsaAC)) Then
- 'CREA POLIZA NEGATIVA
- For Each dr As DataRow In dt.Rows
- If Not ObjAC.AddMovimiento(IdPolizaNueva, dr("IdCuenta").ToString.ToEntero, dr("TipoMovto").ToString = "True", dr("Importe").ToString.ToDecimal * -1, dr("Referencia").ToString, String.Format("Cancelacion: {0}", dt.Rows(0)("Concepto").ToString), dr("IdSegNeg").ToString.ToEntero, TxtFechaCancelacion.Text.ToDate, "") Then
- ErrorCancelar = True
- MensajeError = "Error al crear poliza negativa"
- Exit For
+ If ObjAC Is Nothing Then
+ ErrorCancelar = True
+ End If
+
+ If Not ErrorCancelar Then
+ Dim dt As DataTable
+ If ObjAC.GetPoliza(IDPoliza, -1, -1, -1, -1) AndAlso ObjAC.DtResultados.Rows.Count > 0 Then
+ dt = ObjAC.DtResultados
+
+ ' MES ANTERIOR, MOVIMIENTOS CONTRARIOS (NEGATIVOS)
+ If dt.Rows(0)("FechaPol").ToString.ToDate < TxtFechaCancelacion.Text.ToDate.FirstDayOfMonth Then 'dt.Rows(0)("FechaPol").ToString.ToDate.Month < TxtFechaCancelacion.Text.ToDate.Month Or dt.Rows(0)("FechaPol").ToString.ToDate.Year < TxtFechaCancelacion.Text.ToDate.Year Then
+ IdPolizaNueva = ObjAC.AddPoliza(dt.Rows(0)("CodigoTipoPoliza").ToString.ToEntero, String.Format("Cancelacion: {0}", dt.Rows(0)("Concepto").ToString), 0, 0, UsuarioActual.CveUsuario, TxtFechaCancelacion.Text.ToDate)
+ If IdPolizaNueva > 0 Then
+ FolioPolizaNueva = ObjAC.Folio
+
+ 'CREA POLIZA NEGATIVA
+ For Each dr As DataRow In dt.Rows
+ If Not ObjAC.AddMovimiento(IdPolizaNueva, dr("IdCuenta").ToString.ToEntero, dr("TipoMovto").ToString = "True", dr("Importe").ToString.ToDecimal * -1, dr("Referencia").ToString, String.Format("Cancelacion: {0}", dt.Rows(0)("Concepto").ToString), dr("IdSegNeg").ToString.ToEntero, TxtFechaCancelacion.Text.ToDate, "") Then
+ ErrorCancelar = True
+ MensajeError = "Error al crear poliza negativa"
+ Exit For
+ End If
+ Next
+
+ 'AJUSTA POLIZA
+ If Not ErrorCancelar Then
+ If Not ObjAC.AjustaPoliza(IdPolizaNueva) Then
+ ErrorCancelar = True
+ MensajeError = "Error al ajustar poliza negativa"
+ End If
End If
- Next
- 'AJUSTA POLIZA
- If Not ErrorCancelar Then
- If Not ObjAC.AjustaPoliza(IdPolizaNueva) Then
+ 'CANCELA IE
+ If Not ErrorCancelar Then
+ If Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaCancelacion.Text.ToDate, CveTipoTransaccionCancelacion:=DdlTipoTransaccionCancelacion.SelectedValue.ToEntero) <= 0 Then
+ ErrorCancelar = True
+ MensajeError = "Error al cancelar IE"
+ End If
+ End If
+
+ Else
+ ErrorCancelar = True
+ End If
+
+ Else
+
+ If ObjAC.RemovePoliza(IDPoliza) Then
+ If Not ObjConta.DesvincularPrePolizaContabilizada(IDPoliza, UsuarioActual.CveEmpresa) Then
ErrorCancelar = True
- MensajeError = "Error al ajustar poliza negativa"
+ MensajeError = "Error al desvincular poliza."
+ End If
+ Else
+ ErrorCancelar = True
+ MensajeError = "Error al eliminar poliza."
+ End If
+
+ If Not ErrorCancelar Then
+ If Not ObjConta.UpdatePrePolizasDetalleBloquear(CvePrePoliza, False) Then
+ ErrorCancelar = True
+ MensajeError = "Error al desbloquear prepoliza."
End If
End If
'CANCELA IE
If Not ErrorCancelar Then
- If Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaCancelacion.Text.ToDate, CveTipoTransaccionCancelacion:=DdlTipoTransaccionCancelacion.SelectedValue.ToEntero) <= 0 Then
+ If Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, False, IdPolizaNueva, FolioPolizaNueva, TxtFechaCancelacion.Text.ToDate, CveTipoTransaccionCancelacion:=DdlTipoTransaccionCancelacion.SelectedValue.ToEntero) <= 0 Then
ErrorCancelar = True
MensajeError = "Error al cancelar IE"
End If
End If
- Else
- ErrorCancelar = True
- End If
+ If Not ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjAC) Then
+ ErrorCancelar = True
+ MensajeError = "Error al contabilizar poliza"
+ End If
+ End If
Else
+ ErrorCancelar = True
+ MensajeError = "Error al obtener la poliza"
+ End If
+ End If
- If ObjAC.RemovePoliza(IDPoliza) Then
- If Not ObjConta.DesvincularPrePolizaContabilizada(IDPoliza, UsuarioActual.CveEmpresa) Then
- ErrorCancelar = True
- MensajeError = "Error al desvincular poliza."
- End If
- Else
- ErrorCancelar = True
- MensajeError = "Error al eliminar poliza."
- End If
+ Else
- If Not ErrorCancelar Then
- If Not ObjConta.UpdatePrePolizasDetalleBloquear(CvePrePoliza, False) Then
- ErrorCancelar = True
- MensajeError = "Error al desbloquear prepoliza."
- End If
- End If
+ ' If TxtFechaDocumento.Text.ToDate.Month < TxtFechaCancelacion.Text.ToDate.Month Or TxtFechaDocumento.Text.ToDate.Year < TxtFechaCancelacion.Text.ToDate.Year Then
+ Dim GeneraCancelacionEnCero As Boolean = False
+ If TxtFechaCancelacion.Text.ToDate <= TxtFechaDocumento.Text.ToDate.LastDayOfMonth Then 'si es del mismo mes, se genra cancelacion en cero
+ GeneraCancelacionEnCero = True
+ End If
- 'CANCELA IE
- If Not ErrorCancelar Then
- If Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, False, IdPolizaNueva, FolioPolizaNueva, TxtFechaCancelacion.Text.ToDate, CveTipoTransaccionCancelacion:=DdlTipoTransaccionCancelacion.SelectedValue.ToEntero) <= 0 Then
- ErrorCancelar = True
- MensajeError = "Error al cancelar IE"
- End If
- End If
+ Dim TipoMovimiento As Integer = 1
- If Not ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjAC) Then
- ErrorCancelar = True
- MensajeError = "Error al contabilizar poliza"
- End If
+ If ChkGeneraCancelacion.Checked AndAlso GeneraCancelacionEnCero Then
+ GeneraCancelacionEnCero = False
+ TipoMovimiento = 2
+ End If
+ Dim CvePrePolizaCancelacion As Integer = 0
+ If Not GeneraCancelacionEnCero Then
+ 'CANCELA IE MES ANTERIOR
+ CvePrePolizaCancelacion = Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaCancelacion.Text.ToDate, TipoMovimiento:=TipoMovimiento, CveTipoTransaccionCancelacion:=DdlTipoTransaccionCancelacion.SelectedValue.ToEntero)
+ If CvePrePolizaCancelacion <= 0 Then
+ ErrorCancelar = True
+ MensajeError = "Error al cancelar IE MES ANTERIOR"
+ Else
+ 'DEBE GENERAR UNA NUEVA POLIZA
+ IDPoliza = -1
End If
Else
- ErrorCancelar = True
- MensajeError = "Error al obtener la poliza"
+ 'CANCELA IE MES ACTUAL
+ CvePrePolizaCancelacion = Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, False, IdPolizaNueva, FolioPolizaNueva, TxtFechaCancelacion.Text.ToDate, CveTipoTransaccionCancelacion:=DdlTipoTransaccionCancelacion.SelectedValue.ToEntero)
+ If CvePrePolizaCancelacion <= 0 Then
+ ErrorCancelar = True
+ MensajeError = "Error al cancelar IE MES ACTUAL"
+ End If
End If
- End If
- Else
+ If UsuarioActual.Empresa.Funcionalidad(200).ToString = "1" Then
- ' If TxtFechaDocumento.Text.ToDate.Month < TxtFechaCancelacion.Text.ToDate.Month Or TxtFechaDocumento.Text.ToDate.Year < TxtFechaCancelacion.Text.ToDate.Year Then
- Dim GeneraCancelacionEnCero As Boolean = False
- If TxtFechaCancelacion.Text.ToDate <= TxtFechaDocumento.Text.ToDate.LastDayOfMonth Then 'si es del mismo mes, se genra cancelacion en cero
- GeneraCancelacionEnCero = True
- End If
-
- Dim TipoMovimiento As Integer = 1
-
- If ChkGeneraCancelacion.Checked AndAlso GeneraCancelacionEnCero Then
- GeneraCancelacionEnCero = False
- TipoMovimiento = 2
- End If
- Dim CvePrePolizaCancelacion As Integer = 0
-
- If Not GeneraCancelacionEnCero Then
- 'CANCELA IE MES ANTERIOR
- CvePrePolizaCancelacion = Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaCancelacion.Text.ToDate, TipoMovimiento:=TipoMovimiento, CveTipoTransaccionCancelacion:=DdlTipoTransaccionCancelacion.SelectedValue.ToEntero)
- If CvePrePolizaCancelacion <= 0 Then
- ErrorCancelar = True
- MensajeError = "Error al cancelar IE MES ANTERIOR"
- End If
- Else
- 'CANCELA IE MES ACTUAL
- CvePrePolizaCancelacion = Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, False, IdPolizaNueva, FolioPolizaNueva, TxtFechaCancelacion.Text.ToDate, CveTipoTransaccionCancelacion:=DdlTipoTransaccionCancelacion.SelectedValue.ToEntero)
- If CvePrePolizaCancelacion <= 0 Then
- ErrorCancelar = True
- MensajeError = "Error al cancelar IE MES ACTUAL"
+ If Not ObjConta.ContabilizarPrePoliza(CvePrePolizaCancelacion, UsuarioActual.CveUsuario, UsuarioActual.Empresa, pIDPoliza:=If(IDPoliza > 0, IDPoliza, -1), ObjConta:=ObjAC) Then
+ ErrorCancelar = True
+ MensajeError = "Error al contabilizar poliza"
+ End If
End If
+
End If
- If UsuarioActual.Empresa.Funcionalidad(200).ToString = "1" Then
-
- If Not ObjConta.ContabilizarPrePoliza(CvePrePolizaCancelacion, UsuarioActual.CveUsuario, UsuarioActual.Empresa, pIDPoliza:=If(IDPoliza > 0, IDPoliza, -1), ObjConta:=ObjAC) Then
- ErrorCancelar = True
- MensajeError = "Error al contabilizar poliza"
- End If
- End If
-
- End If
-
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
- ErrorCancelar = True
- MensajeError = "Error al cancelar complemento de pago"
- Else
- Dim FolioCancelado = $"{TxtFolio.Text}_C_{Banc.DtResultados(0)("Cantidad").ToString().ToEntero + 1}"
- If Not Banc.UpdateFolioCancelado(CveIE.ToEntero, Folio:=FolioCancelado) 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
ErrorCancelar = True
- MensajeError = "Error al actualizar complemento de pago"
+ MensajeError = "Error al cancelar complemento de pago"
+ Else
+ Dim FolioCancelado = $"{TxtFolio.Text}_C_{Banc.DtResultados(0)("Cantidad").ToString().ToEntero + 1}"
+ If Not Banc.UpdateFolioCancelado(CveIE.ToEntero, Folio:=FolioCancelado) Then
+ ErrorCancelar = True
+ MensajeError = "Error al actualizar complemento de pago"
+ End If
End If
End If
End If
End If
- End If
- If Not ErrorCancelar Then
+ If Not ErrorCancelar Then
- Dim ErrorCancelarComplemento As Boolean = True
+ Dim ErrorCancelarComplemento As Boolean = True
- If CancelarComplemento Then
- Dim ObjCancelacion As New Timbrado
- 'Dim ObjBanco As New ClsBancos
+ If CancelarComplemento Then
+ Dim ObjCancelacion As New Timbrado
+ 'Dim ObjBanco As New ClsBancos
- If EstatusSATCancelado(FolioFiscalCancelar, UsuarioActual.Empresa.RFC, RFCReceptorCancelar) Then
+ If EstatusSATCancelado(FolioFiscalCancelar, UsuarioActual.Empresa.RFC, RFCReceptorCancelar) Then
- If Banc.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=Date.Now, SelloCancelacion:="") Then
- CargaComplementosPago()
- RegistraScript("$('#ModalCancelarComplemetno').modal('hide');")
- ErrorCancelarComplemento = False
- Alert("El complemento se cancelo correctamente.")
- End If
-
- Else
- If ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion) Then
-
- If Banc.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse) Then
+ If Banc.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=Date.Now, SelloCancelacion:="") Then
CargaComplementosPago()
RegistraScript("$('#ModalCancelarComplemetno').modal('hide');")
ErrorCancelarComplemento = False
@@ -4569,49 +4568,62 @@ Partial Class Bancos_IE
End If
Else
- Alert("Se presento un error al cancelar el complemento.", TipoMensaje.MsgAdvertencia)
+ If ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion) Then
+
+ If Banc.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse) Then
+ CargaComplementosPago()
+ RegistraScript("$('#ModalCancelarComplemetno').modal('hide');")
+ ErrorCancelarComplemento = False
+ Alert("El complemento se cancelo correctamente.")
+ End If
+
+ Else
+ Alert("Se presento un error al cancelar el complemento.", TipoMensaje.MsgAdvertencia)
+ End If
+
End If
- End If
-
- Else
- ErrorCancelarComplemento = False
- End If
-
-
- If Not ErrorCancelarComplemento Then
-
- If ObjAC IsNot Nothing Then ObjAC.Commit()
- Banc.Commit()
- Dim Msg As New StringBuilder
-
- If CancelarComplemento Then
- Msg.Append("El movimiento bancario y su complemento quedaron cancelados exitosamente.")
Else
- Msg.Append("El movimiento bancario quedó cancelado exitosamente.")
+ ErrorCancelarComplemento = False
End If
- If IdPolizaNueva > 0 Then Msg.AppendFormat("
Ver Póliza de cancelación", IdPolizaNueva)
- Alert(Msg.ToString, TipoMensaje.MsgInformacion, "document.location.href=""/Bancos/RepIE.aspx""")
+ If Not ErrorCancelarComplemento Then
+
+ If ObjAC IsNot Nothing Then ObjAC.Commit()
+ Banc.Commit()
+ Dim Msg As New StringBuilder
+
+ If CancelarComplemento Then
+ Msg.Append("El movimiento bancario y su complemento quedaron cancelados exitosamente.")
+ Else
+ Msg.Append("El movimiento bancario quedó cancelado exitosamente.")
+ End If
+
+
+ If IdPolizaNueva > 0 Then Msg.AppendFormat("
Ver Póliza de cancelación", IdPolizaNueva)
+ Alert(Msg.ToString, TipoMensaje.MsgInformacion, "document.location.href=""/Bancos/RepIE.aspx""")
+
+ Else
+
+ If ObjAC IsNot Nothing Then ObjAC.RollBack()
+ Banc.RollBack()
+ Alert("El movimiento bancario no se pudo cancelar. Por favor vuelva a intentar.", TipoMensaje.MsgError)
+ GuardaLog(MensajeError + " | CANCELAR IE")
+
+ End If
+
Else
-
If ObjAC IsNot Nothing Then ObjAC.RollBack()
Banc.RollBack()
Alert("El movimiento bancario no se pudo cancelar. Por favor vuelva a intentar.", TipoMensaje.MsgError)
GuardaLog(MensajeError + " | CANCELAR IE")
-
End If
-
-
- Else
- If ObjAC IsNot Nothing Then ObjAC.RollBack()
- Banc.RollBack()
- Alert("El movimiento bancario no se pudo cancelar. Por favor vuelva a intentar.", TipoMensaje.MsgError)
- GuardaLog(MensajeError + " | CANCELAR IE")
- End If
+ Catch ex As Exception
+ OnError("Ocurrio un error al cancelar", ex)
+ End Try
If ObjAC IsNot Nothing Then ObjAC.Dispose()
Banc.Dispose()