diff --git a/App_Code/ClsGenerales.vb b/App_Code/ClsGenerales.vb index d24033dfe..0d38acb96 100644 --- a/App_Code/ClsGenerales.vb +++ b/App_Code/ClsGenerales.vb @@ -3,7 +3,8 @@ Option Explicit On Imports System.Data Imports System.Data.SqlClient Imports Extensiones - +Imports Stimulsoft.Base.Analysis + Public Class ClsGenerales Implements IDisposable @@ -1621,7 +1622,14 @@ Public Class ClsGenerales ' Me.OnError("Ocurrió un error al Guardar el registro.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) ' End If Catch ex As Exception - OnError("Ocurrió un error al Guardar la cuenta", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + + If ex.Message.Contains("IX_Gral_CuentasDepositos_CLABE") Then + OnError($"Ocurrió un error al Guardar la cuenta, la CLABE {CLABE} ya esta registrada en otra cuenta.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + Else + OnError("Ocurrió un error al Guardar la cuenta", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End If + + End Try Return Retorno @@ -1678,11 +1686,21 @@ Public Class ClsGenerales Catch Ex1 As SqlException If Ex1.Message.Contains("Número: 2627;") Then Alert("Ya existe un registro con el mismo nombre", TipoMensaje.MsgAdvertencia) + ElseIf Ex1.Message.Contains("IX_Gral_CuentasDepositos_CLABE") Then + OnError($"Ocurrió un error al actualizar la cuenta, la CLABE {CLABE} ya esta registrada en otra cuenta.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) Else + Me.OnError("Ocurrió un error al guardar los cambios", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) End If Catch ex As Exception - OnError("Ocurrió un error al guardar los cambios.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + + If ex.Message.Contains("IX_Gral_CuentasDepositos_CLABE") Then + OnError($"Ocurrió un error al actualizar la cuenta, la CLABE {CLABE} ya esta registrada en otra cuenta.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + Else + OnError("Ocurrió un error al guardar los cambios.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End If + + End Try Return Retorno @@ -1727,12 +1745,19 @@ Public Class ClsGenerales Retorno = True Catch Ex1 As SqlException If Ex1.Message.Contains("Número: 2627;") Then - Alert("Ya existe un registro con el mismo nombre", TipoMensaje.MsgAdvertencia) + Alert("Ya existe un registro con el mismo nombre", TipoMensaje.MsgAdvertencia) + ElseIf Ex1.Message.Contains("IX_Gral_CuentasDepositos_CLABE") Then + OnError($"Ocurrió un error al actualizar la cuenta, la CLABE {CLABE} ya esta registrada en otra cuenta.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) Else Me.OnError("Ocurrió un error al guardar los cambios", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) End If - Catch ex As Exception - OnError("Ocurrió un error al guardar los cambios.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + Catch ex As Exception + + If ex.Message.Contains("IX_Gral_CuentasDepositos_CLABE") Then + OnError($"Ocurrió un error al actualizar la cuenta, la CLABE {CLABE} ya esta registrada en otra cuenta.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + Else + OnError("Ocurrió un error al guardar los cambios.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End If End Try Return Retorno diff --git a/Bancos/ProveedoresAbonar.aspx.vb b/Bancos/ProveedoresAbonar.aspx.vb index 1160ede4b..a6e121345 100644 --- a/Bancos/ProveedoresAbonar.aspx.vb +++ b/Bancos/ProveedoresAbonar.aspx.vb @@ -1939,29 +1939,31 @@ Partial Class Bancos_ProveedoresAbonar End If End If - If MsgError = "" AndAlso ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 5) Then - If ObjConta.ValorPolizaDescuadre > 0 Then - MsgError = ObjConta.MensajePolizaDescuadre + " " + ObjConta.ValorDiferencia - GuardaLogAD($"Bancos/ProveedoresAbonar | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") - Exit For - Else + End If + Next - If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso MsgError = "" Then - If ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then - ' Alert(alertaContabilizacion, ModExtensiones.TipoMensaje.MsgInformacion) - Else - 'Alert("Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError) - MsgError = "Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico" - End If + If MsgError.Trim.Length = 0 AndAlso CvePrePoliza > 0 Then + If MsgError = "" AndAlso ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 5) Then + If ObjConta.ValorPolizaDescuadre > 0 Then + MsgError = ObjConta.MensajePolizaDescuadre + " " + ObjConta.ValorDiferencia + GuardaLogAD($"Bancos/ProveedoresAbonar | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") + Else + If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso MsgError = "" Then + + If ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then + ' Alert(alertaContabilizacion, ModExtensiones.TipoMensaje.MsgInformacion) + Else + 'Alert("Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError) + MsgError = "Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico" End If End If - End If + End If End If - Next + End If diff --git a/Compras/Proveedores.aspx.vb b/Compras/Proveedores.aspx.vb index b542189c3..15dc5bff8 100644 --- a/Compras/Proveedores.aspx.vb +++ b/Compras/Proveedores.aspx.vb @@ -3123,15 +3123,22 @@ Partial Class Compras_Proveedores Alert("No se pudieron cargar las cuentas bancarias. Por favor intente nuevamente.", TipoMensaje.MsgAdvertencia) End If ObjCuentasBancos.Dispose() - End If + Else - - If CveProveedor < 0 Then - 'Alert("No hay proveedor", TipoMensaje.MsgInformacion) - TempDTCuentasBancos = DTCuentasBancos.Clone + 'SE USA CUANDO SE REGISTRA UN PROVEEDOR NUEVO + 'ESTE ELSE ES PARA OBTENER LA ESTRUCTURA DE LA TABLA + Dim ObjCuentasBancos As New ClsGenerales + If ObjCuentasBancos.GetCuentasDepositos(0, CveEmpresa:=-2) Then + DTCuentasBancos.Merge(ObjCuentasBancos.DtResultados) + Else + Alert("No se pudieron cargar las cuentas bancarias. Por favor intente nuevamente.", TipoMensaje.MsgAdvertencia) + End If + ObjCuentasBancos.Dispose() End If + TempDTCuentasBancos = DTCuentasBancos.Clone + CargaPSGridCuentasBancos(ViewState("OrdenCuentasBancos").ToString) End Sub