Olá!
Estou fazendo um relatório TREPORT, onde criei uma quebra com o TREBREAK e criei o totalizador com o TRFunction, porém, após cada quebra de sessão, além do totalizador da linha, são impressas diversas linhas com supostos totalizadores que não entendi de onde vem.
Alguém tem exemplo de Totalizador da sessão de um Treport que funcione bem?
O meu, que não está legal, está da seguinte forma:
Local oSecao1 := oReport:Section(1) Local nCount := 0 Local oBreak Local oTotsec1
dbselectArea(cAliasApu) dbSetOrder(1) (cAliasApu)->(dbGoTop())
oSecao1:Init()
While !EOF() oReport:SetMeter(nCount)
oSecao1:Cell("NM_PRC"):SetBlock( { || (cAliasApu)->EMP } ) oSecao1:Cell("DTMOV"):SetBlock( { || (cAliasApu)->DTMOV } ) oSecao1:Cell("PREFIXO"):SetBlock( { || (cAliasApu)->PREFIXO} ) oSecao1:Cell("NUMERO"):SetBlock( { || (cAliasApu)->NUMERO} ) oSecao1:Cell("TIPO"):SetBlock( { || (cAliasApu)->TIPO } ) oSecao1:Cell("PARCELA"):SetBlock( { || (cAliasApu)->PARCELA} ) oSecao1:Cell("CLIENTE"):SetBlock({ || (cAliasApu)->CLIENTE} ) oSecao1:Cell("LOJA"):SetBlock( { || (cAliasApu)->LOJA } ) oSecao1:Cell("NMCLI"):SetBlock( { || (cAliasApu)->NMCLI } ) oSecao1:Cell("EMISSAO"):SetBlock( { || (cAliasApu)->EMISSAO} ) oSecao1:Cell("VENCTO"):SetBlock( { || (cAliasApu)->VENCTO} ) oSecao1:Cell("VENDED"):SetBlock( { || (cAliasApu)->VENDED} ) oSecao1:Cell("NMVEND"):SetBlock( { || (cAliasApu)->NMVEND} ) oSecao1:Cell("COMIS"):SetBlock( { || (cAliasApu)->COMIS } ) oSecao1:Cell("VALREC"):SetBlock( { || (cAliasApu)->VALREC} ) oSecao1:PrintLine()
oBreak:=TRBreak():NEW(oSecao1,{||(cAliasApu)->NMVEND},"Vendedor",/.T./,,/.T./) oBreak:OnprintTotal({||oReport:SkipLine(2)})
oTotSec1:= TRFunction():New(oSecao1:Cell("VALREC"),"Vendedor: "+(cAliasApu)->NMVEND,"SUM",oBreak,,,,.T.,.F.,.F.,oSecao1)
(cAliasApu)->(DbSkip())
If EOF() oSecao1:Finish() EndIf
EndDo