Actualizar formulario o rejillas desde un dock


([N1] pinpez) #1

Intento actualizar una rejilla que se encuentra en el formulario principal al arrancar la aplicacion por medio de un formulario que se encuentra en un dock.

Intento utilizar “Interfaz: recalcular” pero solo me muestra las vistas y controles del dock, no puedo acceder a mas vistas o formularios abiertos.

Quiero refrescar esta rejilla pero no se como hacerlo.

alguna idea ?


([N4] Infortic) #2

Hola.

La única forma que se me ocurre es:

FORMULARIO PRINCIPAL:

  • Crea un manejador REC_REJ con:

Interfaz: Recalcular (REJILLA)

  • Crea un botón BTN_REC_REJ ejecutar manejador REC_REJ.

Para que no se vea en el formulario dabe ancho=0, alto=0.

DOCK:

  • Crea un manejador JS con el código:

theMainWindow.currentView().centralWidget().control(“BTN_REC_REJ”).click();

El código anterior puede variar dependiendo si la rejilla está en un separador o en otra vista anidada etc…

Con eso, el manejador del DOCK podría refrescar la rejilla del formulario principal, siempre y cuando sea el formulario ficha visible actualmente.

Lo ideal es que el JS recorriera todas las vistas abiertas buscando el formulario principal por su nombre, pero así de cabeza no sé escribirte ese código.

Un saludo.


([N1] pinpez) #3

gracias por la ayuda.

Lo he probado pero, aparte de dar un error en la comprobacion javascript, no logro actualizar.
Habia leido por otros post esta misma cuestion con soluciones alternativas y de “buscavidas” fuero del entorno de velneo.

buscaba si habia una forma nativa de velneo para acceder a estas vistas y subfurmalarios, pero creo que lo unico a lo que accede recalcular desde un dock, es al suyo propio y a otros docks, pero no a pestañas que esten abiertas u otros formularios en vista.

:confused:


([N1] pinpez) #4

siguiendo con el hilo, como si consigo refrescar (probado en modo SDI) es ejecutar desde el dock “Interfaz: Ejecutar accion (ACCION)”

el objeto ACCION lanza de nuevo el formulario en pantalla principal y seguidamente, refresca.

Pero tengo dudas ante estas “artimañas”, el proceso de refresco lleva su “tiempecito” a la vista del ojo (mas aun en cloud).

Para operaciones del usuario resulta incomodo estos “parpedeos” y “renderaciones” de pantalla.

Velneo me siembra dudas para adquirirlo, va por dias (dias que me enamoro de un flechazo y otros dias que tumban este subidon cuando entro en la parte interna. ).

Quizas sea por mi “inexperiencia” pero a la vista está, solo pondre un ejemplo, el vTPV lanzado desde cloud tiene ligera “espera” en las acciones con los botones (no he probado nada en local o red). Para un camarero estas acciones son lentas al pulsar y elegir rapido varias familias y articulos. Y para Android, ya ni os cuento. En la tableta el sistema vTPV es… (mejor sin comentarios).

por eso, tengo aun dudas, el producto aun es mejorable. Sin embargo, me gusta la plataforma de integracion Velneo.


([N1] wikan) #5

Buenas, por partes.

Como toda herramienta hay que conocer las limitaciones y las virtudes. Cada herramienta tiene su “forma” de hacer las cosas.
No veo muy coherente que un dock refresque otro formulario que puede existir o no. Cada formulario debería ser estanco.

Por otro lado, vTPV, la verdad es que no lo uso. Pero aún así para cloud depende mucho de la conexión y como esté desarrollado. Pero para un tpv yo optaría por local siempre, por prevención de caídas de líneas, velocidad, etc.


([N4] Infortic) #6

Hola.

Si has copiado y pegado el código desde el foro es normal que no te funcione, tiene la mala costumbre de cambiarte las comillas dobles.

theMainWindow.currentView().centralWidget().control("BTN_REC_REJ").click();

Prueba ahora.


([N1] pinpez) #7

gracias a ambos por las respuestas.

no logro actualizar, con o sin comillas:
theMainWindow.currentView().centralWidget().control(“BTN_REC_REJ”).click();

gracias, cierro aqui esta cuestion.