Page 1 of 1

REFRESCAR AUTOMATICAMENTE QRY/XBROWSE MYSQL REMOTAMENTE

Posted: Sun Mar 20, 2016 1:37 am
by joseluisysturiz
Saludos, en diseño de un sistema que esta en red...necesito lo siguiente, en un pc hago carga de pre-facturas o pedidos, en otro pc mantengo abierta un xbrowse con una consulta sobre la misma tabla q cargo el usuario anterior, cuando el primer usuario termine el pedido o pre-factura, en el xbrowse del 2do usuario sin que el haga nada...se refresque el query y el xbrowse y este 2do usuario ya pueda ver el numero del pedido o pre-factura que cargo el 1er usuario. Estoy intentando una loquera, es algo dificil de hacer o es algo sencillo.? Recuerden que el 2do usuario solo debe ver cuando el anterior haga la carga sin necesidad de intervenir con el pc, ni hacer click en X boton o algo parecido, espero sugerencias, ideas, ejemplos...gracias, saludos... :shock:

Re: REFRESCAR AUTOMATICAMENTE QRY/XBROWSE MYSQL REMOTAMENTE

Posted: Sun Mar 20, 2016 11:47 am
by Ariel
Hola,
lo mas facil y practico es activar un timer que haga un oserver:LoadQuery(), obrw:Refresh() en la 2da pc.
Saludos.

Re: REFRESCAR AUTOMATICAMENTE QRY/XBROWSE MYSQL REMOTAMENTE

Posted: Sun Mar 20, 2016 12:45 pm
by compubrion
Saludos !

Con un timer puedes hacer que refresque automaticamente el Query de pedidos !

Re: REFRESCAR AUTOMATICAMENTE QRY/XBROWSE MYSQL REMOTAMENTE

Posted: Sun Mar 20, 2016 2:56 pm
by joseluisysturiz
Saludos, Ariel y Compubrion, fue mi primera idea, el timer, el detalle es que el timer se refresca cada tiempo determinado y en este caso tendria q estar refrescando cada X segundos para tener actualizado el 2do pc y eso haria que el pc trabajase hubiece o no entradas nuevas, intento es que en lo que se finalice el pedido en el primer pc, si fuese posible, ese mismo evento refresque la consulta del 2do pc. Haber si alguien tiene alguna otra sugerencia, si no, tendre que usar el timer seria cada segundo o cada intervalo corto, gracias, saludos... :shock:

Re: REFRESCAR AUTOMATICAMENTE QRY/XBROWSE MYSQL REMOTAMENTE

Posted: Sun Mar 20, 2016 10:30 pm
by cmsoft
Hola Jose Luis:
Si o si debes tener un timer para actualizar tu consulta, ya que lo que obtienes cuando la haces es el estado que tiene la tabla al momento de hacer tu consulta, no es como con los dbf que ves la tabla, vos en el xbrowse vas a tener la consulta, y si la tabla se modifica, tienes que hacer un refresh de ambos para ver _.
Ahora bien, lo que puede hacer la funcion que llama el timer, es consultar por ejemplo el ultimo pedido cargado, utilizando para esto otra consulta, porque si simplemente haces un refresh de la consulta y del xbrowse, y la tabla de los pedido es grande, vas a tener un efecto continuo de parpadeo y lentitud en la 2da terminal. Tambien podrias hacer que el proceso de carga en la primera terminal, actualice una tabla que tenga solo un campo de estado (.t. o .f.) cuando da un alta nueva, y que el 2do proceso, lea esa tabla en el timer y cuando sea .t. actualice la consulta y el xbrowse.
Si usas tdolphin, y tu tabla de pedidos tiene el campo clave como autoincremental, podrias preguntar por si oServer:GetAutoIncrement("pedidos") ha cambiado..
Espero te sirva.

Re: REFRESCAR AUTOMATICAMENTE QRY/XBROWSE MYSQL REMOTAMENTE

Posted: Mon Mar 21, 2016 2:03 am
by joseluisysturiz
CMSOFT, gracias por tu respuesta, ni modo, tendre que hacer el timer(), solo buscaba si podia existir alguna forma de que hubiece una variable global o algo parecido que fuese la consulta y que se pudiese hacer refresh desde otro pc por medio de la red...en relacion al tamaño del pedido no hay problema ya que la tabla y xbrowse solo contendran la cabecera y totales del pedido, no los detalles, lo que quiero hacer ya lo vi en un sistema en red, no se bajo cual lenguaje y ni idea si usan algo como el timer..pero si vi que apenas el PC_2 finaliza el pedido, el PC_1 ve enseguida sin hacer nada, que llego un pedido y se encarga de hacer la cobranza y emitir la factura basada en el pedido, igual indagare un poco mas antes de usar el timer(), estoy usando mysql y tdolphin, gracias a las respuestas hasta ahora, espero igual haber si alguien tiene alguna otra manera sin el timer(), gracias, saludos... :shock: