Capturar nTotal de columnas en TReport

Capturar nTotal de columnas en TReport

Postby FranciscoA » Sat Apr 05, 2014 6:54 pm

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
FranciscoA
 
Posts: 2110
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Capturar nTotal de columnas en TReport

Postby Armando » Sun Apr 06, 2014 4:43 pm

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
User avatar
Armando
 
Posts: 3061
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Capturar nTotal de columnas en TReport

Postby Marcelo Via Giglio » Sun Apr 06, 2014 10:21 pm

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
Marcelo Via Giglio
 
Posts: 1050
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

Re: Capturar nTotal de columnas en TReport

Postby FranciscoA » Sun Apr 06, 2014 11:33 pm

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 view

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
User avatar
FranciscoA
 
Posts: 2110
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 86 guests