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
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.
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
-
- Mensajes: 103
- Registrado: Mié Dic 15, 2010 4:45 pm
Dos preguntas de tReport
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.
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.
- ignacio
- Site Admin
- Mensajes: 9457
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Dos preguntas de tReport
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
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
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
-
- Mensajes: 103
- Registrado: Mié Dic 15, 2010 4:45 pm
Dos preguntas de tReport
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
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
Dos preguntas de tReport
Prueba en este orden:
oReport:bWhile := {|| nField <= len(::aArray)}
oReport:bSkip := {|| nField++}
if oSender:Cargo = "Excel"
oReport:ToExcel()
else
oReport:Run()
endif
oReport:bWhile := {|| nField <= len(::aArray)}
oReport:bSkip := {|| nField++}
if oSender:Cargo = "Excel"
oReport:ToExcel()
else
oReport:Run()
endif
-
- Mensajes: 103
- Registrado: Mié Dic 15, 2010 4:45 pm
Dos preguntas de tReport
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
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