Reporte en powerbuilder

Quisiera saber como elaborar un reporte en powerbuilder, estoy haciendo un sistema de ventas y ya logre que registre en la base de datos (SQL SERVER 2005) al efectuarse una venta, pero ahora quisiera que después de la venta se muestre su reporte correspondiente y se pueda imprimir. ¿Tendrás algún tutorial para realizar reportes o algún ejemplo

1 Respuesta

Respuesta
1
No es tan complicado si es que para el registro de tus datos manejas las DW.
Dime como registras tus datos para saber a que nivel explicarte, registrar con INSERT INTO embebido o con DW?
Mira el guardar la venta lo he hecho con Insert into, y hay otra parte que es compra que lo he hecho con DW, mm me podrías explicar ambos por favor!
Bueno ya veo, antes que nada un consejo la forma de guardar o accesder a la BD no deberías ser con sentencias Transact SQL embebidas porque esto ocasiona lentitud en el sistema y mientras más información tengas en las tablas tu sistema se vovleria más lento. Por lo que te recomiendo ir dejando poco a poco esa forma de programar.
Te explico un poco los tipo de DW Pirncipales:
FreeFrom - Normalmente usando para mantenimientos
Tabular - Para listados o Reportes
Grid - Para Listados con la posibilidad de que puedas ampliar las columnas en tiempo de ejecución
Composite - Es una dw COmpuesto por uno o mas DW usado para reportes, imaginemos un documento de venta, Tendrias una DW para la cabecera y otra DW par ael detalle, en la DW Composite podrias poner las 2 DW Cabecera y Detalle a fin de imprimir en una sola hoja A4
***********************************************
Ahora para hacer un reporte tomemos como ejemplo una DW tipo Tabular.
- Creas una nueva DW Tabular
- Seleccionas la tabla y los campos que quieres mostrar en el reporte
- Luego seria cuestión de acomodar las columnas en las posiciones que quieres que se muestre. Puedes mover las bandas horizontales para quizás poner un titulo en la parte superior.
- Luego guardas esa DW
- Creas una ventana con un botón imprimir
- Arrastras la DW a la ventana.
- En el evento open de la ventana digitas estas 2 lines de código.
     dw_1.settransobject.sqlca()
     dw_1.retrieve()
- En el boton imprimir este codigo
     dw_1.print()
************************************************************
Como te das cuenta no es tan complicado solo hay que jugar más con las DW.
aia gracias muy buen consejo.. ¿mm y como haría si quiero sacar el reporte de una venta que he hecho pero con el código de insert into? ¿Mm seria igual?
Claro, lo que pasa es que tu insert into es en la ventana de mantenmiento LUEGO ESO REGISTRA EN LAS TABLAS.
Para tu reporte ya usas una DW Tabular y como te dige seleccionas la tablas o tablas porque la información seguro la quieres sacar de más de una tabla y luego sigues con los pasas que te indique.
Por ejemplo suponiendo en la DW Elijas una tabla Cabecera y otra detalle. Al final la DW te quedara un listado simple si tu quieres que se muestre los datos con cabecera y detalle así como un documento de venta tendrías que bajar la banda horizontal que dice HEADER y ahí arrastras las columnas que serian en la cabecera y lo demás lo dejas en el detalle.
Amigo mm una consulta he hecho los pasos como me indicas pero me encuentro con estos inconvenientes:
1)Yo acabo de efectuar alguna venta y muestro mi reporte pero me muestra todas las ventas.. ¿cómo haría para que me muestre solo el reporte de ese pedido en si que acabo de realizar?
2)Cuando muestro el reporte y se visualizan todos las ventas me dado cuenta que el total de venta me lo muestra al ultimo.. y no por cada venta.
Acá te una pregunta similar que respondí hace un momento, en tu caso tienes que hacer una búsqueda en ese reporte por un argumento el cual debe ser el ID o Nrode pedido de tu tabla el cual es único y te tendría que mostrar una única venta.
En el ejemplo que te copia la persona hace una búsqueda entre un rango de fechas, par atu caso seria una busqeuda por ID O NroDocumento.
**************************************************************
Haber tu DW Tabular tendría que tener 2 argumentos uno fecha inicial y fecha final, ¿le creaste los argumentos?
Si no lo has echo te digo como en el Painter de tu DW, vas a DataSource te saldrá la tabla

Luego te saldrá una ventana donde colocas tus 2 argumentos fec1 y fec2 del tipo DATE
Aceptas y en la parte inferior marca tu columna fecha y los argumentos algo así como la imagen siguiente:

luego en tu boton consultar colocas estas dos lineas de codigo
date ld_fec1, ld_fec2
ld_fec1 = date(em_fecha1.text)
ld_fec2 = date(em_fecha2.text)
dw_1.settrnasobject(sqlca)
dw_1.retrieve(ld_fec1,ld_fec2)
PDT:
No olvides finalizar la pregunta y puntar si te sirve la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas