Power Builder - Datawindows

 
Vista:

Datawindows

Publicado por Jose (3 intervenciones) el 01/07/2007 04:49:04
Estoy realizando una ventana para la elaboracion de una fatura, en esta tengo un datawindows q m va a permitir almacenar los productos que voy agregando a la fatura, pero para agregar los productos debo abrir otra ventana donde se encuentran el inventario de los productos, al momento de encontrar el prodcuto q voy a agregar en la factura y cierre dicha ventana, no encuentro la manera de que los datos del producto seleccionado se carguen e el datawindows de la primera ventana.....

Espero alguein me pueda ayudar......... SALudos a todos en el foro......
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:Datawindows

Publicado por Rolando (19 intervenciones) el 01/07/2007 21:57:23
Lo que yo hago con procesos similares es definir un objeto global en el target de tipo window... window w_activa. Luego en la ventana de factura antes de llamar a la ventana de busqueda de productos escribo.. w_activa = w_factura. Ya que tengo el producto deseado obtengo el codigo de este con el dw_1.getitemstring(dw_1.getrow(), "cod_prod") si es que estoy usando una datawindow y en el de presionar el boton de "seleccionar" escribo w_activa.triggerevent("ue_buscaproducto"), donde "ue_buscaproducto" es un evento definido en la ventana de factura.

De esta forma puedes usar esta ventana de busqueda para cualquier otra ventana, no solo factura. Lo unico que tienes que hacer es referenciar el objeto w_activa a la ventana que llama y definir el evento "ue_buscaproducto" en las ventanas que ocupas buscar productos.

en este evento "ue_buscaproducto" para agregarlo al datawindow usas el SETITEM del datawindow de tu ventana de factura.

Espero haberte ayudado.
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:Datawindows

Publicado por Jose (3 intervenciones) el 02/07/2007 01:45:48
Muchas gracias ROLANDO!!!!!!! Ya solucione el problema con tu recomendacion.......

Pero me surgio otro problema, en el datawindow de la factura tengo dos campos adicionales a los campos donde se cargan los datos del producto, que son cantidad que se desea del producto y otro q determina el total de la cantidad por el producto, entonces no encuentro el evento que realice la multiplicacion, justo despues de que ingrese la cantidad de productos...........

Lo que el datawindow muestra es lo siguiente:

--------------------------------------------------------------------------------------------------------------------------
| Codigo | Nombre | Cantidad | Precio Unitario | Total |
--------------------------------------------------------------------------------------------------------------------------

Lo que quiero es que al ingresar la cantidad, realice la operacion (cantidad * Precio unitario) y la agregue en el Total........ Pero no se el evento del datawindow que debo usar para eso.... Pienso que es el ITEMCHANGED pero probe y no me hizo nada a no ser que lo haya codificado mal...

Si me puedes ayudar te lo agradeceria.....
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:Datawindows

Publicado por davis (79 intervenciones) el 02/07/2007 16:06:59
Deberias usar los eventos itemchanged e itemfocuschanged
primero en el itemchanged colocas una variable
q indica q has hecho cambios
y luego en el itemfocuschanged revisas si se han hecho cambios

Saludos espero haber ayudado ..
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:Datawindows

Publicado por achafio (88 intervenciones) el 02/07/2007 16:07:31
Hola José lo debes usar en el evento editchanged:

AcceptText()
IF (dwno.name = 'cantidad') THEN
Object.total[GetRow] = (Object.cantidad[GetRow] * Object.precio_unitario[GetRow])
END IF

Espero te haya servido.
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