FoxPro/Visual FoxPro - DOS TABLAS EN UN REPOR FORM

 
Vista:

DOS TABLAS EN UN REPOR FORM

Publicado por alexcoinc (450 intervenciones) el 26/07/2010 16:09:25
Buenos dias.

Trabajando con VFP 6, estoy imprimiendo una factura de venta de repuestos, con el uso de REPOR FORM; hasta ahi todo full.

Ahora el cliente quiere que al final del reporte se imprima por cada articulo su garantia (si la tiene); es algo como esto:

*ESTE ES EL DETALLE
articulo nombre cantidad valor total
-----------------------------------------------------
001 tornillo 10 200
002 farola 1 20000
003 llave 1 5000

GARANTIAS
**************
002 5 Meses
003 15 dias

-----------------------------------------------------------
Notese que el codigo 001 no aparece pues no tiene garantia.

Mi inquietud es como hago para imprimir el contenido total de dos tablas ("barriendo" primero una, en este caso la de detalles y luego la otra, la de garantias)

Gracias por sus comentarios
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:DOS TABLAS EN UN REPOR FORM

Publicado por DEVILSITO (311 intervenciones) el 30/07/2010 16:03:36
Previo a generar el reporte, puedes construir un ciclo que examine todos los codigos involucrados y vaya dejando en un arreglo multidimensional las garantias de cada uno de ellos. En la parte inferior del reporte puedes colocar un objeto EDIT o algo parecido (que sea autoajustable dependiendo del numero de elementos), alli luego desplegaras en forma ordenada cada uno de los items del arreglo antes generado. todo esto solo antes de hacer la llamada al report. Esto lo puedes hacer generando una variable que previamente haya concatenado cada uno de los elementos del arreglo.
Otra cosa, la version 6 de VFP es pésima, aunque sacaron muchos parches pero sigue siendo mala, te aconsejo que instales VFP9, que es lejos la mejor version y facilita muchas cosas para el programador, y por supuesto reconoce absolutamente TODO el codigo de versiones anteriorres.
Salu2
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
sin imagen de perfil

RE:DOS TABLAS EN UN REPOR FORM

Publicado por victor perez (278 intervenciones) el 31/07/2010 18:59:15
Amigo,

En mi sistema de facturacion se abren varias tablas y se crea un cursor. Una tabla cabecera capta los datos del Cliente, numero de factura, fecha, monto total, metodo de pago, etc... la otra llamada DETALLES capta los detalles de la facturacion por cada codigo de objeto que se alimenta del cursor.

El cursor esta relacionado por el campo codigo de la Base de datos de articulos.

Asi, en detalles al imprimir en pantalla se va obteniendo a informacion asi:

Codigo - lo digita el usuario
descripcion - lo obtiene de la base de datos de Articulos ya abierta en el init
Cantidad - lo digitas
Precio unitario - lo toma de la base datos de articulos y se puede modificar
Precio Total...

Asi lo hace en un grid hasta que no no se desea introducir mas informacion

Luego se imprime la factura mediante un report que usa CABECERA y el Cursor...
Tomando cada elemento de cada una de estas base...y al final se alimenta DETALLES con el Cursor.

Si tuviera que reportar garantia...al final de este report uso El cursor y que lo revise desde el principio al final...que verifique por cada codigo el campo GARANTIA (SI / NO), y si es SI que copie GAR_DETALLES para cada articulo...y listo...no tienes que hacer mas nada...

Como las garantias pueden variar , si deseas que la garantia vigente al momento de la compra se almacene, puedes tambien añadir al cursor un campo extra que diga _Cursor.GarantiaDESC y se grave con cada uno de los articulos comprados en el cursor y luego en detalles. ASi si por X o Y razon tienes que volver a imprimir la factura por lo que sea y la garantia de algun articulo ha cambiado, pues se imprimira aquella que estaba activa al momento de la compra.

A mi me sirve este ultimo concepto en el manejo de Comisiones...si un articulo paga comisiones al vendedor, y en un futuro lo cambio (subo o bajo) el calculo de las comisiones hacen de acuerdo al % asignado al momento de la venta...

Soy medico y mis colaboradores trabajan por % de comision...asi que un servicio puede dar en un momento dado un 20% pero luego dar un 10%...

Espero te sirva como se maneja mi sistema...

Saludos,
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