FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Un viejo problema con TReport (SOLUCIONADO)
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Un viejo problema con TReport (SOLUCIONADO)
Posted: Mon Mar 01, 2010 04:19 PM
Amigos, y en especial a A. Linares & team:

En las versiones de FW a 16 bits un reporte creado con la clase TReport se mostraba as铆:



Observen los textos ENTRADAS SALIDAS SALDOS, ocupan dos o hasta tres columnas simulando unos super header y esto es lo correcto.

Sin embargo ahora con las versiones a 32bits se muestra as铆:



Los mismos textos se recortan a una sola columna.

El c贸digo es el mismo para ambos reportes solo cambia la version de 16 a 32bits

Code (fw): Select all Collapse
COLUMN TITLE "","Fecha"聽聽 聽 聽 聽 聽 聽 聽 聽 DATA Date2Txt((cVales)->DET_FEC) SIZE 10 RIGHT
COLUMN TITLE "","Referencia"聽 聽 聽 聽 聽 聽 DATA (cVales)->DET_REF SIZE 10 LEFT
COLUMN TITLE "","Vale"聽 聽 聽 聽 聽 聽 聽 聽 聽 DATA (cVales)->DET_VAL SIZE 聽5 RIGHT
COLUMN TITLE "Costo","Unitario"聽聽 聽 DATA (cVales)->DET_UNI SIZE 10 RIGHT PICTURE "@Z 99,999,999.99"
COLUMN TITLE "","Cntdd"聽聽 聽 聽 聽 聽 聽 聽 聽 DATA IF ((cVales)->DET_EOS == 1,(cVales)->DET_CTD,0) SIZE 聽7 RIGHT PICTURE "@Z 999,999" TOTAL
COLUMN TITLE "E 聽 N 聽 T 聽 R 聽 A 聽 D 聽 A 聽 S ",;
聽 聽 聽 聽 "Importe"聽 聽聽 聽 聽 聽 聽 聽 DATA IF ((cVales)->DET_EOS == 1,(cVales)->DET_NET,0) SIZE 12 RIGHT PICTURE "@Z 99,999,999.99" TOTAL
COLUMN TITLE "","Undd"聽 聽 聽 聽 聽 聽 聽 聽 聽 DATA (cVales)->DET_NUM SIZE 聽5 RIGHT
COLUMN TITLE "","Cntdd"聽聽 聽 聽 聽 聽 聽 聽 聽 DATA IF ((cVales)->DET_EOS == 2,(cVales)->DET_CTD,0) SIZE 聽7 RIGHT PICTURE "@Z 99,999" TOTAL
COLUMN TITLE "S 聽 聽 聽A 聽 聽 聽L 聽 聽 聽I 聽 聽 聽D 聽 聽 聽A 聽 聽 聽S 聽",;
聽 聽 聽 聽 "Importe"聽 聽聽 聽 聽 聽 聽 聽 DATA IF ((cVales)->DET_EOS == 2,(cVales)->DET_NET,0) SIZE 12 RIGHT PICTURE "@Z 99,999,999.99" TOTAL
COLUMN TITLE "","Cntdd"聽聽 聽 聽 聽 聽 聽 聽 聽 DATA "" SIZE 聽5 RIGHT TOTAL PICTURE "@ 999,999"
COLUMN TITLE "S 聽 聽A 聽 聽L 聽 聽D 聽 聽O 聽 聽S 聽",;
聽 聽 聽 聽 "Importe"聽 聽聽 聽 聽 聽 聽 聽 DATA "" SIZE 12 RIGHT TOTAL PICTURE "@ 999,999,999.99"


C贸mo puedo lograr el mismo efecto que aparece en 16bits pero ahora en 32 ?.

Antonio, ser铆a excelente que esta clase tuviera la posibilidad de los Super Headers como en la clase TXBrowse.

Desafortunadamente mis conocimientos no alcanzan para modificar la clase.

Agradecido con su apoyo.

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
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Un viejo problema con TReport
Posted: Tue Mar 02, 2010 11:43 AM

Maestro Antonio:

Ser谩 que no hay soluci贸n a esto ?

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
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Un viejo problema con TReport
Posted: Wed Mar 03, 2010 01:24 AM

Antonio:

Disculpa la insistencia pero ya tengo convertida toda la aplicaci贸n y solo este problema me esta retrasando la entrega a mi cliente.

Ojal谩 pudiera haber alguna soluci贸n.

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
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Un viejo problema con TReport
Posted: Wed Mar 03, 2010 04:12 AM
Armando

Prueba con cambiar el METHOD SayTitle de la clase TRColumn por este otro, luego nos comentas, gracias

Code (fw): Select all Collapse
METHOD SayTitle(nRow, nCol, nLine)  CLASS TRColumn

     LOCAL oFont
     LOCAL cTitle
     LOCAL nWidth, nFont
     LOCAL nTxtWidth

     DEFAULT nRow  := 0      ,;
             nCol  := ::nCol ,;
             nLine := 1

     IF nLine > len(::aTitle)
          RETU NIL
     ENDIF

     cTitle := eval(::aTitle[nLine])
     nFont  := eval(::bTitleFont)
     oFont  := ::oReport:aFont[nFont]

     ::nCurLine := nLine

     nTxtWidth = ::oReport:oDevice:GetTextWidth(cTitle, ::oReport:aFont[eval(::bDataFont)] )

     IF ::nWidth < nTxtWidth
        ::oReport:oDevice:Say(nRow, nCol - ( nTxtWidth - ::nWidth ), cTitle, oFont, nTxtWidth,;
                           ::oReport:aClrText[nFont],,::nPad-1)
     ELSE
        ::oReport:oDevice:Say(nRow, nCol, cTitle, oFont, ::nWidth,;
                           ::oReport:aClrText[nFont],,::nPad-1)
     ENDIF
                           

RETURN NIL
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Un viejo problema con TReport
Posted: Wed Mar 03, 2010 03:41 PM

Daniel:

Para variar :D , 茅xito total (como siempre).

Muchas gracias

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

Continue the discussion