Power Builder - Datawindows

 
Vista:

Datawindows

Publicado por Fernando Quiroz (5 intervenciones) el 12/02/2003 22:23:29
Que Tal
Tengo un pequeño sistema de ventas donde guardo todos los documentos de venta de alguna empresa. tengo un datawindows que lista los documentos con sus campos principales (tipodoc,numero,fecha,cliente,vendedor,total,sucursal,tipopago,conceptodeventa,etc) pero para efecto de consultas quiero saber las ventas por fecha, por cliente, por sucursal, por concepto, por tipodepago, y por vendedor pero utilizando un solo datawindows. para evitar hacer varios datawindows que me serian dificiles de manejar en el script del programa. Espero sus respuestas gracias
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 Ricardo (1957 intervenciones) el 13/02/2003 01:27:50
Hola que tal:

Si la vista no cambia con cada consulta y si lo que necesitas es que dependiendo del tipo de consulta a realizar se reordenen los datos y se posicione en la primer ocurrencia del dato buscado, solo utiliza el sort para el campo en cuestion para ordenarlo y con SetSQLSelect para realizar un filtro en la DW.

Te recomiendo consultes la ayuda para una mejor comprension de estas propiedades.

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:Datawindows

Publicado por Fernando Quiroz (5 intervenciones) el 13/02/2003 04:01:52
GRACIAS Ricardo pero si conozco la propiedad SetSQLSelect solo que en mi datawindow presento varias columnas que vienen de varias tablas relacionadas y si utilizo SetSQLSelect tendria que escribir una sintaxis de varias lineas para cada tipo de reporte. Lo que me llevaria a la conclusion de que era mas practico crear varios datawindows. GRACIAS nuevamente pero sigo en la busqueda de algo mas practico.
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 Jorge (900 intervenciones) el 13/02/2003 04:13:04
Hola

Por que no pruebas con la propiedad query mode de las datawindows?
hay ejemplos muy claros y es muy util para consultas

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:Datawindows

Publicado por Ricardo (1957 intervenciones) el 13/02/2003 15:47:49
Que tal:

Con la aclaracion que acabas de hacer, la verdad si es mas practico crear varios DW e irlos asignando conforme los requieres.

Un saludo y 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

Utiliza Argumentos(1)

Publicado por eduardo.v (208 intervenciones) el 13/02/2003 05:15:42
Hola Fernando.
Yo te recomendaria que utilizes los argumentos de recuperacion de tu datawindow (retrieval argument) para definir que tipo de consulta quieres ver. te pongo un ejemplo simple:
"En una consulta de facturacion quiero filtrar de 3 formas diferntes mi consulta utilizando un solo datawindow: por cliente, por moneda y por vendedor ". Entonces hago esto:
-crear primero el datawindow con las columnas que quieres que se vean
-crear los siguientes retrieval argument:
*arg_reporte (number) , aqui ira el tipo de reporte que quieras
*arg_cliente (string) , codigo del cliente
*arg_moneda (string) , codigo de la moneda
*arg_vendedor (string) , codigo del vendedor
-Luego en el where de tu datawindow colocar algo como esto:
( :arg_reporte = 0 ) or
( :arg_reporte = 1 and
cli_codigo = :arg_cliente) or
( :arg_reporte = 2 and
mod_codigo = :arg_moneda ) or
( :arg_reporte = 3 and
vnd_codigo = :arg_vendedor)
-entonces ahora tienes un datawindow que te sirve para 3 tipo de consulta diferente:
//por cliente
dw_1.retrieve(1,ls_codcli)
//por moneda
dw_1.retrieve(2,ls_codmon)
//por vendedor
dw_1.retrieve(3,ls_codven)
//toda la lista
dw_1.retrieve(0,'xxx')
-Este es solo un pequeño ejemplo pero en el where puedes incluir muchas mas variantes incluso consultas combinadas de filtro y busqueda. Espero haberte ayudado
Saludos desde Peru 'Cuna del verdadero Pisco'

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

Utiliza Argumentos(1)

Publicado por eduardo.v (208 intervenciones) el 13/02/2003 05:21:56
Hola Fernando.
Yo te recomendaria que utilizes los argumentos de recuperacion de tu datawindow (retrieval argument) para definir que tipo de consulta quieres ver. te pongo un ejemplo simple:
"En una consulta de facturacion quiero filtrar de 3 formas diferntes mi consulta utilizando un solo datawindow: por cliente, por moneda y por vendedor ". Entonces hago esto:
-crear primero el datawindow con las columnas que quieres que se vean
-crear los siguientes retrieval argument:
*arg_reporte (number) , aqui ira el tipo de reporte que quieras
*arg_cliente (string) , codigo del cliente
*arg_moneda (string) , codigo de la moneda
*arg_vendedor (string) , codigo del vendedor
-Luego en el where de tu datawindow colocar algo como esto:
( :arg_reporte = 0 ) or
( :arg_reporte = 1 and
cli_codigo = :arg_cliente) or
( :arg_reporte = 2 and
mod_codigo = :arg_moneda ) or
( :arg_reporte = 3 and
vnd_codigo = :arg_vendedor)
-entonces ahora tienes un datawindow que te sirve para 3 tipo de consulta diferente:
//por cliente
dw_1.retrieve(1,ls_codcli)
//por moneda
dw_1.retrieve(2,ls_codmon)
//por vendedor
dw_1.retrieve(3,ls_codven)
//toda la lista
dw_1.retrieve(0,'xxx')
-Este es solo un pequeño ejemplo pero en el where puedes incluir muchas mas variantes incluso consultas combinadas de filtro y busqueda. Espero haberte ayudado
Saludos desde Peru 'Cuna del verdadero Pisco'

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

¡¡¡Gracias Eduardo!!!

Publicado por Fernando Quiroz (5 intervenciones) el 13/02/2003 17:10:17
Eduardo acabo de probar la opcion que me propusiste y funciona tal como queria. Ahora podre borrar todos los datawindows que me sobran. Pero una pregunta:¿a que te referias a "consultas combinadas de filtro y busqueda" ?
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 milson cardona (613 intervenciones) el 13/02/2003 14:43:41
Un saludo especial desde COLOMBIA

Bueno según como lo veo, creo que deberás crear varios DWs objects, tantos como reportes distintos quieras mostrar en la misma ventana, pero en la ventana solo insertaras un DW control, dependiendo de la consulta que elija el usuario, le asignas el DW respectivo al DW control y le haces el retrieve...... solo es otra forma de hacer lo que deseas, a mi parecer y según lo que he entendido de tu problema es la mejor forma....

-- ah para asignar el DW object dinámicamente al DW control utiliza
DW_1.dataobject = "dw_object_nuevo"
DW_1.retrieve()

espero que sea de tu ayuda... comentas como lo solucionas
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 Fernando Quiroz (5 intervenciones) el 13/02/2003 16:55:54
En realidad mi aplicacion ya esta funcionado y el problema de las consultas yo lo manejo de la forma que explica milson pero estoy buscando otra forma mas practica porque me doy cuenta que estoy rebundando en datawindows y como aun estoy en proceso de desarrollo me resulta un tanto fastidioso el mantenimiento de estos.
Creo que la opcion de eduardo es la que mas me conviene aunque creo que no la entendi bien. en todo caso voy a probarlo para ver como me sale. gracias
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