FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour TXBrowse Footers TOTALES
Posts: 219
Joined: Fri Nov 04, 2005 02:34 PM

TXBrowse Footers TOTALES

Posted: Sat Nov 13, 2010 12:15 AM
Buenas tardes a todos....
Se que este tema se ha venido repitiendo, pero lo cierto es que hacia mucho que no tocaba mi viejo
y querido FiveWin y se me planteó esta problemática.
Espero que alguien me pueda ayudar.

Necesito mostrar los totales en los footers de mi XBrowse
Code (fw): Select all Collapse
   oBrw                  := TXBrowse():New( oDlg )
   oBrw:nMarqueeStyle    := MARQSTYLE_HIGHLROWRC
   oBrw:nColDividerStyle := LINESTYLE_LIGHTGRAY
   oBrw:nRowDividerStyle := LINESTYLE_LIGHTGRAY
   oBrw:l2007            := FALSE
   oBrw:lFooter          := TRUE

   oCol:= oBrw:AddCol()
   oCol:cHeader       := "FECHA"
   oCol:bStrData      := { || DTOC((cAlias)->FECHA) }
   oCol:nHeadStrAlign := AL_LEFT
   oCol:nDataStrAlign := AL_LEFT
   oCol:nWidth        := 70

   oCol:= oBrw:AddCol()
   oCol:cHeader       := "FOLIO"
   oCol:bStrData      := { ||  ALLTRIM( (cAlias)->FOLIO) }
   oCol:nHeadStrAlign := AL_LEFT
   oCol:nDataStrAlign := AL_LEFT
   oCol:nWidth        := 90

   oCol:= oBrw:AddCol()
   oCol:cHeader       := "NUM.FACT."
   oCol:bStrData      := { ||  ALLTRIM( (cAlias)->NUMFACTURA) }
   oCol:nHeadStrAlign := AL_LEFT
   oCol:nDataStrAlign := AL_LEFT
   oCol:nWidth        := 90

   oCol:= oBrw:AddCol()
   oCol:cHeader       := "TOTAL"
   oCol:bStrData      := { ||  TRANSFORM((cAlias)->TOTAL,"999,999,999.99") }
   oCol:nHeadStrAlign := AL_RIGHT
   oCol:nDataStrAlign := AL_RIGHT
   oCol:nWidth        := 120
   oCol:lTotal        := TRUE

   oCol:= oBrw:AddCol()
   oCol:cHeader       := "PAGADO"
   oCol:bStrData      := { ||  TRANSFORM((cAlias)->TOTAL - (cAlias)->SALDO_DEUD ,"999,999,999.99") }
   oCol:nHeadStrAlign := AL_RIGHT
   oCol:nDataStrAlign := AL_RIGHT
   oCol:nWidth        := 120

   oCol:= oBrw:AddCol()
   oCol:cHeader       := "DEBE"
   oCol:bStrData      := { ||  TRANSFORM((cAlias)->SALDO_DEUD,"999,999,999.99") }
   oCol:nHeadStrAlign := AL_RIGHT
   oCol:nDataStrAlign := AL_RIGHT
   oCol:nWidth        := 120

   oBrw:SetRDD()
   oBrw:CreateFromResource( 1000 )


Las columnas TOTAL, PAGADO, DEBE son las que quiero mostrar su respectiva SUMA en los footers.
Alguna alma caritativa que se compadezca de este viejo usuario de FiveWin ?

Gracias.

FiveWin Octubre 2008, xHarbour.
Juan Carlos Salinas Ojeda

México. D.F.

-------------------------------------------------
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM

Re: TXBrowse Footers TOTALES

Posted: Sat Nov 13, 2010 01:30 PM

Hola VeRCE. Espero que esto te sirva. Lo hago así: (Usando una función de usuario para crear el total)

Local nTotal:=0

Totalice(@nTotal)

oBrw  := TXBrowse():New( oDlg )
...
...
   oCol = oBrw:AddCol()
   oCol:bEditValue = { || (cAlias)->Interes }
   oCol:cEditPicture = "99,999,999,999.99"
   oCol:nEditType = 0   //no editable
   oCol:nDataStrAlign := 1
   oCol:cHeader = "Interes" 
   oCol:lTotal := .t.    //para totalizar cols a report y/o excel
   oCol:bFooter  =  {|| TRANSFORM(nTotal,"99,999,999,999.99") }
   oCol:nFootStrAlign := 1
   oCol:nWidth = 116

O así:
  oCol2 = oBrw2:AddCol()
  oCol2:bStrData = { || TRANSFORM((MyMesa)->pVentaT, "@Z 99,999,999.99") }
  oCol2:nDataStrAlign := 1
  oCol2:cHeader = "Valor Total" 
  oCol2:nWidth = 100
  oCol2:bFooter  =  {||TRANSFORM(nTotal,"99,999,999.99") +CRLF+ TRANSFORM(Round((nTotal*nIVA)/100,2),"99,999,999.99") +CRLF+ TRANSFORM(nTotal+Round((nTotal*nIVA)/100,2),"99,999,999.99") }
  oCol2:nFootStrAlign := 1
  oCol2:oFooterFont  = oFont2

//--------------------------
Function Totalice(cAlias, nTotal)

nTotal:=0

  (cAlias)->(dbEval({|| nTotal+=field->Total},,,,,.f.))

  SysRefresh()  

Return nil

//*******************************************************************
O, de esta otra forma: (El xbrowse lo hace automáticamente)

   oCol = oBrw:AddCol()
   oCol:bEditValue = { || (cAlias)->SaldoIni }
   oCol:cEditPicture = "99,999,999,999.99"
   oCol:nDataStrAlign := 1
   oCol:cHeader = "Saldo Inic " 
   oCol:nWidth = 120
   oCol:nEditType = 0   //no editable
   oCol:nFootStrAlign := 1
   oCol:lTotal := .t.
   oCol:nTotal:=0
   oCol:nFooterType := AGGR_TOTAL

  oBrw:SetRDD()
  oBrw:CreateFromResource(181) 

ACTIVATE DIALOG.......
   ON INIT (oBrw:MakeTotals(),oBrw:Refresh())

Depende de la versión que uses.
Saludos.

Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 219
Joined: Fri Nov 04, 2005 02:34 PM

Re: TXBrowse Footers TOTALES

Posted: Sat Nov 20, 2010 10:55 PM

Gracias Francisco.. me funciona de maravilla.

Juan Carlos Salinas Ojeda

México. D.F.

-------------------------------------------------

Continue the discussion