Power Builder - Devolver dato en Windows tipo POPUP!

   
Vista:

Devolver dato en Windows tipo POPUP!

Publicado por Andres (331 intervenciones) el 25/09/2007 21:33:37
Amigos

Tengo un ingreso de datos de comprobantes contables, en este permite entrar a un a consulta de cuenta corriente para ver los documentos pendientes.

En esta consulta envio parametros como cuenta contable, tipo de documednto. Con un doble click asigno el numero del documento y valor a pagafr.

El problema es que esta consulta es una windows de tipo [popup!], por lo tanto despues de efectuar el open (w_consulta), sigue avanzando el codigo y no se donde puede recibir el data de la windows.

Atte

Andres

PD Espero ser claro
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:Devolver dato en Windows tipo POPUP!

Publicado por Leopoldo taylhardat (690 intervenciones) el 25/09/2007 22:23:24
Saludos...

Busca en la ayuda el uso de parametros de datos.. y la opción de abrir una ventana es:
OPENWITHPARM(ventana, estructura)
tienes que definir la estructura y asignarle los valores..
luego al abrir la ventana tienes que tomar los valores...
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:Devolver dato en Windows tipo POPUP!

Publicado por Andres (331 intervenciones) el 25/09/2007 23:28:43
Leopoldo

Los datos enviados es una estructura global, entra y recupera bien a la windows "open (w_ctacte_consulta)", el problema es que es una windows de tipo popup!, por lo tanto el control vuelve una vez que abrio y recupero los datos en la windows w_ctacte_consulta.

El codigo en la windows origen es el siguiente

if dw_1.rowcount() = 0 then return
if dw_1.object.nrorut [ls_row] = 0 then return

gb_lstr_info.p_ref_tipo = dw_1.object.ref_tipo [ls_row]
gb_lstr_info.p_ref_numero = dw_1.object.ref_numero [ls_row]
gb_lstr_info.p_linea = dw_1.object.ref_correl [ls_row]
gb_lstr_info.p_nrorut = dw_1.object.nrorut [ls_row]
gb_lstr_info.p_digrut = dw_1.object.digrut [ls_row]
gb_lstr_info.p_sucursal = dw_1.object.sucursal [ls_row]
gb_lstr_info.p_cuenta = dw_1.object.cuenta [ls_row]
gb_lstr_info.p_estado = "P"

Open (w_ctacte_consulta)
if gb_ref_tipo = gb_lstr_info.p_ref_tipo then
if gb_ref_numero>0 and gb_ref_correl > 0 and (gb_debe > 0 or gb_haber > 0) then
dw_1.object.ref_tipo [ls_row] = gb_ref_tipo
dw_1.object.ref_numero [ls_row] = gb_ref_numero
dw_1.object.ref_correl [ls_row] = gb_ref_correl
dw_1.object.debe [ls_row] = gb_debe
dw_1.object.haber [ls_row] = gb_haber
end if
end if
f_gb_lstr_info("L")

El problema es que entra a la w_ctacte_consulta, abre, recupera OK, pero el codigo sigue y termina el evento

Atte

Andres
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:Devolver dato en Windows tipo POPUP!

Publicado por Leopoldo Taylhardat (690 intervenciones) el 27/09/2007 18:04:26
Saludos...

Ponle un botón y le pones el setfocus, y cuando presione el botón cierras la ventana...

pero creo que te complicas la vida...
pones en la estructura el numero de banco y cuenta, luego en la ventana hija (popup) haces un retrieve a la cuenta con esos datos desplegando lo que quieras...
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:Devolver dato en Windows tipo POPUP!

Publicado por Andres (331 intervenciones) el 28/09/2007 14:36:53
Leopoldo

Asi lo hice y funciona pecfecto.

Atte

Andres
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:Devolver dato en Windows tipo POPUP!

Publicado por alberto (4 intervenciones) el 29/09/2007 16:54:59
Quizás, si se requiere detener el código de la ventana padre hasta que la ventana hija se complete en su ejecución, la ventana hija debería ser de tipo response.
Al ser de tipo response, puedes enviar un parámetro de retorno, vía el objeto message de la siguiente forma:

closewithreturn(ventanahija, argumentoaenviaralaventanapadre)

Esto debes ejecutarlo desde la ventana hija, obviamente.
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