Power Builder - Traspasar una row de una ventana a otra

 
Vista:

Traspasar una row de una ventana a otra

Publicado por jordi (28 intervenciones) el 03/08/2005 17:05:19
Hola,
Tengo una ventana tipo plantilla para todos los ficheros maestros (formas de pago, agencias, bancos,...) y en ella tengo un botón para hacer búsquedas en otra ventana tipo plantilla para todas las búsquedas de los ficheros maestros. El problema está en como puedo hacer que al cerrar la segunda ventana me coloque el valor seleccionado de la búsqueda en la primera ventana. Ejemplo:
En gestión Albaranes hay un botón que me permite hacer la búsqueda de los clientes, al cerrar esta busqueda poner el cliente seleccionado en el albarán. La ventana de búsqueda es tipo response!.
Me explico ?
Gracias por su ayuda...
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:Traspasar una row de una ventana a otra

Publicado por karen (274 intervenciones) el 03/08/2005 17:32:08
abre tu ventana con parametros, pasale una estructura y al cerrar la otra ventana
pasale el parametro digamos el codigo del cliente cierrala con closewhithreturn
algo asi
en la primera ventana donde llamas a tu ventana de clientes

str_param lstr_arg
openwithparm(w_clientes, lstr_arg)
lstr_arg = message.powerobjectparm
IF isvalid(lstr_arg) THEN
ls_cliente = lstr_arg.s[1]


en la ventana de cliente al aceptar
lstr_arg.s[1] = dw_1.object.Cod_cliente[dw_1.getRow()]
closewithreturn(ventana, lstr_arg )
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:Traspasar una row de una ventana a otra

Publicado por Jancarlo (890 intervenciones) el 03/08/2005 17:33:13
Hola .. puedes hacer lo siguiente

Llama a la ventana enviandole como parámetro el DW donde quieres que se setee el ' cliente '

openwithparm(w_busqueda,dw_cliente)

Luego en la ventana de busqueda primero define una variable de instancia que almacene el DW enviado

datawindow idw_cliente

En su evento open captura el parámetro enviado.

idw_cliente=message.powerobjectparm
/*Aca realiza todas la conexiones a los DW y su carga de datos*/
....

En este ejemplo filtraremos al cliente al hacer doble click a la lista de clientes. Para eso programamos en el evento doubleclicked del Dw lista.

string ls_cliente
//Si no hay filas entonces que retorne
if not rowcount()>0 then return

ls_cliente=getitemstring(row,'codigo_cliente')

//Luego seteamos el codigo en la instancia del DW que enviaste como parametro

idw_cliente.setitem(idw_cliente.getrow(),'codigo_cliente',ls_codigo)

//Al terminar cerramos la ventana de busqueda
close(parent)

Bueno puedes hacerle unas mejoras pero al menos te doy una pequeña idea que espero te sirva de ayuda.

Suerte!
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:Traspasar una row de una ventana a otra

Publicado por jordi (28 intervenciones) el 03/08/2005 18:00:33
Kare, Jancarlo.
Gracias por vuestras notas, mañana intentaré hacer lo que me explicais.
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

o.k.

Publicado por jordi (28 intervenciones) el 04/08/2005 11:49:38
Hola,
con vuestras notas y la ayuda de PB he conseguido trasladar los datos que quería entre las dw, eso sí, empleando una Message.StringParm. Me parecía que podía enviar mas datos con un string... no se ya veré si me equivoco.

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