Ventanas SDI y presentación de informes


([N1] ebarbeito) #1

Hola de nuevo,

Estoy haciendo una aplicación que por defecto su interfaz es SDI. El modo de ventana sigue siendo modificable desde el menú del marco pero por defecto mi decisión es SDI (es un programa sencillo que se maneja desde el propio formulario principal). Por otro lado, tengo una acción que dispara un objeto búsqueda y un informe. El problema viene cuando quiero cerrar el informe y volver al formulario principal.

En caso de que el usuario previsualice el informe, podría cerrarlo o ir al formulario principal desde el menú principal (opción: Ventana -> Siguiente o Ventana -> Cerrar) pero me parece poco intuitivo para la mayoría de usuarios. ¿Cómo lo haríais vosotros?

Se me ocurren dos formas pero tienen pegas:

  1. La opción más intuitiva: desde el objeto informe visualizado, que el usuario presione la tecla Esc para cerrar la ventana del informe. En principio sería posible pero por ahora parece que el objeto Informe no tiene señales disponibles, por lo que no puedo lanzar un evento al pulsar una tecla.
  2. Añadir un icono-acción en una toolbar principal (dock), que sea el primer icono (un dibujo de una casa por ejemplo). De modo que al pulsar ese icono se lance un proceso que compruebe una variable global: si ésta está a 1 quiere decir que el informe se abrió, con lo que se podría reinicializar dicha variable a 0 y lanzar la instrucción "Cerrar ventana". Esta opción tiene pegas: (1) no hay señal Inicializado para el objeto Informe con lo que al abrir el informe no podremos poner la variable a 1. Esta pega es salvable seguramente, lanzando el informe desde proceso directamente. (2) Pero hay una pega insalvable, y es que el usuario puede abrir el informe (se pone a 1 la variable) y estar en modo MDI o TAB, pudiendo cambiar de ventana. O también puede cerrar el informe desde menú, de modo que en ambos casos la variable permanece a 1 y el informe está cerrado. Si el usuario pulsa en ese momento el icono comentado de la toolbar cerraría la ventana principal.

Lo dicho, ¿se os ocurre alguna otra forma? Gracias!

Un saludo


([N3] finanplan) #2

Buenas noches
Tengo este mismo problema en una aplicación en modo SDI. Los informes obtenidos a través de “disparar objeto” no llevan la opción de cerrar informe, con lo que no hay manera de cerrarlos.
¿Alguna idea?
Cordial saludo.
Daniel


([N4] sergioinfortic) #3

Hola.

Crear un formulario con una vista de datos de tipo informe.

El formulario puedes dejarle el botón de la ventana o añadirle opcion de cerrar coun un button


([N3] finanplan) #4

Ok Gracias. Al final he puesto una imagen cerrar en un form del dock de arriba de la pantalla y con variables lo hago visible o no y con la instrucción cerrar ventana. En definitiva una paranoia. Además por si acaso en el menú también he puesto una opción "cerrar ventana actual·

No me sirve el formulario que propones ya que lo ejecuto desde un visor de tabla.

No entiendo porqué los informes nativos a veces incorporan el botón cerrar (cuando no es necesario) y no lo incorporan otras veces (cuando si es necesario).


([N4] sergioinfortic) #5

Hola.

¿A qué te refieres con visor de tabla ? ¿ A un esquema de tablas ?

Dices que lo haces a través de disparar objeto, en lugar de disparar el informe ¿no puedes disparar un formulario con el informe incrustado en forma de vista de datos ?

1 - Guardas los registros en una cesta
2 - Proceso que lee la cesta y la saca por la salida
3 - Fomulario con vista de datos con ese proceso como origen,


([N3] finanplan) #6

Buenas tardes

Seguro que hay otras formas de hacerlo pero y lo tengo montado de la siguiente manera en toda la aplicación:

Para ejecutar los informes primero presento una rejilla que carga todos los datos necesarios. Esta rejilla tiene una Toolbar (tal como se ve en la imagen) que incluye entre otros una acción que ejecuta el comando: “Lista: generar vista con otro visor”.
Con ello consigo en un solo acceso a la base de datos que se puedan imprimir todos los informes, exportar a excel, csv, etc.
Como uso SDI, ya que así consigo que la aplicación sea totalmente operativa en unta tablet Android, los informes se disparan a pantalla completa y sin botón cerrar. Si lo pongo en modo TAB, el espacio que ocupan las pestañas hace que la presentación en Tablet Android no sea tan buena como la que consigo en modo SDI.

En todo caso sigo sin entender el motivo por el cual los informes nativos incorporan a veces la “X” de cerrar y otras no.

Saludos y gracias por tu interés


([N4] sergioinfortic) #7

Ah, ok, pensaba que hacías disparar objeto.

Sobre por qué pone la X a veces sí y a veces no… ni idea jajajaja

Deberías consultarlo con soporte y postear aquí lo que te digan.

Un saludo