Power Builder - Problemas con Opensheet

 
Vista:

Problemas con Opensheet

Publicado por frank (3 intervenciones) el 18/12/2007 03:48:12
Mi correo : [email protected]
no se p no deja poner direciones gmail
----------------------------------------------------------

Hola srs del foro

Cual es la mejor forma de cerrar un formulario
q sea abierto de esta forma
opensheet (child,"ow_seleccionar_op",ow_mdi)

usando close (parent)

o llamando a una funcion q tenga este codigo
Fl_cerrar ()
close (this)

no se pq extraña razon el close parent haveces me da problemas , y bloquea toda la
aplicacion

Les pongo un ejemplo
tengo 3 Window
ow_seleccionar_op (response) --pero aveces lo habro con opensheet y funciona como un main
ow_seleccionar_moneda (main)
ow_venta (main)

Abro un formulario de busqueda para modificar una operacion
window child
opensheet (child,"ow_seleccionar_op",ow_mdi)

eligo una de las operaciones
y guardo el codigo en una variable
luego cierro el formulario
Close (parent)
y abro otro formulario para elegir la moneda con q se modificara la operacion de venta
window child
opensheet (child,"ow_seleccionar_moneda",ow_mdi)

una vez q elijo la moneda cierro este formulario y finalmente abro mi formulario de venta , para modificar la
operacion q previamente elegi

Close (parent)
window child
opensheet (child,"ow_seleccionar_moneda",ow_venta)

Talvez me podrian dar pautas de p q aveces la aplicacion se bloquea ,
no entiendo mucho esto del "Parent"

Saludos a todos , cualquier comentario ,experiencia , recomendacion q quieran comentarme ,sera bienbenida
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con Opensheet

Publicado por samuel (52 intervenciones) el 18/12/2007 10:03:44
Hola Frank,

no se puede utilizar opensheet con ventanas response, si las abres con opensheet las conviertes en mdi, con ventanas response tendrás que utilizar open u openwithparm.
La función opensheet tiene la finalidad de abrir una ventana dentro de un marco mdi defininido: te puedes crear una ventana tipo mdi w_principal_mdi y con el opensheet abririas las ventanas (menos las response) dentro de la ventana mdi.

ejemplo:
tu ventana main: ow_seleccionar_moneda
la ventana mdi: w_principal_mdi

opensheet(ow_seleccionar_moneda, w_principal_mdi, 1, Original!)

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

matizando lo anterior

Publicado por samuel (52 intervenciones) el 18/12/2007 13:21:02
Con el opensheet si puedes abrir ventanas response, pero esta deja de actuar como ventana popup.
Si abres con open u openwithparm una ventana response conserva el foco hasta que respondas o cierres la ventana (como un messagebox), si abres con opensheet u opensheetwithparm una ventana response actuará como una mdi sheet.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con Opensheet

Publicado por alex (3 intervenciones) el 18/12/2007 16:44:46
Hola Frank,

¿podrías detallar más algunas cosas para ver si te podemos ayudar mejor?

dónde haces el close(parent), los opensheet los haces desde tres opciones de menú distintas o desde dónde, la ventana response quieres que te devuelva algún valor o no, como guardas la moneda y la operación, la moneda y la operación se la tienes que pasar a la ventana de ventas???

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con Opensheet

Publicado por frank (3 intervenciones) el 18/12/2007 17:13:02
Mi correo : [email protected]
no se p no deja poner direciones gmail
----------------------------------------------------------

Gracias por responder Samuel , Alex

la razon p la q la ventana ow_seleccionar_op es tipo response
es q aveces la llamo desde otros formularios para elegir "operaciones realizadas anteriormente"

Veras Siguiendo la secuencia anterior

Abro las ventanas , las cierro ..
Hasta llegar al formulario de Venta

En este formulario de Venta tengo unos boton q dice elegir Pedido
click en el boton y abro el form ow_seleccionar_op ,
en esta ventana tambien muestro los pedidos q haya realizado el cliente
Open (ow_seleccionar_op)

y como es response , se adecua , el usuario tiene q elegir una operacion o cancelar , no puede hacer nada mas
una vez q elige un pedido , guardo el codigo en una variable
cierro el formulario
(Close Parent)
y el foco vuelve al formulario deVenta , este captura el codigo de pedido elegido y lo carga

= tengo otro boton para capturar ventas q haya hecho anteriomente

otra opcion seria crear otro formulario para solamente capturar los pedidos , ventas (hechas anetriomente)
pero la apariencia de la ventana seria muy parecida, los botones serian iguales ,
programar otra ventana me parece repetir codigo , o talvez seria recomendable hacer otra ventana

A y las ventanas se abriendo /cerrando cecuencialmente

cb_aceptar click ()
--------------------------------------
eligo una opcion ,guardo el codigo de operacion elegida

gi_cod = dw_1.getitmnumber (nreg ,"codigo")
--cierro el formulario
Close (Parent)
--y en la siguiente linea
window child
opensheet (child,"ow_seleccionar_moneda",ow_mdi)
----

igual en seleccionar moneda

Una cosa mas habria forma alguna de q un ventana normal se conporte con response
asi la ventana ow_seleccionar_op ya no seria response , pero de alguna forma tendria q obligar
al usuario a q no pueda hacer otra cosa mas q elegir o cancelar la operacion de busqueda
hice pruebas con el evento deactivate del window , si "te diriges a otro formulario , activate
y mostraba un messagebox ("Debes elgir un operacion o cancelar ","")
"
pero funciona a medias p q despues de varios intentos el foco podia dirigirse a otra ventana

Saludos ,espero no haberlos aburrido , y gracias por la ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con Opensheet

Publicado por TIROLOKO (41 intervenciones) el 18/12/2007 23:23:15
los colegas te estan dando buenos consejos
el consejo q te puedo dar es q con los problemas q tienes t olvides del close(parent) y usa el close (nombre de tu ventana) asi no hay fallas ni bloqueos y esas cosas ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con Opensheet

Publicado por frank (3 intervenciones) el 19/12/2007 22:46:11
Ok parece q esa es la mejor forma ,
entonces me quedo con close (this)

Saludos a todos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar