In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Dos preguntas de tReport

Foro público de Xailer en español
Responder
Moises Leon
Mensajes: 103
Registrado: Mié Dic 15, 2010 4:45 pm

Dos preguntas de tReport

Mensaje por Moises Leon »

Saludos a todos
Estoy usando la clase tReport para imprimir unos arreglos pero sucede que
cuando, en lugar de imprimir, lo trato de pasar a excel con
oReport:ToExcel() solo me pasa los titulos y no los datos. ¿que me falta
hacer?
Y la segunda consulta tambien sobre tReport, al imprimir en una columna
algo que es mas grande que la columna, se corta el texto al llegar al final
de la misma y yo necesitaria que abracara incluso dos o tres columnas (anexo
imagen). ¿Como puedo hacer esto?
Muchas gracias por su ayuda
Moises Leon


Attached files
perolero
Mensajes: 135
Registrado: Mar Dic 21, 2010 9:54 am

Dos preguntas de tReport

Mensaje por perolero »

Para que las columnas tengan el ancho que tu quieras yo lo hago así­:
COLUMN OF oReport TITLE space(15) + "Concepto" + space(15) DATA ::oSumBrw:aArrayData[n,2]
es decir aumento el tamaño de la cabecera añadiendo espacios en blanco hasta alcanzar el tamaño que necesites, ya se que es un poco chapuzas, pero me temo que no hay otro modo de hacerlo.
En cuanto a lo de Excel, ponme tu código y lo revisamos, debes de estar haciendo algo mal para que no te funcione.
Un saludo,
Emilio Gil.
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9457
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Dos preguntas de tReport

Mensaje por ignacio »

perolero escribió el mié, 08 febrero 2012 09:13 Para que las columnas tengan el ancho que tu quieras yo lo hago así­:
COLUMN OF oReport TITLE space(15) + "Concepto" + space(15) DATA ::oSumBrw:aArrayData[n,2]
es decir aumento el tamaño de la cabecera añadiendo espacios en blanco hasta alcanzar el tamaño que necesites, ya se que es un poco chapuzas, pero me temo que no hay otro modo de hacerlo.
Ver propiedad CHARSIZE en comando COLUMN.
Saludos
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Moises Leon
Mensajes: 103
Registrado: Mié Dic 15, 2010 4:45 pm

Dos preguntas de tReport

Mensaje por Moises Leon »

El problema es que una columna determinada abarque lo de 2 en algunos
renglones, que uso como subencabezados.
En relacion a lo de excel, aqui mando el codigo que uso
Muchas Gracias
METHOD ImpBalance( cOpcion ) CLASS TListaBalance
LOCAL oReport, oFont1, oFont2
// ::aResultados es un arreglo de 11 columnas con los datos a imprimir
nField := 1
oLogo := TPicture():Load( "LogoPrincipal" )
With Object oFont1 := TFont():New()
:cName := "Arial" //"Calibri"
:nSize := 12
:lBold := .T.
END WITH
With Object oFont2 := TFont():New()
:cName := "Arial" //"Calibri"
:nSize := 10
:lBold := .F.
END WITH
REPORT oReport ;
TITLE IF(AppData:nTipoTemplo=1, "Parroquia de ","Rectoria de
")+AppData:cNTemplo, ;
"Balance de Entradas y salidas", ;
"Del "+DameFecha(::cFechaIni)+" al "+DameFecha(::cFechaFin), ;
" " ;
PREVIEW ;
FONT oFont1, oFont2
COLUMN OF oReport TITLE "Tipo" DATA ::aResultados[nField,1] FONT
2 CHARSIZE 04 ALIGN taCenter
COLUMN OF oReport TITLE "Clave" DATA ::aResultados[nField,2] FONT
2 CHARSIZE 04 ALIGN taCenter
COLUMN OF oReport TITLE "Servicio" DATA ::aResultados[nField,3] FONT
2 CHARSIZE 28
COLUMN OF oReport TITLE "Monto" DATA TRANS(::aResultados[nField,4],
"@Z 99,999") FONT 2 CHARSIZE 07 ALIGN taRight
COLUMN OF oReport TITLE " " DATA ::aResultados[nField,5]
FONT 2 CHARSIZE 01
COLUMN OF oReport TITLE "Tipo" DATA ::aResultados[nField,6] FONT
2 CHARSIZE 04 ALIGN taCenter
COLUMN OF oReport TITLE "Clave" DATA ::aResultados[nField,7] FONT
2 CHARSIZE 04 ALIGN taCenter
COLUMN OF oReport TITLE "Gasto" DATA ::aResultados[nField,8] FONT
2 CHARSIZE 28
COLUMN OF oReport TITLE "Monto" DATA TRANS(::aResultados[nField,9],
"@Z 99,999") FONT 2 CHARSIZE 07 ALIGN taRight
COLUMN OF oReport TITLE " " DATA ::aResultados[nField,10]
FONT 2 CHARSIZE 01
COLUMN OF oReport TITLE "Total" DATA
TRANS(::aResultados[nField,11], "@Z 99,999") FONT 2 CHARSIZE 07 ALIGN
taRight
oReport:bSkip := {|| nField++ }
oReport:nGridStyle := rgVERTICAL
IF cOpcion="1"
RUN REPORT oReport ON STARTPAGE PrintBitmap( oReport, oLogo ) WHILE
nField <= LEN(::aResultados)
ELSE
oReport:ToExcel() // Genera la hoja pero solo con los encabezados
y sin datos
ENDIF
oFont1:Destroy()
oFont2:Destroy()
RETURN Nil
"Ignacio Ortiz de Zúñiga" <nonametoavoidspam@xailer.com> escribió en
el mensaje de noticias news:4f327bff$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> perolero escribió el mié, 08 febrero 2012 09:13
>> Para que las columnas tengan el ancho que tu quieras yo
>> lo hago así­:
>>
>> COLUMN OF oReport TITLE space(15) + "Concepto" +
>> space(15) DATA ::oSumBrw:aArrayData[n,2]
>>
>> es decir aumento el tamaño de la cabecera añadiendo
>> espacios en blanco hasta alcanzar el tamaño que
>> necesites, ya se que es un poco chapuzas, pero me temo que
>> no hay otro modo de hacerlo.
>
>
> Ver propiedad CHARSIZE en comando COLUMN.
> Saludos
>
> --
> Ignacio Ortiz de Zúñiga
> [Equipo de Xailer/Xailer team]
> http://www.xailer.com
> http://www.xailer.info
perolero
Mensajes: 135
Registrado: Mar Dic 21, 2010 9:54 am

Dos preguntas de tReport

Mensaje por perolero »

Prueba en este orden:
oReport:bWhile := {|| nField <= len(::aArray)}
oReport:bSkip := {|| nField++}
if oSender:Cargo = "Excel"
oReport:ToExcel()
else
oReport:Run()
endif
Moises Leon
Mensajes: 103
Registrado: Mié Dic 15, 2010 4:45 pm

Dos preguntas de tReport

Mensaje por Moises Leon »

Emilio muchas gracias
Con lo que me mandaste ya ubique el error.
Solo me falta resolver mi otra duda.
Muchas gracias
"Emilio Gil" <emiliogil[at]ono[dot]com> escribió en el mensaje de noticias
news:4f339740$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Prueba en este orden:
>
> oReport:bWhile := {|| nField <= len(::aArray)}
> oReport:bSkip := {|| nField++}
>
> if oSender:Cargo = "Excel"
> oReport:ToExcel()
> else
> oReport:Run()
> endif
Responder