Clarion - Reporte 2 archivos relacionados

 
Vista:

Reporte 2 archivos relacionados

Publicado por Martin M (12 intervenciones) el 17/04/2011 02:19:46
Quiero imprimir dos archivos con sus detalles respectivos unidos por una llave relacionadas a un archivo padre.
El archivo padre contiene el campo CAR:CODIGO que es la llave por la cual los otros dos se relacionan.
Lo que quiero hacer es que primero imprima el detalle del primer archivo y una vez que listó todos los campos relacionados, comience a listar el segundo archivo.
¿Como se puede hacer esto?
Desde ya muchas 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

Reporte 2 archivos relacionados

Publicado por martin m (12 intervenciones) el 17/04/2011 02:41:56
por favor! alguien que me de una mano,.. se que por ahi es una pregunta tonta pero no lo se hacer.. ya con esto casi terminaria el programita que estoy haciendo.. se valora y se agradece cualquier ayuda!
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

Reporte 2 archivos relacionados

Publicado por MArtin M (12 intervenciones) el 17/04/2011 05:55:13
se me esta quemando la cabeza... encima puse en las tablas los archivos que quiero que reporte y en el detail un remito tiene 2 campos y me lo multiplica por la cantidad de registros que tiene el otro archivo o sea me lo repite 4 veces mas en el mismo reporte! ayuda!
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
Val: 403
Oro
Ha mantenido su posición en Clarion (en relación al último mes)
Gráfica de Clarion

Reporte 2 archivos relacionados

Publicado por Marcelo Madelon (319 intervenciones) el 18/04/2011 16:05:17
! Suponiendo que tengamos el padre : CARGAS y el hijo : DETALLE relacionado por el campo Codigo. Cargo una queue con el campo codigo del Cargas

Clear(QResumen)
I# = 0
Clear(CAR:Record)
SET(CAR:KeyCodigo,CAR: KeyCodigo)
LOOP UNTIL Access:Cargas.Next() ! leo hasta el final
I# += 1
QR:Codigo = CAR:Codigo ! Cargo el Codigo del padre a una Queue
ADD(QResumen,I#)
IF ERRORCODE() THEN STOP(ERROR()).
END !Loop Cargas



! Imprimir desde una Queue
Loop I#= 1 to Records(QResumen)
Get(QResumen,I#) ! Lee el registro de la Queue
CAR:Codigo = QR:Codigo

IF Access:Cargas.Fetch(CAR:KeyCodigo) !Lee
MESSAGE('No Encuentra Registro en Cargas','Mensaje del Sistema',ICON:Exclamation)
RETURN Level:Fatal ! Salir del programa
END

Print(RPT:Cabeza) ! Imprime. La cabecera

Clear(DET:Record)
DET:Codigo = QR:Codigo

SET(DET:KeyCodigo,DET: KeyCodigo)
LOOP UNTIL Access:Detalle.Next() or DET:Codigo <> QR:Codigo ! leo todos los detalles del mismo codigo
Print(RPT:Detalle) ! Imprime. El detalle
END !Loop Detalle
Print(RPT:Total) ! Imprime. El total

End
EndPage(Report)

! Fín imprimir desde una Queue

Como a la impresión la haces por código, para que no te imprima en forma automática, tienes que tildar la opción:
Report Propierties
.....................Filters
..................................Propierties
....................................................Filter Escribir: False y tildar Exclude Unfiltered
Si no haces esto al ultimo registro te lo imprimira doble
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

Reporte 2 archivos relacionados

Publicado por Martin M (12 intervenciones) el 18/04/2011 17:52:36
Muchas gracias Marcelo, voy a probarlo esta tarde.
Te envié un mail, cuando puedas mandame una respuesta.
Mil 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
sin imagen de perfil

Reporte 2 archivos relacionados

Publicado por Marcelo Madelon (572 intervenciones) el 19/04/2011 01:27:59
Martin

Disculpame, pero como no reconoci el origen del mail lo borre. Mandalo de nuevo y perdón una vez mas.
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