C6 - Esconder columna en un Reporte

Consultas, trucos, consejos. Todo sobre Clarion en todas sus versiones
Responder
magamaso
Novato
Mensajes: 12
Registrado: Jue Jun 09, 2016 5:17 pm
Ubicación: J. Posse, Pcia de Córdoba, Argentina
Contactar:

C6 - Esconder columna en un Reporte

Mensaje por magamaso » Mié Dic 28, 2016 2:30 pm

Hola!

No tengo mucha experiencia con Reportes de Clarion. Tengo un reporte que muestra vs columnas de Costos, según una variable tengo que mostrar o no algunos de esos Costos. Pruebo con {PROP:HIDE} pero no funciona, me muestra siempre todas las columnas... Quizás no lo estoy poniendo en el embebido o con la prioridad que corresponde. Alguien me puede ayudar con esto? Debería ser algo muy sencillo...

Gracias!

Gabriela


Avatar de Usuario
Mauricio
Desarrollador de Clarion
Mensajes: 1035
Registrado: Dom Feb 06, 2011 9:34 am
Ubicación: España
Contactar:

Re: C6 - Esconder columna en un Reporte

Mensaje por Mauricio » Mié Dic 28, 2016 3:12 pm

Antes de hacer el HIDE tenés que hacer el SetTarget(REPORT), luego el HIDE, luego SetTarget()
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog

magamaso
Novato
Mensajes: 12
Registrado: Jue Jun 09, 2016 5:17 pm
Ubicación: J. Posse, Pcia de Córdoba, Argentina
Contactar:

Re: C6 - Esconder columna en un Reporte

Mensaje por magamaso » Mié Dic 28, 2016 5:45 pm

Gracias Mauricio por responder, me podés decir en qué embebido se debe poner?

Avatar de Usuario
Mauricio
Desarrollador de Clarion
Mensajes: 1035
Registrado: Dom Feb 06, 2011 9:34 am
Ubicación: España
Contactar:

Re: C6 - Esconder columna en un Reporte

Mensaje por Mauricio » Mié Dic 28, 2016 6:18 pm

Abre el source, buscas Print(rpt:detail) y ponlo antes de eso.
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog

magamaso
Novato
Mensajes: 12
Registrado: Jue Jun 09, 2016 5:17 pm
Ubicación: J. Posse, Pcia de Córdoba, Argentina
Contactar:

Re: C6 - Esconder columna en un Reporte

Mensaje por magamaso » Mié Dic 28, 2016 6:42 pm

Funcionó perfecto!! Gracias!!!

Tengo que ocultar tb el título de estas columnas que oculto, los string de los títulos los tengo en el HEADER, sabes dónde debo colocar el código para eso? Busqué dónde se imprime el HEADER en Source pero no lo encuentro...

HDMadeira
Al nivel de RZ
Mensajes: 260
Registrado: Dom Feb 06, 2011 10:02 pm
Ubicación: Trelew, Chubut, Argentina
Contactar:

Re: C6 - Esconder columna en un Reporte

Mensaje por HDMadeira » Mié Dic 28, 2016 11:30 pm

Hola, tal vez colocar strings variables locales en el header y en el detail
de modo que sean asignadas de acuerdo a la condición por ejemplo...
antes del open report

if condición=1 then
hdr:titulo1='Unitario'
hdr:titulo2='stock minimo'
hdr:titulo3='lo que sea....'
!etc
.
if condición=2 then
hdr:titulo1='.....'
hdr:titulo2='.....'
hdr:titulo3='.....'
!etc
.




luego antes de print (rpt:detail)
if condición=1 then
det:text1=format(tbl:unitario,@n5.2)
det:text2=format(tbl:minimo,@n5)
!etc
.
if condición=2 then
det text1=....
det:text2=....
.


otra opción seria crear los controles en runtime
y asignarles la prop:text y la prop:use según la condicion

Saludos

Daniel

magamaso
Novato
Mensajes: 12
Registrado: Jue Jun 09, 2016 5:17 pm
Ubicación: J. Posse, Pcia de Córdoba, Argentina
Contactar:

Re: C6 - Esconder columna en un Reporte

Mensaje por magamaso » Jue Dic 29, 2016 12:26 pm

Gracias Daniel, encontré otra forma más simple, similar a la que sugirió Mauricio.

1) Para ocultar el título de la columna en el Header (en el After Opening Report (4000)):

If CONDICION = xx
Report$?StringZZZ{PROP:HIDE}=1
End

Obs: hay que poner "Report$" delante del nombre del control a ocultar, y debe escribirse en el embebido "After Opening Report", no en el "Before Opening Report"

2) Para ocultar la columna con los datos (justo antes del Print(detail)):

If CONDICION = xx
SetTarget(REPORT)
?VariableZZZ/?CampoZZZ{PROP:HIDE}=1
SetTarget()
End

Obs: debe ponerse "SetTarget(REPORT)" antes del HIDE y "SetTarget()" luego del HIDE.
Se pone ?VariableZZZ o ?CampoZZZ, dependiendo de lo que se quiere ocultar, si es una variable o el nombre de un campo de una tabla.


Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado