Page 1 of 1

TXBrowse Footers TOTALES

Posted: Sat Nov 13, 2010 12:15 am
by VeRCE
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: Select all

   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.

Re: TXBrowse Footers TOTALES

Posted: Sat Nov 13, 2010 1:30 pm
by FranciscoA
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.

Re: TXBrowse Footers TOTALES

Posted: Sat Nov 20, 2010 10:55 pm
by VeRCE
Gracias Francisco.. me funciona de maravilla.