Capturar nTotal de columnas en TReport

Post Reply
User avatar
FranciscoA
Posts: 2163
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Capturar nTotal de columnas en TReport

Post by FranciscoA »

Hola todos. Disculpen mi insistencia.
Eso mismo. Sé que oReport:aColumns[n]:nTotal contiene la sumatoria de las columnas numericas.
Lo que quiero hacer es poder identificar cuales columnas tienen su nTotal en 0, pero desde oReport:lCreated. ¿Se puede?
Por ejemplo:
Con oReport:bEnd se pueden identificar //ok
Con oReport:bPostEnd se pueden identificar //ok
Con if oReport:lCreated NO se pueden identificar // las muestra, todas, con nTotal en 0

El caso es que se necesita hacer ciertas operaciones, con las columnas que tienen su total en 0. (una de ellas borrarlas del reporte ), por supuesto se quiere hacer de manera automatica, una vez creado el reporte, sin necesidad de emplear multiples lineas de codigo antes de codificar el reporte propiamente dicho
.
No tengo problemas con DelColumn(nCol), ni :Stabilize().
El problema es que :bEnd (segun mis pruebas) no borra toda la columna, sino solo las columnas de la ultima linea, y ya se imaginan el resultado en el preview: desde la primera hasta la penultima linea, todas las columnas integras, y en la ultima linea recortadas las columnas eliminadas.

En resumen, mi pregunta es. ¿Permite oReport:lCreated identificar los nTotal de cada columna del reporte?

Ej:
if oReport:lCreated
For n := 1 to len(oReport:aColumns)
MsgInfo(oReport:aColumns[n]:nTotal
Next
endif
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
Armando
Posts: 3271
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Been thanked: 2 times
Contact:

Re: Capturar nTotal de columnas en TReport

Post by Armando »

Francisco:

Pues parece que no hay forma, lo he intentado con xHarbour sin buenos resultados

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Marcelo Via Giglio
Posts: 1077
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia
Has thanked: 1 time

Re: Capturar nTotal de columnas en TReport

Post by Marcelo Via Giglio »

Francisco,

no he leido detenidamente tu problema, pero creo que quieres quitar alguna columna de un reporte si su total es 0, el reporte como sabes se crea linea a linea, entonces no podrás eliminar una columna de todo el reporte, deberas hacer un pre-procesamiento para evitar el crear las columnas con totales 0

saludos

Marcelo
User avatar
FranciscoA
Posts: 2163
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Capturar nTotal de columnas en TReport

Post by FranciscoA »

Armando,
Muchisimas gracias por tu tiempo e interes.

Marcelo,
Marcelo wrote: deberas hacer un pre-procesamiento para evitar el crear las columnas con totales 0

Asi es como lo tengo, pero el caso es que quiero automatizar esto.

Lo siguiente trabaja perfectamente:

Code: Select all | Expand


if oReport:lCreated
        oReport:DelColumn(10) //col 10  del reporte
        oReport:DelColumn(13) //col 14  ""
        oReport:DelColumn(17) //col 19  ""
        oReport:DelColumn(17) //col 20  ""
        oReport:DelColumn(17) //col 21  ""
        oReport:DelColumn(17) //col 22  ""
endif
 

Por lo tanto se puede hacer desde el :lCreated, como quiero. Lo que pasa es que no he encontrado la forma de obtener los totales antes del :bEnd,
para lo cual estoy trabajando con un copia de TReport.

Los ::aColumns:nTotal se crean en el method PLAY(), y realmente no entiendo por qué no se mantienen al igual que los demas componentes del objeto: titulos de columnas, etc.
Gracias a ambos, nuevamente.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
Post Reply