/// <summary>
        /// Este método actualiza todos los datos de la ventana (paneles y tabs)
        /// </summary>
        public void refrescarVentana()
        {
            try {
                Cursor = Cursors.WaitCursor;
                Sistema.Controlador.Winppal.setAyuda(Mensaje.TextoMensaje("UPDATE-DATAPANEL"));

                _cuenta.refrescar();

                // Actualiza el convenio activo y el tabs de cuotas
                _convenioActivo = _cuenta.ConvenioActivo;
                if (_convenioActivo != null) {
                    _listCuotas.ObjetoMaster = _convenioActivo;
                    _listCuotas.getPanelListado();
                } else {
                    _listCuotas = new CUListCuotas {Padre = this, ObjetoMaster = null};
                    _listCuotas.ColsInvisibles.Add("Pagos");
                    _listCuotas.ColsInvisibles.Add("Cuenta");
                    _listCuotas.ColsInvisibles.Add("Convenio");
                    _panelCuotas = _listCuotas.getPanelListado(EModoVentana.VIEW);
                    _panelCuotas.Contenedor = this;
                    tabCuotas.Controls.Clear();
                }

                // Actualiza los paneles de datos
                establecerPaneles();

                // Actualiza los botones de la ventana
                establecerBotones();

                // Se recargan todos los tabs
                cargarTabs();
            } catch (Exception e) {
                throw new DataErrorException("SUBLISTADO-NOK", e.ToString());
            } finally {
                Sistema.Controlador.Winppal.setAyuda(Mensaje.TextoMensaje("AYUDA-LISTO"));
                Cursor = Cursors.Default;
            }
        }
        /// <summary>
        /// Constructor de la clase que asigna el controlador y el objeto
        /// destino de la ventana (para agregar, mostrar, editar o borrar), y
        /// luego inicializa los componentes visuales. Debería lanzar una
        /// VistaErrorException si hay algún problema (y mostrar el mismo).
        /// </summary>
        /// <param name="controlador">
        /// El objeto controlador de la ventana.
        /// </param>
        public WinGestionCuenta(CUGestionar controlador)
        {
            try {
                Cursor = Cursors.WaitCursor;
                Sistema.Controlador.Winppal.setAyuda(Mensaje.TextoMensaje("UPDATE-DATAPANEL"));

                // Inicializa el tiempo de actividad
                Sistema.Controlador.SecurityService.getSesion().iniciarActividad();

                // Crea e inicializa el controlador
                _controlador = controlador;

                // Establece un flag de si inicia o no con una gestion predeterminada
                _iniciaConGestion = (_controlador.getGestionActual() != null);

                // Establece la fecha de inicio de la gestion como la fecha
                // en que se abre la ventana (para asi asignar a la gestion
                // que se cree o edite desde esta instancia de la ventana)
                _fechaInicioGestion = DateTime.Now;

                // Establece la ventana de acuerdo a su diseño
                // original y la actualiza según el panel recibido
                InitializeComponent();

                // Inicializa los tabs de información inferiores
                _listPagos = new CUListPagos {Padre = this};
                _listPagos.ColsInvisibles.Add("Deudas");
                _listPagos.ColsInvisibles.Add("Cuenta");

                _listCuotas = new CUListCuotas {Padre = this};
                _listCuotas.ColsInvisibles.Add("Pagos");
                _listCuotas.ColsInvisibles.Add("Cuenta");
                _listCuotas.ColsInvisibles.Add("Convenio");

                _listHistDeudas = new CUListHistDeudas {Padre = this};
                _listHistDeudas.ColsInvisibles.Add("Pagos");
                _listHistDeudas.ColsInvisibles.Add("Cuenta");
                _listHistDeudas.ColsInvisibles.Add("Convenio");
                _listHistDeudas.Ordenamiento.Add(Orden.Desc("FechaVto"));

                _listGestiones = new CUListGestiones(_controlador.getGestionActual()) {Padre = this};
                _listGestiones.ColsInvisibles.Add("Cuenta");
                _listGestiones.ColsInvisibles.Add("Lista");
                _listGestiones.ColsInvisibles.Add("FechaAnulacion");

                _listConvenios = new CUListConveniosHisto { Padre = this };
                _listConvenios.ColsInvisibles.Add("Cuenta");

                _listEstados = new CUListEstadosCuenta { Padre = this };
                _listEstados.ColsInvisibles.Add("Cuenta");

                _listCuentasTitular = new CUListCuentas {Padre = this};
                _listCuentasTitular.ColsInvisibles.Add("Titular");

                _listCuentasGarante = new CUListCuentas {Padre = this};
                _listCuentasGarante.ColsInvisibles.Add("Garante");

                // Establece los objetos de referencia en la ventana
                establecerDatos();

                // Setea que botones debe mostar y qué no
                establecerBotones();

                // Luego carga toda la información a mostrar
                establecerPaneles();

                // Luego establece los paneles de tabs incialmente
                establecerPanelesTabs();

                // Inicializa y carga los tabs de la ventanta
                cargarTabs();
            } catch (Exception e) {
                Sistema.Controlador.SecurityService.getSesion().iniciarInactividad();
                Sistema.Controlador.mostrar("VISTA-NOK", ENivelMensaje.ERROR, e.ToString(), true);
            } finally {
                Sistema.Controlador.Winppal.setAyuda(Mensaje.TextoMensaje("AYUDA-LISTO"));
                Cursor = Cursors.Default;
            }
        }