Você está na página 1de 73

TREPORT

Produto
Data da
criao

: Microsiga Protheus, verso 10


18/01/10

Pas(es)

: Brasil

FNC

: 00000026652/2009

Chamado
Data da
reviso
Banco de
Dados

: SCFHBT
15/01/15.
: Todos

Este boletim tem o objetivo de informar a utilizao do objeto TReport para criao de relatrios,
detalhando as propriedades e mtodos de cada classe utilizada no TReport.
TREPORT
Classe de impresso que substitui as funes SetPrint, SetDefault, RptStatus e Cabec.
A classe TReport permite que o usurio personalize as informaes que sero apresentadas no
relatrio, alterando fonte (tipo, tamanho, etc.), cor, tipo de linhas, cabealho, rodap, etc.
Estrutura do componente TReport:
O relatrio (TReport) contm uma ou mais sees (TRSection);
Uma seo (TRSection) pode conter uma ou mais sees;
A seo (TRSection) contm clulas pr-definidas e clulas selecionadas pelo usurio;
A seo (TRSection) tambm contm as quebras (TRBreak) para impresso de totalizadores
(TRFunction);
Os totalizadores so includos pela seo que automaticamente inclui no relatrio (TReport).
Propriedades
aBreak
aCollection
aCustomText

Array com todas as quebras totalizadoras do relatrio. Elemento: 1-Objeto


TRBreak.
Array com todos totalizadores do tipo TRCollection do relatrio.
Elemento: 1-Objeto TRCollection.
Array contendo a customizao para impresso do cabealho padro.
Elementos: 1=Texto a ser impresso, no qual, um elemento por linha. Existem
algumas strings que pode auxiliar na criao do cabealho:
__NOLINEBREAK__ - No quebra linha
__NOTRANSFORM__ - Imprime sem nenhum tratamento
__LOGOEMP__ - Imprime o logo da empresa
__FATLINE__ - Imprime um linha grossa
FrameWork - TReport 1

aBmps
aFontSize
aFunction
aHeaderPage
aSection
bAction
relatrio.
bCustomText
bOnNumberPage
bOnPageBreak
bTotal
bTotalCanPrint
bTotalPos
impresso.
bTotalPrint
bTotalReset
bTotalRSize
bTotalText
cClassName
cDate
cDescription
cDir
cEmail
cFontBody
cFile
cID
cLogo
cMsgPrint
cPrinterName
cReport
cTime
cTitle
cRealTitle
cUserObs
cXlsTHStyle
cXlsSHStyle
cXmlDefault
cXlsFile

__THINLINE__ - Imprime uma linha fina


Array com as imagens dos grficos enviadas por email. Elemento: 1Caminho da imagem.
Array com as fontes do sistema. Elementos: 1-Fonte, 2-Tamanho, 3Tamanho em pixel.
Array com todos totalizadores do tipo TRFunction do relatrio.
Elemento: 1-Objeto TRFunction.
Array com todas as sees que imprimem cabealho no topo da pgina.
Array com todas as sees do relatrio. Elemento: 1-Objeto TRSection.
Bloco de cdigo executado quando o usurio confirmar a impresso do
Bloco de cdigo para atualizao da propriedade aCustomText.
Bloco de cdigo para atualizao do nmero da pgina atual.
Bloco de cdigo para tratamentos na inicializao de cada pgina.
Compatibilidade No utilizado.
Bloco de cdigo utilizado para validar a impresso dos totalizadores.
Bloco de cdigo utilizado para localizar a posio do totalizador a ser
Bloco de cdigo utilizado para imprimir os totalizadores.
Bloco de cdigo utilizado para limpar os totalizadores.
Bloco de cdigo utilizado para definir o tamanho das Collections.
Bloco de cdigo utilizado na impresso do texto do totalizador.
Nome da classe. Exemplo: TREPORT.
Data da impresso do relatrio.
Descrio do relatrio.
Diretrio selecionado para gerao do relatrio.
E-mail utilizado na gerao do relatrio via e-mail.
Fonte definida para impresso do relatrio.
Nome do arquivo que ser gerado.
ID do component. Exemplo: TREPORT.
Logo da empresa/filial.
Mensagem apresentada durante a gerao do relatrio.
Nome da impressora selecionada para impresso.
Nome do relatrio. Exemplo: MATR010.
Hora da impresso do relatrio.
Ttulo do relatrio.
Ttulo padro do relatrio definido pelo criador do relatrio.
Observao do usurio.
Estilo do cabealho padro utilizado na gerao da planilha.
Estilo do cabealho utilizado na gerao da planilha.
Arquivo XML contendo Informaes do relatrio padro.
Nome do arquivo que ser gerado em planilha.

2 FrameWork - TReport

lBold
lCanceled
lClrBack
lClrFore
lDisableOrientation
lDynamic
lEdit
lEnabled
lEmptyLineExcel
lFooterVisible
lFunctionBefore
lHeaderVisible
lItalic
lOnPageBreak
lPageBreak
lParamPage
lParamReadOnly
lPixColSpace
lPreview
lPrinting
lPrtParamPage
lStartPage
lTotalInLine
lTPageBreak
lUnderline
lUserAccess
lUserInfo
lUserFilter
lXlsHeader
lNoPrint
lXmlEndRow
lXlsParam
lEndReport
nBorderDif
nClrBack
nClrFore
nCol
nColSpace
nDevice

Aponta que as Informaes sero impressas em negrito.


Aponta que o relatrio foi cancelado.
Define que a cor de fundo dever ser atualizada.
Define que a cor da fonte dever ser atualizada.
Orientao (Retrato/Paisagem) no poder ser modificada.
Aponta que o relatrio dinmico, permitindo imprimir as sees
conforme a ordem de impresso selecionada.
Relatrio no poder ser configurado pelo usurio.
Impresso do relatrio foi desabilitada.
Suprime as linhas em branco e os totais na gerao em planilha.
Habilita a impresso do rodap.
Imprime os totalizadores do tipo TRFunction antes dos totalizadores do
tipo TRCollecions.
Habilita a impresso do cabealho.
Aponta que as informaes sero impressas em itlico.
Cabealho das sees impressas aps a quebra de pgina.
Quebra pgina antes da impresso dos totalizadores.
Existe parmetros para impresso.
Parmetros no podero ser alterados pelo usurio.
Espaamento das colunas sero calculadas em pixel.
Visualizao do relatrio antes da impresso fsica.
Relatrio esta em processo de impresso.
Aponta que sero impressos os parmetros do relatrio.
Aponta que uma nova pgina dever se inicializada.
Imprime as clulas no formato linha.
Quebra pgina aps a impresso do totalizador.
Aponta que as Informaes sero impressas sublinhadas.
Valida permisso para gerao dos grficos do relatrio.
Imprime Informaes do usurio na pgina de parmetros.
Permite a utilizao de filtros na personalizao do relatrio.
Imprime informaes do cabealho padro na gerao em planilha.
Aponta que nenhuma informao foi impressa.
Aponta fim de linha na gerao em planilha.
Aponta a existncia de parmetros na gerao em planilha.
Imprime total geral do relatrio.
Tamanho da borda utilizado para clculo da altura de uma linha.
Cor de fundo.
Cor da fonte.
Coluna posiciona na impresso.
Espaamento entre as colunas.
Tipo de impresso selecionado. Opes: 1-Arquivo,2-Impressora,3email,4-Planilha e 5-Html.
FrameWork - TReport 3

nEnvironment
nFontBody
nHeaderDif
nLeftMargin
nLineHeight
nLogPxYDif
nLogPxXDif
nMeter
nOrder
nPageWidth
nPxColSpace
nPxBase
nPxDate
nPxLeftMargin
nPxPage
nPxTitle
nRemoteType
nRow
nXlsCol
nXlsRow
nXlsStyle
nExcel
nColumnPos
oBrdBottom
oBrdLeft
oBrdRight
oBrdTop
oHBrdBottom
oHBrdLeft
oHBrdRight
oHBrdTop
oClrBack
oFontBody
oFontHeader
oMeter
oMsg
relatrio.
oPage
oParamPage
oPrint

Ambiente selecionado. Opes: 1-Server e 2-Cliente.


Tamanho da fonte definida para impresso do relatrio.
Tamanho do cabealho utilizado para clculo do altura da pgina.
Tamanho da margem a esquerda.
Altura da linha.
Utilizado no clculo para gerao da visualizao do relatrio.
Utilizado no clculo para gerao da visualizao do relatrio.
Posio da rgua de progresso.
Ordem de impresso selecionada.
Largura da pgina.
Espaamento da coluna em pixel.
Tamanho da base em pixel.
Tamanho da sistema operacional em pixel.
Tamanho da margem a esquerda em pixel.
Tamanho da numerao da pgina em pixel.
Tamanho do ttulo em pixel.
Aponta de que forma o Server est gerando o relatrio. Opes: 1-Sem
Remote, 2-Remote Delphi,3-Remote Windows e 4-Remote Linux.
Linha posicionada na impresso.
Coluna posicionada na gerao em planilha.
Linha posicionada na gerao em planilha.
Estilo utilizado na gerao em planilha.
Nmero do arquivo na gerao em planilha.
Posicionamento no arquivo gerado em planilha.
Objeto TRBorder com a borda Inferior .
Objeto TRBorder com a borda esquerda.
Objeto TRBorder com a borda direita.
Objeto TRBorder com a borda superior.
Objeto TRBorder com a borda Inferior no cabealho.
Objeto TRBorder com a borda esquerda no cabealho.
Objeto TRBorder com a borda direita no cabealho.
Objeto TRBorder com a borda superior no cabealho.
Objeto TBrush com a cor de Fundo.
Objeto TFont com a fonte do relatrio.
Objeto TFont com a fonte do cabealho.
Objeto TMeter com a rgua de progresso.
Objeto TSAY com a mensagem apresentada durante a impresso do
Objeto TRPage com a configurao da pgina de impresso.
Objeto TRParamPage com a configurao da pgina de parmetros.
Objeto TMSPrinter.

4 FrameWork - TReport

oReport
oXlsCell
oXlsRow
oXlsStyles
oXlsWorksheet
uParam

Componente de impresso.
Compatibilidade No utilizado.
Compatibilidade No utilizado.
Compatibilidade No utilizado.
Compatibilidade No utilizado.
Parmetros do relatrio cadastrado no Dicionrio de Perguntas (SX1).
Tambm pode ser utilizado bloco de cdigo para parmetros
customizados.

MTODOS
AddBreak(oBreak)
Adiciona a quebra de impresso na propriedade aBreak.
oBreak
Objeto TRBreak
AddCollection(oCollection)
Adiciona o totalizador na propriedade aCollection.
oCollection Objeto TRCollection
AddFunction(oFunction,oParent)
Adiciona o totalizador na propriedade aFunction.
oFunction
Objeto TRFunction
oParent
Objeto TRSecion que aponta a seo que pertence o totalizador
AddHeaderPage(oSection)
Adiciona a seo que imprime cabealho no topo da pgina.
oSection
Objeto TRSection
AddSection(oSection)
Adiciona a seo na propriedade aSection.
oSection
Objeto TRSection
Border(uBorder,lHeader)
Retorna a borda do relatrio.
uBorder
Tipo Caracter: "TOP","BOTTOM","LEFT","RIGHT",ALL
Tipo Numrico: 1-Superior,2-Inferior,3-Esquerda,4-Direita,5-Todas
lHeader
Borda do cabealho
Retorno

Objeto do tipo TRBorder

Box(nRow,nCol,nBottom,nRight,oPen)
FrameWork - TReport 5

Desenha uma caixa, utilizando as especificaes do objeto TPen.


nRow
Linha no qual inicia o desenho da caixa
nCol
Coluna no qual inicia o desenho da caixa
nBottom
Linha no qual finaliza o desenho da caixa
nRight
Coluna no qual finaliza o desenho da caixa
oPen
Objeto da classe TPen
Cancel()
Retorna se o usurio cancelou a impresso do relatrio.
CancelPrint()
Cancela a impresso do relatrio.
Char2Pix(nSize,cFont,nFontSize)
Retorna o tamanho de acordo com a fonte informada.
nSize
Tipo Caracter: Texto a ser considerado no clculo
Tipo Numrico: Valor a ser considerado no clculo
cFont
Fonte do relatrio
nFontSize
Tamanho da fonte
Retorno

Tamanho calculado em pixel

ChkIncRow(nInc,lLine)
Verifica a necessidade de inicializar uma nova pgina antes da incluso da linha.
nInc
Quantidade de linhas a serem impressas
lLine
Considera o tamanho da linha no clculo
Retorno

Lgico

ClassName()
Retorna o nome da classe. Exemplo: TREPORT.
ClrBack(lObject)
Retorna a cor de fundo do relatrio.
lObject
Aponta que deve ser retornado o objeto TBrush
Retorno

Caso o parmetro lObjeto seja verdadeiro o retorno ser o objeto TBrush, caso
contrrio ser o nmero da cor RGB.

ClrFore()
Retorna a cor de fonte do relatrio.
6 FrameWork - TReport

Retorno

Nmero da cor RGB

Col()
Retorna a coluna posicionada na impresso.
ColSpace()
Retorna o espaamento entre as colunas.
Description()
Retorna a descrio do relatrio.
Disable()
Desabilita a impresso do relatrio.
DisableOrientation()
Desabilita a seleo da orientao (Retrato/Paisagem).
Enable()
Habilita a impresso do relatrio.
Enabled()
Retorna se a impresso do relatrio esta habilitada.

EndPage(lFooter)
Finaliza a pgina na impresso.
lFooter
Imprime rodap na finalizao da pgina
EvalBreak(lForce,lPrintHeader,oSection)
Executa a quebra na impresso do relatrio.
lForce
Fora a execuo do mtodo OnBreak da classe TRBreak
lPrintHeader Imprime cabealho da seo
oSection
Seo considerada na quebra
Retorno

Lgico. Se verdadeiro, quebrou a impresso

EndReport()
Retorna se imprime o total geral do relatrio.
FatLine()

FrameWork - TReport 7

Desenha uma linha com altura grossa, iniciando posio da linha atual de impresso com a
largura da pgina.
FillRect(aRect,oBrush)
Preenche um retngulo na impresso utilizando as especificaes do objeto TBrush.
aRect
Vetor com coordenadas no formato: linha inicial, coluna inicial, linha final,
coluna final
oBrush
Objeto da classe TBrush
Finish()
Finaliza a impresso do relatrio, imprime os totalizadores, fecha as querys e ndices
temporrios, entre outros tratamentos do componente.
No necessrio executar o mtodo Finish se for utilizar o mtodo Print, j que este faz o
controle de inicializao e finalizao da impresso.
FreeAllObjs()
Elimina os objetos da memria no servidor.
FunctionBefore(lFunctionBefore)
Define se a impresso dos totalizadores do tipo TRFunction ser realizada antes dos
totalizadores do tipo TRCollection.
GetAction()
Retorna o bloco de cdigo definido para a propriedade bAction.
GetBreak(uBreak)
Retorna a quebra do relatrio.
uBreak
Tipo Caracter: Nome da quebra
Tipo Nmerico: Nmero da quebra no array aBreak
Retorno

Objeto TRBreak

GetDynamic()
Retorna se o relatrio do tipo dinmico.
Retorno

Lgico

GetEdit()
Retorna se permitida a configurao do relatrio pelo usurio.
Retorno Lgico

8 FrameWork - TReport

GetFontSize(cFont,nFontSize,lBold,lItalic,lUnderline)
Retorna o tamanho da fonte.
cFont
Fonte a ser considerada no clculo
nFontSize
Tamanho da fonte
lBold
Aponta se a fonte negrita
lItalic
Aponta se a fonte itlica
lUnderline
Aponta se a fonte sublinhada
Retorno

Array com informaes do tamanho da fonte. Elementos: 1-Fonte, 2-Tamanho, 3Tamanho em pixel

GetFunction(uFunction)
Retorna objeto da classe TRFunction (totalizadores).
uFunction
Tipo Caracter: Nome da Function
Tipo Numrico: ndice do objeto segundo a ordem de criao dos componentes
TRFunction
Retorno

Objeto da classe TRFunction (totalizadores)

GetOrder()
Retorna a ordem de impresso selecionada.
Retorno

Ordem selecionada

GetOrientation()
Retorna a orientao de pgina (Retrato ou Paisagem) selecionada pelo usurio.
Retorno

1=Retrato ou 2=Paisagem

GetParam()
Retorna a pergunta ou bloco de cdigo utilizado como parmetros do relatrio.
GetPassword()
No utilizado.
GetWidth()
Retorna a largura da pgina.
HideFooter()
Define que no ser impresso o rodap padro da pgina.

FrameWork - TReport 9

HideHeader()
Define que no ser impresso o cabealho padro da pgina.
HideParamPage()
Define se ser permitida a alterao dos parmetros do relatrio.
IncMeter(nInc)
Incrementa a rgua de progresso do relatrio.
nInc
Quantidade a incrementar na rgua. Padro: 1
IncRow(nInc)
Incrementa linhas na impresso.
nInc
Quantidade de linhas que devero ser incrementadas
Retorno

Linha atualizada.

Init()
Inicializa as configuraes e define a primeira pgina do relatrio.
No necessrio executar o mtodo Init se for utilizar o mtodo Print, j que estes fazem o
controle de inicializao e finalizao da impresso.
LeftMargin(lPixel,lForce)
Retorna o tamanho da margem esquerda do relatrio.
lPixel
Considera clculo em pixel
lForce
Fora o reclculo da margem esquerda
Retorno

Tamanho da margem esquerda

Line(nTop,nLeft,nBottom,nRight,oPen)
Desenha uma linha, utilizando as especificaes da classe TPen.
nTop
Linha no qual inicia o desenho da linha
nLeft
Coluna no qual inicia o desenho da linha
nBottom
Linha no qual finaliza o desenho da linha
nRight
Coluna no qual finaliza o desenho da linha
oPen
Objeto da classe TPen
LineHeight()
Retorna a altura da linha.
Retorno

Altura da linha

10 FrameWork - TReport

LoadDefault()
Carrega o relatrio padro para personalizao.
LoadLayout(cLayout)
Carrega um layout customizado para impresso.
cLayout
Layout a ser carregado
New(cReport,cTitle,uParam,bAction,cDescription,lLandscape,uTotalText,lTotalInLine
,
cPageTText,lPageTInLine,lTPageBreak,nColSpace)
Mtodo construtor da classe TReport.
cReport
cTitle
uParam
bAction
relatrio
cDescription
lLandscape
uTotalText
lTotalInLine
cPageTText
lPageTInLine
lTPageBreak
nColSpace
Retorno

Nome do relatrio. Exemplo: MATR010


Ttulo do relatrio
Parmetros do relatrio cadastrado no Dicionrio de Perguntas (SX1)
Tambm pode ser utilizado bloco de cdigo para parmetros customizados.
Bloco de cdigo que ser executado quando o usurio confirmar a impresso do
Descrio do relatrio
Aponta a orientao de pgina do relatrio como paisagem
Texto do totalizador do relatrio, podendo ser caracter ou bloco de cdigo
Imprime as clulas em linha
Texto do totalizador da pgina
Imprime totalizador da pgina em linha
Quebra pgina aps a impresso do totalizador
Espaamento entre as colunas
Objeto

NoUserFilter()
Desabilita a utilizao de filtros na personalizao do relatrio.
NoCell()
Verifica a existncia de seo sem clulas.
Retorno

Lgico

NoPrint()
Retorna se no foram impressos registros.
Retorno

Lgico

FrameWork - TReport 11

OnPageBreak(bOnPageBreak,lOnPageBreak)
Atualiza a propriedade bOnPageBreak utilizada para tratamentos na inicializao de cada
pgina.
bOnPageBreak
Bloco de cdigo para tratamentos na inicializao de cada pgina
lOnPageBreak
Cabealho das sees impressas aps a quebra de pgina
Page()
Retorna o nmero da pgina atual na impresso.
PageBreak()
Retorna se existe quebra de pgina.
Retorno

Lgico

PageHeight(lHeaderDiff)
Retorna a altura da pgina baseado no tamanho da folha (A4, Carta, etc), conforme seleo
do usurio.
lHeaderDif Desconsidera o tamanho reservado para impresso do cabealho
PageTotalBefore()
Define se o total da pgina ser impresso antes do total geral do relatrio.
PageTotalInLine(lTotalInLine)
Define se o total da pgina ser impresso em linha ou coluna.
lTotalInLine Se verdadeiro ser impresso em linha
PageTotalText(cText)
Define o texto do totalizador da pgina.
cText
Texto do totalizador da pgina
PageWidth()
Retorna a largura da pgina baseado no tamanho da folha (A4, Carta, etc), conforme seleo
do usurio.
ParamReadOnly(lParamReadOnly)
Define se o usurio ter acesso aos parmetros do relatrio.
lParamReadOnly
.T. No permite acesso aos parmetros
.F. Permite acesso aos parmetros
Preview()
Apresenta a visualizao do relatrio antes da impresso fsica.
12 FrameWork - TReport

Print(lDlg)
Executa a impresso do relatrio conforme o bloco de cdigo da propriedade bAction.
lDlg
Aponta se dever apresentar a tela de configurao do relatrio ou se imprime
em segundo plano.
PrintCollection(lPrintHeader,lFinish)
Imprime os totalizadores do tipo Collections.
lPrintHeader Imprime cabealho da seo
lFinish
Aponta que o encerramento do relatrio
Retorno

Lgico. Se verdadeiro, o total foi impresso

PrintDialog(bAction)
Exibe a tela de configurao para a impresso do relatrio.
bAction
Bloco de cdigo que ser executado quando usurio confirmar a impresso do
relatrio
Retorno

Lgico

PrintFooter()
Imprime o rodap do relatrio.
PrintFunction(lPrintHeader)
Imprime os totalizadores do tipo TRFunctions.
lPrintHeader Imprime cabealho da seo
PrintGraphic()
Imprime os grficos do relatrio.
PrintHeader(lHeaderSection,lPage)
Imprime o cabealho padro do relatrio.
lHeaderSection
Imprime cabealho da seo
lPage
Imprime Informaes sobre a pgina, como por exemplo, nmero da
pgina
Printing()
Retorna se relatrio esta em processo de impresso.
O status de impresso definido pelos mtodos Init(), que indica o incio da impresso, e o
mtodo Finish, que indica a finalizao.

FrameWork - TReport 13

PrintSHeader()
Imprime o cabealho da seo.
PrintText(cText,nRow,nCol,nClrText,cStyle,nCells,lUpdateRow)
Imprime um texto no relatrio.
cText
Texto que ser impresso
nRow
Linha em que o texto ser impresso. Caso no informada, ser considerada a
linha posicionada na impresso
nCol
Coluna em que o texto ser impresso. Caso no informada, ser considerada a
coluna posicionada na impresso
nClrText
Cor do texto
cStyle
Utilizado internamente para gerao do relatrio em planilha
nCells
Utilizado internamente para gerao do relatrio em planilha
lUpdateRow Atualiza o posicionamento da linha quando informado o parmetro nRow
PrintTHeader(nWidth,nCells)
Imprime o cabealho dos totalizadores.
nWidth
Largura do cabealho
nCells
Quantidade de clulas considerada na gerao em planilha
PrintTotal(lFinish)
Imprime os totalizadores do relatrio.
lFinish
Aponta que o fim do relatrio
Retorno

Se verdadeiro, os totalizadores foram impressos

PrtCenter(cText)
Imprime um texto centralizado.
cText
Texto a ser centralizado
PrtLeft(cText)
Imprime um texto esquerda.
cText
Texto a ser impresso esquerda
PrtLogo()
Imprime o logo da empresa/filial.
PrtRight(cText)
Imprime um texto direita.
cText
Texto a ser impresso direita

14 FrameWork - TReport

ReportName()
Retorna o nome do relatrio. Exemplo: MATR010.
Row()
Retorna a linha posicionada na impresso.
SaveAsHTML()
Salva o relatrio em HTML.
SaveDefault()
Salva o relatrio padro sem as customizaes do usurio.
Say(nRow,nCol,cText,oFont,nWidth,nClrText,nBkMode,nPad)
Imprime um texto no relatrio.
nRow
nCol
cText
oFont
nWidth
nClrText
nBkMode
nPad

Linha para impresso do texto


Coluna para impresso do texto
Texto que sera impresso
Objeto da classe TFont
Tamanho em pixel do texto para impresso
Cor da fonte
Compatibilidade No utilizado
Compatibilidade No utilizado

SayBitmap(nRow,nCol,cBitmap,nWidth,nHeight,nRaster)
Imprime uma imagem no relatrio.
nRow
nCol
cBitmap
nWidth
nHeight
nRaster

Linha para impresso da imagem


Coluna para impresso da imagem
Nome da imagem, podendo ser path de um arquivo ou resource compilado no
repositrio
Largura da imagem
Altura da imagem
Compatibilidade No utilizado

Section()
Retorna objeto da classe TRSection (seo).
uSection

Tipo Caracter: Ttulo da seo


Tipo Numrico: ndice da seo segundo a ordem de criao dos componentes
TRSection
FrameWork - TReport 15

SendMail()
Envia o relatrio atravs do e-mail.
SendToPrinter()
Direciona o relatrio para o tipo de impresso selecionada.
SetAction(bAction)
Define o bloco de cdigo que ser executado ao usurio confirmar a impresso do relatrio.
bAction
Bloco de cdigo que ser executado na confirmao
SetBorder(uBorder,nWeight,nColor,lHeader)
Define as bordas do relatrio.
uBorder
Tipo Caracter: "TOP","BOTTOM","LEFT","RIGHT",ALL
Tipo Numrico: 1-Superior,2-Inferior,3-Esquerda,4-Direita,5-Todas
nWeight
Largura da borda
nColor
Cor da borda
lHeader
Aponta se borda de cabealho
Retorno

Objeto do tipo TRBorder

SetClrBack(nClrBack)
Define a cor de fundo do relatrio.
nClrBack
Nmero da cor de fundo no format RGB
SetClrFore(nClrFore)
Define a cor da fonte do relatrio.
nClrFore
Nmero da cor da fonte no format RGB
SetCol(nCol)
Define a coluna de impresso.
SetColSpace(nColSpace,lPixel)
Define o espaamento entre as colunas.
nColSpace Tamanho do espaamento
lPixel
Aponta se o tamanho ser calculado em pixel
SetCustomText(uCustomText)
Define que a impresso do cabealho padro ser customizado.
uCustomText Tipo Array: Array contendo a customizao para impresso do cabealho padro.

16 FrameWork - TReport

acima

Elementos: 1=Texto a ser impresso, no qual, um elemento por linha. Existem


algumas strings que pode auxiliar na criao do cabealho:
__NOLINEBREAK__ - No quebra linha
__NOTRANSFORM__ - Imprime sem nenhum tratamento
__LOGOEMP__ - Imprime o logo da empresa
__FATLINE__ - Imprime um linha grossa
__THINLINE__ - Imprime uma linha fina
Tipo Bloco de cdigo: Contendo Informaes para gerao do array descrito

SetDescription(cDescription)
Define a descrio detalhada do relatrio.
cDescription Descrio do relatrio
SetDevice(nDevice)
Define o tipo de impresso selecionado. Opes: 1-Arquivo,2-Impressora,3-email,4-Planilha e
5-Html.
nDevice
Tipo de impresso selecionada
SetDynamic()
Define que o relatrio ser do tipo dinmico, no qual, permite imprimir as sees conforme a
ordem de impresso selecionada.
SetEdit(lEdit)
Define se o relatrio poder ser configurado pelo usurio no caso de verdadeiro.
SetEnvironment(nEnv)
Define o ambiente para impresso.
nEnv
Ambiente: 1-Server e 2-Cliente
SetFile()
Define o nome do arquivo temporrio utilizado para gerao dos relatrios.
SetLandscape()
Define orientao de pgina do relatrio como paisagem.
SetLeftMargin(nLeftMargin)
Define a margem esquerda do relatrio.
nLeftMargin Tamanho da margem esquerda
SetLineHeight(nLineHeight)
Define a altura da linha na impresso.
FrameWork - TReport 17

nLineHeight Altura da linha


SetLogo()
Define o logo da empresa na impresso do cabealho padro.
SetMeter(nTotal)
Define o limite da rgua de progresso do relatrio.
nTotal
Limite da rgua
SetMsgPrint(cMsg)
Define a mensagem apresentada durante a gerao do relatrio.
cMsg
Texto da mensagem
SetOnPageNumber(bOnNumberPage)
Define o bloco de cdigo utilizado para manipular o nmero da pgina atual.
SetPageNumber(nPage)
Define o nmero da pgina atual.
SetPageFooter(nLinesFooter,bPageFooter,lFooterBefore)
nLinesFooter Linhas reservada para impresso do rodap
bPageFooter Bloco de cdigo utilizado para imprimir Informaes customizadas, no qual,
dever ser utilizado mtodos do TReport para impresso. Exemplo: Say,
PrintText.
lFooterBeforeImprime rodap antes dos totalizadores
SetParam(uParam)
Define os parmetros que sero utilizados pelo usurio.
uParam
Parmetros do relatrio cadastrado no Dicionrio de Perguntas (SX1).
Tambm pode ser utilizado bloco de cdigo para parmetros customizados
SetPortrait()
Define orientao de pgina do relatrio como retrato.
SetPreview()
Define se ser apresentada a visualizao do relatrio antes da impresso fsica.
SetPxLeftMargin(nPxLeftMargin)
Define a margem esquerda em pixel do relatrio.
nPxLeftMargin
Tamanho da margem esquerda em pixel
18 FrameWork - TReport

SetRow()
Define a linha de impresso.
SetStartPage(lStartPage)
Define que dever ser gerada uma nova pgina no relatrio.
lStartPage
Se verdadeiro, aponta a necessidade de uma nova pgina
SetTitle(cTitle)
Define o ttulo do relatrio.
cTitle
Ttulo do relat
SetTotalInLine(lTotalInLine)
Define se os totalizadores sero impressos em linha ou coluna.
SetTotalPageBreak(lTPageBreak)
Define que ser quebrada pgina aps a impresso do totalizador.
lTPageBreak Se verdadeiro, aponta a quebra de pgina aps a impresso do totalizador
SetTotalText(uText)
Define o texto que ser impresso antes da impresso dos totalizadores.
uText
Texto a ser impresso no formato caracter ou bloco de cdigo
ShowFooter()
Define que ser impresso o rodap do relatrio.
ShowHeader()
Define que ser impresso o cabealho do relatrio.
ShowParamPage()
Define que ser impressa a pgina de parmetros do relatrio.
SkipLine(nSkip)
Salta linhas na impresso.
nSkip
Quantidade de linhas a serem saltadas
StartPage()
Inicializa uma nova pgina para impresso.
ThinLine()
FrameWork - TReport 19

Desenha uma linha simples, iniciando posio da linha atual de impresso com a largura da
pgina.
Title()
Retorna o ttulo do relatrio.
TotalText()
Retorna o texto que ser impresso no totalizador geral do relatrio.
TotalInLine()
Retorna se a impresso dos totalizadores ser em linha.
XmlLoad(cXml)
Carrega um layout personalizado pelo usurio.
cXml
Arquivo do tipo XML com as personalizaes do usurio
XmlSave()
Salva um layout personalizado pelo usurio.
XlsNewCell(c,lIndex,nCol,cStyle,nCells,nWidth,cType)
Adiciona uma clula na gerao em planilha.
c
Informao a ser inserido na clula
lIndex
Controla numerao de colunas na planilha
nCol
Coluna posicionada
cStyle
Estilo da clula
nCells
Quantidade de clulas utilizadas para a informao ( Mesclar )
nWidth
Largura da clula
cType
Tipo de dado. C-Caracter, N-Numrico, L-Lgico
XlsNewCol(nCol,nWidth)
Adiciona uma coluna na gerao em planilha.
nCol
Coluna posicionada
nWidth
Largura da coluna
XlsNewRow(lIncRow)
Adiciona uma linha na gerao em planilha.
lIncRow
Aponta se dever ser adicionada uma linha
XlsNewStyle(cID,cName,nAlign,aFont,aBorder,lWrapText,cType)
Cria um estilo para utilizar nas criaes das clulas.
cID
ID do estilo
20 FrameWork - TReport

cName
nAlign
aFont
aBorder
lWrapText
cType

Nome do estilo
Tipo de alinhamento. 1-Esquerda, 2-Centralizado e 3-Direita
Array contendo a fonte. Elementos: 1-Fonte e 2-Tamanho
Array contendo a borda. Elementos: 1-Bottom,Left,Right,Center e
2=Largura da borda
Aponta quebra de linha automtica
Tipo de dado. C-Caracter, N-Numrico, L-Lgico

XlsSave()
Compatibilidade No utilizado.

FrameWork - TReport 21

TSECTION
Seo de um relatrio que utiliza a classe TReport.
A classe TRSection pode ser entendida como um layout do relatrio, por conter clulas,
quebras e totalizadores que daro um formato para sua impresso.
Com a classe TRSection possvel definir uma query, filtro ou ndice com filtro (IndRegua) que
ser utilizada por ela para processamento do relatrio, atravs do mtodo Print e utilizando
as clulas de posicionamento (TRPosition) e componente de posicionamento de seo
(TRPosSection), sem a necessidade de escrever um fonte para processar os resultados da
query, filtro ou ndice com filtro.
Esta classe herda as propridades e mtodos da classe TREPORT.
Propriedades
aCell
aCellPos
aFilter
aOrder
TROrder.
aPosCell
aTable
aTCFields

aTCMemo
na query.
aTCTables
aLoadCells
aUserFilter

Array contendo as clulas da seo. Elemento: 1-Objeto TRCell.


Array contendo as clulas reposicionadas da seo. Elemento: 1-Objeto
TRCell.
Array contendo os filtros da seo: Elementos: 1-Tabela, 2-Filtro, 3Chave de ndice, 4-Ordem.
Array contendo as ordens do relatrio: Elementos: 1-Objeto
Array com as clulas da seo na ordem de impresso.
Array com as tabelas utilizadas na seo.
Array com os campos que possuem o tipo de dados diferente de caracter
e que devem ser tratados para apresentar os resultados na query.
Elementos: 1-Campo, 2-Tipo, 3- Tamanho e 4-Decimal.
Array com os campos do tipo de dados Memo a serem desconsiderados
Array com as tabelas utilizadas na query.
Array com as tabelas que executaram o carregamento de Informaes
das clulas atravs do Dicionrio de Dados (SX3).
Array com os filtros de usurios: Elementos: 1-Tabela, 2-Expresso
ADVPL, 3-Expresso SQL e 4-Filtro adicionado na query principal.
Array com as tabelas que no podero aplicar filtros de usurio.

aNoFilter
Elemento: 1-Tabela.
aSection
Array com as sees filhas. Elemento: 1-Objeto TRSection.
bCompQuery
Bloco de cdigo utilizado na montagem da query atravs de compilao
em tempo real.
bLineCondition
Bloco de cdigo utilizado na validao do registro.
bOnPrintLine
Bloco de cdigo com os tratamentos a serem realizados antes da
impresso do registro da seo.
22 FrameWork - TReport

bParentFilter
bParentParam
bRealQuery
cAlias
cAdvplExp
cDynamicKey
cFilter
cIdxFile
cName
cQuery
cRealFilter
cRealQuery
cCharSeparator
cSqlExp
lAutoSize
lCellPos
lChangeQuery
lChkFilters
lEdit
lEditCell
lForceLineStyle
lHeaderBreak
lHeaderPage
lHeaderSection
lIdxOrder
lInit
lInitFilter
lLineBreak
lLineStyle
lSkipped
lParentQuery
lParentRecno
lPrintHeader
lPrintLayout
lReadOnly
lTCFields
lVisible
lUserVisible
lCellUseQuery

Bloco de cdigo com a regra para sada do loop.


Bloco de cdigo com a expresso que retorna o valor que enviado como
parmetro para a regra de sada do loop da seo.
Bloco de cdigo utilizado para montar a query da seo.
Tabela principal da seo.
Filtro do usurio em forma de expresso ADVPL.
Chave que identifica a seo na impresso dinmica.
Filtro da tabela principal da seo.
Indice temporrio utilizado na filtro da tabela principal.
Nome da seo.
Query da seo com os tratamentos de adio de campos e filtros.
Filtro da tabela principal da seo.
Query sem os tratamentos de adio de campos e filtros.
Caracter que separa as Informaes na impresso em linha.
Filtro do usurio em forma de expresso SQL.
Ajusta o tamanho das clulas para que caiba em uma pgina.
Ajusta o cabealho das clulas.
Tratamento para utilizar a query em diversos Banco de Dados.
Compatibilidade No utilizado.
Aponta se a seo poder ser personalizada pelo usurio.
Aponta se o usurio poder personalizar as clulas da seo.
Fora a impresso em linha.
Imprime cabealho da seo na quebra de impresso (TRBreak).
Imprime cabealho da seo no topo da pgina.
Imprime cabealho da seo na quebra de seo.
Utiliza ordem do Dicionrio de ndices (SIX) na impresso da seo.
Aponta que a impresso da seo no foi iniciada.
Aponta que os filtros da seo no foram iniciados.
Aponta que a impresso da seo quebra linhas no caso das colunas no
couberem em uma linha.
Impresso em linhas.
Aponta que a seo saltou o registro da seo pai.
Utiliza Informaes da query da seo pai para impresso dos registros.
Utiliza Informaes do registro da seo pai.
Aponta impresso do cabealho da seo.
Aponta que impresso de visualizao do layout.
Define se o usurio pode personalizar informaes da seo.
Define que dever ser efetuado tratamento na query de campos com tipo
de dado diferente de caracter.
Aponta que a seo ser impressa.
Aponta que a seo ser impressa na personalizao do usurio.
Utiliza query na impresso de clulas da seo.
FrameWork - TReport 23

nCols
nIdxOrder
nLineCount
nLinesBefore
nOrder
nPercentage
nRow
nWidth
oCBrdBottom
oCBrdLeft
oCBrdRight
oCBrdTop
oParent
oRelation

Quantidade de colunas a serem impressas.


Indice utilizado na impresso da seo.
Quantidade de linhas a serem impressas para o registro.
Quantidade de linhas a serem saltadas antes da impresso da seo.
Ordem de impresso da seo.
Percentual da largura da pgina a ser considerada.
Linha posicionada na impresso da seo.
Largura da seo.
Objeto TRBorder com a borda Inferior.
Objeto TRBorder com a borda esquerda.
Objeto TRBorder com a borda direita.
Objeto TRBorder com a borda superior.
Seo pai.
Objeto TRRelation com informaes do relacionamento entre as sees.

MTODOS
AddCell(oCell)
Adiciona a clula na propriedade aCell da seo.
oCell
Objeto TRCell
AddOrder(oOrder)
Adiciona a ordem da seo na propriedade aOrder.
oOrder
Objeto TROrder
AddPosCell(oCell)
Adiciona a clula, na sequncia de impresso da seo, na propriedade aPosCell.
oCell
Objeto TRCell
AddTable(cTable)
Adiciona a tabela, que ser utilizada na impresso da seo, na propriedade aTable.
cTable
Tabela utilizada na impresso da seo
Alias()
Retorna o alias da tabela utilizado pela query da seo, definida pelo Embedded SQL com os
mtodos BeginQuery e EndQuery.
Retorno

Alias da tabela posicionada

AutoSize()
Retorna se a impresso da seo ser ajustada automaticamente.
24 FrameWork - TReport

Retorno

Se verdadeiro, ajusta automaticamente a impresso das clulas da seo

BeginQuery()
Indica que ser utilizado o Embedded SQL para criao de uma query para a seo.
Cell(uCell)
Retorna o objeto da classe TRCell (clula) baseado.
uCell
Tipo Caracter: Nome ou ttulo do objeto
Tipo Numrico: ndice do objeto segundo a ordem de criao dos componentes
TRCell
Retorno

Objeto da classe TRCell

CellBorder(uBorder,lHeader)
Retorna a borda da seo.
uBorder
Tipo Caracter: "TOP","BOTTOM","LEFT","RIGHT",ALL
Tipo Numrico: 1-Superior,2-Inferior,3-Esquerda,4-Direita,5-Todas
lHeader
Borda do cabealho
Retorno

Objeto do tipo TRBorder

CellPos(lReset)
Ordena as clulas para impresso.
lReset
Fora a inicializao do tamanho das clulas

CharSeparator()
Retorna o caracter que separa as Informaes na impresso das clulas em linha.
Retorno

Caracter utilizado para separar as informaes

CheckFields(aTables,aMemo,lEnabled,aHasArea,nTotCell,cSelect)
Retorna as clulas que podero ser adicionadas na query, ou seja, retira os campos do tipo
Memo e as clulas que no foram selecionadas pelo usurio.
aTables
Tabelas utilizadas na query
aMemo
Campos memo da tabela
lEnabled
Define se considera as clulas selecionadas pelo usurio
aHasArea
Valida se as tabelas utilizadas na query so padro do sistema
nTotCell
Quantidade maxima de clulas a serem consideradas
cSelect
Texto contendo a select da query
FrameWork - TReport 25

Retorno

Campos a serem considerados na query

ChkMainFilter(cAlias)
Retorna o filtro da tabela.
cAlias
Tabela que contm o filtro
Retorno

Filtro da tabela

ChkTcMemo(aTables,aMemo)
Retorna os campos do tipo Memo das tabelas.
aTables
Tabelas a serem verificadas
aMemo
Array contendo os campos do tipo Memo
Retorna

Array contendo os campos do tipo Memo

CheckWidth(nWidth)
Retorna a largura da seo.
nWidth
Caso a largura da seo for inferior a largura informada, a seo assume a
informada no parmetro
Retorno

Largura da seo

CloseFilter()
Finaliza todos os filtros da seo.
CloseQuery(lSections)
Finaliza todas as querys da seo.
lSections
Finaliza as querys de todas sees
DelUserCell()
Exclui as clulas adicionadas pelo usurio.
EndQuery(aParam)
Indica a query criada utilizando o Embedded SQL para a seo.
O mtodo EndQuery ira juntar na query as clulas selecionadas e o filtro criado pelo usurio,
mais a expresso das perguntas do tipo Range, que foram convertidas anteriormente pela
funo MakeSQLExpr.

26 FrameWork - TReport

Aps sua execuo, a query esta pronta para ser utilizada tanto pela classe TRSection como
para o programa que esta criando os componentes, sem a necessidade de utilizar
TCGenQuery, ChangeQuery e TCSetField.
aParam

Tipo Caracter: Pergunta. Exemplo: mv_par01 do tipo Range


Tipo Array: Lista de perguntas. Exemplo: {mv_par01, mv_par02} do tipo Range

EndBorder()
Finaliza a impresso das bordas.
EvalCell()
Atualiza o contedo de todas as clulas da seo.
EvalFunction()
Atualiza o contedo dos totalizadores da seo.
EvalPosition()
Atualiza o contedo das clulas utilizadas na impresso da seo.
ExecSql()
Executa a query da seo.
ExUserFilter()
Executa os filtros definidos pelo usurio.
Retorno

Retorno da execuo do filtro ( Verdadeiro ou Falso )

Finish()
Finaliza a impresso da seo, imprime os totalizadores, tratamentos de quebras das sees,
entre outros tratamentos do componente.
No necessrio executar o mtodo Finish se for utilizar o mtodo Print, j que este faz o
controle de inicializao e finalizao da impresso.
ForceLineStyle()
Fora a impresso da seo em linhas.
GetAdvplExp(cAlias)
Retorna o filtro do usurio em forma de expresso ADVPL.
cAlias
Tabela a ser consultada
Retorno

Filtro do usurio em forma de expresso ADVPL

FrameWork - TReport 27

GetDynamicKey()
Retorna a chave dinmica utilizada para gerao de relatrios dinmicos.
Retorno

Chave dinmica

GetIdxOrder()
Retorna o ndice utilizado pela tabela principal da seo.
Retorno

ndice utilizado pela tabela principal

GetOrder()
Retorna a ordem selecionada.
Retorno
Ordem selecionada pelo usurio
GetParentQuery()
Atualiza as Informaes de query da seo atual com as Informaes da seo pai.
GetQuery()
Retorna a query, que foi definida pelo Embedded SQL com os mtodos BeginQuery e
EndQuery, com as clulas selecionadas, o filtro criado pelo usurio e as perguntas do tipo
Range inclusas.
Retorno

String com a query

GetSqlExp()
Retorna o filtro do usurio em forma de expresso SQL.
cAlias
Tabela a ser consultada
Retorno

Filtro do usurio em forma de expresso SQL

GetUseQuery()
Retorna se a seo utiliza query para impresso.
Retorno

Se verdadeiro, a query utilizada para impresso

GetUserExp()
Retorna o filtro de usurio.
Retorno

Filtro do usurio

GetUserFilter()

28 FrameWork - TReport

Retorna os filtros de usurio.


Retorno

Array contendo os filtros da seo

GetWidth()
Retorna a largura da seo.
Retorno

Largura da seo

HeaderBreak()
Retorna se o cabealho das clulas ser impresso aps uma quebra (TRBreak).
Retorno

Se verdadeiro, aponta que ser impresso o cabealho

HeaderSection()
Retorna se o cabealho das clulas ser impresso na quebra de seo.
Retorno

Se verdadeiro, aponta que ser impresso o cabealho

Hide()
Desabilita a impresso da seo, porm todas as linhas sero processadas, somente no
aparecero no relatrio.
Init()
Executa as quebras de sees, imprime cabealhos entre outras configuraes do relatrio.
No necessrio executar o mtodo Init se for utilizar o mtodo Print, j que estes fazem o
controle de inicializao e finalizao da impresso.
IniRow()
Inicializa a linha posicionada nas sees.
LineCount()
Quantidade de linhas a serem impressas para cada registro da seo.
Retorno

Quantidade de linhas a serem impressas

LoadCells(cTable,aCells,lDisableAll,lMarkAsUser)
Carrega campos do Dicionrio de Campos (SX3) como clulas da seo, respeitando nvel, uso
e contexto do campo.
cTable
Tabela que ser utilizada para carregar os campos. Se no for informada ser
utilizada todas as tabelas informadas no mtodo New
aCells
Array com nomes dos campos que sero carregados como clulas da seo
FrameWork - TReport 29

lDisableAll
Desabilita todas as clulas
lMarkAsUser Aponta que as clulas foram definidas pelos usurios
LoadOrder()
Carrega ndices do Dicionrio de ndices (SIX) como ordem da seo.
lReadOnly()
Retorna se o usurio pode personalizar informaes da seo.
Objeto
Caso verdadeiro, aponta que o usurio no pode alterar informaes da seo
Name()
Retorna o nome da seo.
Retorno

Nome da seo

New(oParent,cTitle,uTable,aOrder,lLoadCells,lLoadOrder,uTotalText,lTotalInLine,lHe
aderPage,lHeaderBreak,lPageBreak,lLineBreak,nLeftMargin,lLineStyle,nColSpace,l
AutoSize,cCharSeparator,nLinesBefore,nCols,nClrBack,nClrFore,nPercentage)
Mtodo construtor da classe TRSection.
No parmetro onde informado as tabelas utilizadas pela seo, a primeira ser a principal,
sendo utilizada para o processamento pelo mtodo Print. As outras tabelas sero utilizadas
para que o usurio possa incluir os campos como clula.
O relacionamento entre as tabelas poder ser feito pela query ou ento pelo uso dos objetos
da classe TRPosition.
Dos elementos do parmetro onde so informadas as ordens utilizada pela seo sero
criados os objetos da classe TROrder automaticamente, utilizando como ndice da tabela
principal a ordem do elemento no vetor.
oParent
cTitle
uTable
aOrder

Objeto da classe TReport ou TRSection que ser o pai da classe TRSection


Ttulo da seo
Tipo Caracter: Tabela que ser utilizada pela seo
Tipo Array: Lista de tabelas que sero utilizadas pela seo
Array contendo a descrio das ordens. Elemento: 1-Descrio, como por
exemplo, Filial+Cdigo
Carrega os campos do Dicionrio de Campos (SX3) das tabelas da seo como

lLoadCells
clulas
lLoadOrder Carrega os ndices do Dicionrio de ndices (SIX)
uTotalText
Texto do totalizador da seo, podendo ser caracter ou bloco de cdigo
lTotalInLine Imprime as clulas em linha
lHeaderPage Cabealho da seo no topo da pgina
lHeaderBreak
Imprime cabealho na quebra da seo
30 FrameWork - TReport

lPageBreak Imprime cabealho da seo na quebra de pgina


lLineBreak
Quebra a linha na impresso quando as Informaes no caber na pgina
nLeftMargin Tamanho da margem esquerda da seo
lLineStyle
Imprime a seo em linha
nColSpace Espaamento entre as colunas
lAutoSize
Ajusta o tamanho das clulas para que caiba em uma pgina
cCharSeparator
Define o caracter que separa as Informaes na impresso em linha
nLinesBefore Aponta a quantidade de linhas a serem saltadas antes da impresso da seo
nCols
Quantidade de colunas a serem impressas
nClrBack
Cor de fundo das clulas da seo
nClrFore
Cor da fonte das clulas da seo
nPercentage Tamanho da pgina a ser considerada na impresso em percentual
NoCell()
Verifica se no existem clulas configuradas para a seo.
Retorno

Se verdadeiro, no existem clulas configuradas

OnPrintLine(bOnPrintLine)
Permite efetuar tratamentos antes da impresso do registro da seo.
bOnPrintLine Bloco de cdigo com os tratamentos a serem realizados antes da impresso do
registro da seo
Order(uOrder)
Retorna objeto da classe TROrder (ordem).
uOrder
Tipo Caracter: Nickname da ordem
Tipo Numrico: ndice do objeto segundo a ordem de criao dos componentes
TROrder
Retorno

Objeto da classe TROrder

PageBreak()
Retorna se salta a pgina na quebra de seo.
Retorno

Se verdadeiro, aponta que quebra pgina na seo

PageWidth()
Retorna a largura da pgina.
Retorno

Largura da pgina

FrameWork - TReport 31

Parent()
Retorna o objeto pai da classe TRSection.
Retorno

Objeto TRSection ou TReport

Print(lFromParent)
Realiza a impresso baseada na tabela ou query principal, executando o mtodo PrintLine
para cada linha e o mtodo Print de todas as sees filhas. Nas sees filhas, o
posicionamento inicial pode ser baseado na query da seo pai (atravs do mtodo
SetParentQuery) ou atravs da regra informada pelo mtodo SetRelation, junto com a regra
informada pelo mtodo SetParentFilter que controla o fim da impresso.
lFromParent Aponta que impresso de uma seo filha
PrintHeader(lCellPos,lVisible,cStyle,lExcel)
Imprime o cabealho da seo.
lCellPos
Ajusta o cabealho das clulas
lVisible
Aponta que a seo est habilitada para impresso
cStyle
Utilizado internamente para gerao do relatrio em planilha
lExcel
Gerao em planilha
PrintLine(lEvalPosition,lParamPage,lExcel)
Imprime a linha baseado nas clulas existentes.
lEvalPosition Fora a atualizao do contedo das clulas
lParamPage Aponta que a impresso da pgina de parmetros
lExcel
Aponta que gerao em planilha
ResetCellPos(lResetAll)
Define que as clulas devero ser ajustadas para impresso.
lResetAll
Reavalia o posicionamento das clulas
Report()
Retorna o objeto da classe TReport que a classe TRSection pertence.
Retorno

Objeto TReport

SetAutoSize(lAutoSize)
Define que as clulas sero ajustadas automaticamente na seo.
lAutoSize
Ajuste automtico das clulas

32 FrameWork - TReport

SetCellBorder(uBorder,nWeight,nColor,lHeader)
Define a borda da seo.
uBorder
Tipo Caracter: "TOP","BOTTOM","LEFT","RIGHT",ALL
Tipo Numrico: 1-Superior,2-Inferior,3-Esquerda,4-Direita,5-Todas
nWeight
Largura da borda
nColor
Cor da borda
lHeader
Borda do cabealho
Retorno

Objeto do tipo TRBorder

SetCharSeparator(cCharSeparator)
Retorna o caracter que separa as Informaes na impresso das clulas em linha.
cCharSeparator
Caracter utilizado para separar as informaes
SetCols(nCols)
Define a quantidade de colunas a serem impressas.
nCols Quantidade de colunas a serem impressas
SetDynamicKey(cDynamicKey)
Define a chave que identifica a seo na impresso dinmica.
cDynamicKey
Chave que identifica a seo na impresso dinmica
SetEdit(lEdit)
Define se a seo poder ser personalizada pelo usurio.
lEdit Se verdadeiro, o usurio poder personalizar a seo
SetEditCell(lEditCell)
Define se o usurio poder personalizar as clulas da seo.
lEditCell
Se verdadeiro, o usurio poder personalizar as clulas
SetFilter(cFilter,cIndexKey,cOrdem,cAlias,nIdxOrder)
Define um filtro para a tabela principal da seo.
Se no informado o parmetro com a chave de ndice, ser executado SET FILTER TO com o
primeiro parmetro, seno ser criado um ndice com filtro (IndRegua).
cFilter
Expresso do filtro no format ADVPL
cIndexKey
Chave de ndice
cOrdem
Ordem para a criao do ndice
cAlias
Tabela a ser filtrada
nIdxOrder
Ordem no Dicionrio de ndices (SIX)

FrameWork - TReport 33

SetHeaderBreak(lHeaderBreak)
Define se imprime cabealho das clulas aps uma quebra (TRBreak).
lHeaderBreak
Se verdadeiro, aponta que salta pgina na quebra
SetHeaderPage(lHeaderPage)
Define que imprime cabealho das clulas no topo da pgina.
lHeaderPage Se verdadeiro, aponta que imprime o cabealho no topo da pgina
SetHeaderSection(lHeaderSection)
Define que imprime cabealho das clulas na quebra de seo.
lHeaderSection
Se verdadeiro, aponta que imprime cabealho na quebra da seo
SetIdxOrder(nIdxOrder)
Define uma ordem de ndice para a tabela principal.
nIdxOrder
Ordem de ndice para a tabela principal
SetLineBreak(lLineBreak)
Define que a impresso poder ocorrer em uma ou mais linhas no caso das colunas
excederem o tamanho da pgina.
lLineBreak
Se verdadeiro, imprime em uma ou mais linhas
SetLineCondition(bLineCondition)
Permite validar a impresso do registro.
bLineCondition
Bloco de cdigo utilizado na validao
SetLineStyle(lLineStyle)
Define se imprime as clulas da seo em linhas.
lLineStyle
Imprime as clulas da seo em linhas
SetLinesBefore(nLinesBefore)
Define a quantidade de linhas que sero saltadas antes da impresso da seo.
nLinesBefore
Quantidade de linhas
SetName()
Compatibilidade No utilizado.
SetNoFilter(cAlias)
Define que a tabela no poder receber filtros de usurio.
cAlias
Tabela a ser considerada
SetUseQuery(lCellUseQuery)
34 FrameWork - TReport

Define que a seo utilize query na impresso.


lCellUseQuery
Se verdadeiro, utiliza query na impresso
SetOrder(nOrder)
Define a ordem (TROrder) que ser utilizada pela seo.
nOrder
Ordem da seo
SetPageBreak(lPageBreak)
Define se salta a pgina na quebra de seo.
lPageBreak Se verdadeiro, aponta que salta pgina na quebra de seo
SetParentFilter(bFilter,bParam)
Define a regra de sada do loop de impresso das sees filhas.
bFilter
Bloco de cdigo com a regra para sada do loop
bParam
Bloco de cdigo com a expresso que retorna o valor que enviado como
parmetro para a regra de sada do loop
SetParentQuery()
Define que a seo filha utiliza a query da seo pai na impresso da seo.
SetParentRecno(lParentRecno)
Define se a seo utiliza o registro da seo pai.
lParentRecno Utiliza o registro da seo pai
SetPercentage(nPercentage)
Define o tamanho da pgina a ser considerada na impresso em percentual.
nPercentage Tamanho da pgina a ser considerada na impresso em percentual
SetPrintLayout()
Compatibilidade No utilizado.
SetQuery(cAlias,cQuery,lChangeQuery,aParam,aTCFields)
Aplica os tratamentos necessrios para execuo das querys, tais como, adicionar clulas de
usurios, aplicao de filtros entre outros.
cAlias
Tabela principal da query
cQuery
Query da seo
lChangeQuery
Se verdadeiro, realiza tratamentos para outros bancos de dados
aParam
Parmetros do tipo Range a serem utilizados no filtro da query
aTCFields
Lista de campos com tipo de dados diferente de character que devem ser
tratados para apresentar os resultados na query. Elementos: 1-Campo, 2-Tipo, 3Tamanho e 4-Decimal

FrameWork - TReport 35

SetReadOnly(lReadOnly)
Define que o usurio no poder alterar informaes da seo, ou seja, no poder remover
as clulas pr-definidas.
lReadOnly
Se verdadeiro, aponta que o usurio no poder alterar Informaes da seo
SetRelation(bFormula,cAlias,uOrder,lSeek)
Define a frmula de relacionamento de uma seo filha com sua seo pai, caso no utilize a
query da seo pai atravs do mtodo SetParentQuery.
bFormula
Bloco de cdigo com a expresso para relacionamento entre as sees
cAlias
Tabela utilizada pela frmula
uOrder
Ordem utilizada na tabela
Tipo Caracter: Nickname da ordem de ndice
Tipo Numrico: Ordem do ndice
lSeek
Indica se ser executado DbSeek com o contedo da frmula
SetRow(nRow)
Define a linha de impresso.
nRow Linha atual
SetWidth(nWidth)
Define a largura da seo.
nWidth
Largura da seo
Show()
Habilita a impresso da seo.
UseFilter()
Retorna se existem clulas personalizadas pelo usurio.
Retorno

Se verdadeiro, existe clula personalizada

Visible()
Retorna se a seo esta habilitada para impresso.
Retorno
Caso verdadeiro, a seo est habilitada
XmlLoad(oXml)
Carrega uma seo do layout personalizado pelo usurio.
oXml
Objeto do tipo XML com as personalizaes da seo
XmlSave()
Salva a seo no layout personalizado pelo usurio.

36 FrameWork - TReport

TRCELL
Clula de impresso de uma seo (TRSection) de um relatrio que utiliza a classe TReport.
Esta classe herda as propridades e mtodos da classe TRSECTION.
Propriedades
aCBox

Array com os possveis textos a serem impressos na clula. Elemento: 1Contedo. Exemplo: 1=Sim.
aFormatCondArray com as condies do usurio para impresso de forma varivel da cor da
clula: Elementos: 1-Condio, 2-Cor de fundo e 3-Cor da fonte.
bCanPrint
Bloco de cdigo que valida a impresso da clula.
bCellBlock
Bloco de cdigo que retornar o contedo de impresso da clula.
cFormula
Frmula para impresso da clula.
cOrder
Ordem de impresso da clula.
cPicture
Mscara da clula.
cRealFormula
Frmula em forma de expresso ADVPL.
cType
Tipo de dado da clula.
cUserFunction
Tipo de acumulador: MIN Menor valor, MAX Maior valor, SUM
Soma, COUNT Contador ou AVERAGE Mdia.
cXlsHStyle Estilo do cabealho padro utilizado na gerao da planilha.
cXlsStyle
Estilo utilizado na gerao da planilha.
lBold
Aponta que a clula ser impressa em negrito.
lHeaderSize Aponta que o tamanho a ser considerado na impresso do cabealho.
lPixelSize
Aponta que o tamanho da clula est calculada em pixel.
lPrintCell
Aponta que a clula est habilitada para impresso.
lCellBreak
Compatibilidade No utilizado.
lUserEnabled Aponta que a clula foi habilitada para impresso pelo usurio.
lUserField
Aponta que a clula foi personalizada pelo usurio.
lUserAccess Aponta que o usurio tem acesso a impresso desta clula, no caso de falso, o
usurio no possui o nvel de campo ou acesso definido no cadastro de usurios.
nAlign
Alinhamento da clula. 1-Esquerda, 2-Center ou 3-Direita.
nAutoWidth Largura gerada automaticamente quando excedida a largura da pgina.
nCellPixel
Largura da clula em pixel.
nHeaderAlign
Alinhamento do cabealho 1-Esquerda, 2-Center ou 3-Direita.
nHeaderPixel Tamanho do cabealho da clula em pixel.
nHeaderSize Tamanho do cabealho da clula.
nLineStart
Aponta a primeira linha da clula a ser impressa no caso de quebra de linha.
nNegative
Nmero do item de sinal negativo no array aNegative.
nPixelSize
Tamanho da clula em pixel.
nRowDif
Quantidade de linhas a serem consideradas na impresso das bordas.
nSize
Tamanho da clula.
FrameWork - TReport 37

nType
nUserValue
nUserCount
nLevel
uValue
uPrint
oFontBody

Tipo da clula. 1-Celula, 2-Formula, 3-Acumulador ou 4-Clula de usurio.


Auxilia no controle do totalizador do tipo MAX e MIN.
Contador de itens impressos quando utilizado totalizadores.
Nvel de campo da clula.
Valor da clula a ser impresso.
Contedo da clula a ser impresso.
Objeto TFont com Informaes da fonte da clula.

MTODOS
CanPrint()
Valida se a clula pode ser impressa.
Col()
Retorna a coluna da clula.
ColPos()
Retorna a coluna que a clula ser impressa pelo mtodo PrintLine da seo que a clula
pertence.
Retorno
Coluna da clula na impresso
CellBreak()
Compatibilidade No utilizado.
ClrBack(lObject)
Retorna a cor de fundo do relatrio.
lObject
Aponta que deve ser retornado o objeto TBrush
Retorno

Caso o parmetro lObjeto seja verdadeiro o retorno ser o objeto TBrush, caso
contrrio ser o nmero da cor RGB.

ClrFore(lPrintHeader)
Retorna a cor de fonte do relatrio.
lPrintHeader Aponta impresso do cabealho da clula
Retorno

Nmero da cor RGB

Disable()
Desabilita a impresso da clula.
Enable()
38 FrameWork - TReport

Habilita a impresso da clula.


Enabled()
Retorna se a clula est habilitada para impresso.
Retorno

Se verdadeiro, a clula est habilitada

EvalFunction()
Atualiza o contedo dos totalizadores da seo.
Execute(lPrintLayout)
Atualiza o contedo da clula a ser impresso.
lPrintLayout Aponta visualizao de layout
Retorno

Contedo a ser impresso

GetCBox()
Retorna o contedo da lista de dado a ser impresso. Exemplo: 1=Sim ou 2=No.
Retorno

Contedo da lista

GetCellSize()
Retorna o tamanho da clula.
Retorno

Tamanho da clula

GetCellWidth()
Retorna a largura da clula.
Retorno

Largura da clula

GetFieldInfo(cField)
Carrega informaes (ttulo, picture, tamanho, etc) do campo baseado no Dicionrio de
Campos (SX3).
cField
Campo a ser consultado no dicionrio
Retorno

Se verdadeiro, conseguiu coletar informaes do dicionrio

GetHeaderSize()
Retorna o tamanho do cabealho da clula.

FrameWork - TReport 39

Retorno

Tamanho do cabealho

GetHeaderWidth()
Retorna a largura do cabealho da clula.
Retorno

Largura do cabealho

GetSize()
Retorna o tamanho da clula considerando o maior tamanho entre a clula e o cabealho da
clula.
Retorno

Tamanho da clula

GetText()
Retorna o texto que ser impresso.
Retorno

Contedo da clula a ser impresso

GetValue()
Retorna o valor a ser impresso na clula.
Retorno

Valor da clula

GetWidth(lAutoWidth)
Retorna a largura da clula.
lAutoWidth Largura automtica
Retorno

Largura da clula

Hide()
Desabilita a impresso da clula, porm calcula o posicionamento da clula.
LineCount(lHeader)
Quantidade de linhas a serem impressas para a clula.
lHeader
Se verdadeiro, verifica as linhas do cabealho
Retorno

Quantidade de linhas

New(oParent,cName,cAlias,cTitle,cPicture,nSize,lPixel,bBlock,cAlign,lLineBreak,cHe
aderAlign,lCellBreak,nColSpace,lAutoSize,nClrBack,nClrFore,lBold)
Mtodo construtor da classe TRCell.

40 FrameWork - TReport

Se o nome da clula informada for encontrada no Dicionrio de Campos (SX3), as informaes


do campo sero carregadas para a clula, respeitando os parmetros de ttulo, picture e
tamanho. Dessa forma o relatrio sempre estar atualizado com as informaes do Dicionrio
de Campos (SX3).
O nome da clula ser utilizado junto ao alias informado pelo parmetro como contedo para
a impresso da clula, como por exemplo a impresso do campo A1_COD da tabela SA1.
Se for informado o parmetro com o bloco de cdigo, o retorno deste ser utilizado como
contedo para impresso da clula, com a picture, tamanho e ttulo definidos para a clula.
Assim sendo, possvel criar clulas calculadas com formato de impresso baseada no
Dicionrio de Campos (SX3)
oParent
Objeto da classe TRSection que a clula pertence
cName
Nome da clula
cAlias
Tabela utilizada pela clula
cTitle
Ttulo da clula
cPicture
Mscara da clula
nSize
Tamanho da clula
lPixel
Aponta se o tamanho foi informado em pixel
bBlock
Bloco de cdigo com o retorno do campo
cAlign
Alinhamento da clula. LEFT, RIGHT e CENTER
lLineBreak
Quebra linha se o contedo estourar o tamanho do campo
cHeaderAlignAlinhamento do cabealho da clula. LEFT, RIGHT e CENTER
lCellBreak
Compatibilidade No utilizado
nColSpace Espaamento entre as clulas
lAutoSize
Ajusta o tamanho da clula com base no tamanho da pgina e as Informaes
impressas
nClrBack
Cor de fundo da clula
nClrFore
Cor da fonte da clula
lBold
Imprime a fonte em negrito
Picture()
Retorna a mscara de impresso da clula.
Retorno

Mscara de impresso

Print(lCanPrint,nXlsCol,lExcel)
Imprime o contedo da clula.
lCanPrint
Valida impresso da clula
nXlsCol
Nmero da coluna na gerao em planilha
lExcel
Gerao em planilha
FrameWork - TReport 41

PrintHeader(nSkipLine,lHeaderWidth,cXlsHStyle,lExcel)
Imprime o cabealho da clula.
nSkipLine
Compatibilidade No utilizado
lHeaderWidth
Considera a largura do cabealho na impresso
cXlsHStyle Estilo do cabealho na gerao em planilha
lExcel
Gerao em planilha
ResetWidth()
Inicializa o tamanho e largura da clula.
ResetLineStart()
Inicializa a linha que indica a primeira linha da clula a ser impressa no caso de quebra de
linha.
Say(cText,nAlign,nSayWidth,lPrintHeader)
Imprime um texto na clula ou o contedo da clula.
cText
Texto que ser impresso
nAlign
Alinhamento do texto. 1-Esquerda, 2-Centro ou 3-Direita
nSayWidth Largura do texto
lPrintHeader Impresso do cabealho
SetAlign(uAlign)
Define o alinhamento da clula na impresso.
uAlign
Tipo Caracter: "LEFT" esquerda, "RIGHT" direita e "CENTER" - centro
Tipo Nmerico: 1 esquerda, 2 centro e 3 - direita
SetAutoWidth(nAutoWidth)
Aponta a largura da clula gerada automaticamente pelo clculo de posicionamento das
clulas que atingirem a largura maxima da pgina.
nAutoWidth Largura da clula
SetBlock(bBlock)
Define o bloco de cdigo que retornar o contedo de impresso da clula.
Definindo o bloco de cdigo para a clula, esta no utilizar mais o nome mais alias para
retornar o contedo de impresso.
bBlock
Bloco de cdigo que retorna o contedo

SetBorder(uBorder,nWeight,nColor,lHeader)
Define as bordas da clula.
42 FrameWork - TReport

uBorder
nWeight
nColor
lHeader

Tipo Caracter: "TOP","BOTTOM","LEFT","RIGHT",ALL


Tipo Numrico: 1-Superior,2-Inferior,3-Esquerda,4-Direita,5-Todas
Largura da borda
Cor da borda
Aponta se borda de cabealho

Retorno

Objeto do tipo TRBorder

SetCanPrint(bCanPrint)
Define o bloco de cdigo que ser utilizado para validar se a clula poder ser impressa.
bCanPrint
Bloco de cdigo com a validao da clula
SetCBox(cBox)
Define que a clula ir imprimir a descrio do item de um campo que tenha o formato
ComboBox, utilizado no Dicionrio de Campos (SX3).
cBox
O formato do parmetro o mesmo utilizado no Dicionrio de Campos (SX3),
como no exemplo abaixo:
oCell:SetCBox('1=Sim;2=No').
Na impresso ser utilizada a descrio do item. No exemplo acima se o
contedo da clula for '1', ser impresso 'Sim', sendo que o mtodo j ir
calcular o tamanho da clula baseado na maior descrio informada
SetCellBreak()
Compatibilidade No utilizado.
SetHeaderAlign(uAlign)
Define o alinhamento do cabealho da clula na impresso.
uAlign
Tipo Caracter: "LEFT" esquerda, "RIGHT" direita e "CENTER" - centro
Tipo Nmerico: 1 esquerda, 2 centro e 3 - direita
SetNegative(cNegative)
Define o sinal de negativo utilizado na impresso.
cNegative
Tipo Caracter: "PARENTHESES" ( ) ou "SIGNAL"
SetPicture(cPicture)
Define a mscara de impresso da clula.
cPicture
Mscara da clula
SetPrintCell(lPrintCell)
Define se a clula ser impressa.
lPrintCell
Se verdadeiro, imprime a clula

FrameWork - TReport 43

SetRow(nRow)
Quantidade de linhas para impresso das bordas.
nRow
Qunatidade de linhas
SetRowDiff(nRowDiff)
Quantidade de linhas a serem consideradas na impresso das bordas.
nRowDif
Quantidade de linhas
SetSize(nSize,lPixel)
Define o tamanho da clula.
nSize
Tamanho da clula
lPixel
Aponta se o tamanho calculado em pixel
SetTitle(cTitle)
Define o ttulo da clula.
cTitle
Ttulo da clula
SetType(cType)
Define o tipo de dado da clula.
cType
Tipo de dado
SetValue(uValue)
Define um valor constante para a clula.
uValue
Valor constante
Definindo um valor constante para a clula, esta no utilizar o nome mais o
alias para impresso do contedo, ou seja, a clula passar a se comportar
como um vriavel de um programa.
Se o parmetro no for informado (Nulo), ento a clula deixar de usar o valor
constante, voltando a imprimir seu contedo utilizando nome mais alias.
XmlLoad(oXml)
Carrega uma clula do layout personalizado pelo usurio.
oXml
Objeto do tipo XML com as personalizaes da clula

XmlSave()
Salva a clula no layout personalizado pelo usurio.

44 FrameWork - TReport

TRPOSITION
Clula de posicionamento de uma seo de um relatrio que utiliza a classe TReport.
As clulas de posicionamento so executas em toda execuo do mtodo PrintLine da seo
que elas pertencem, para posicionar as tabelas secundrias da seo que o usurio pode
utilizar para incluir clulas baseadas em seus campos.
Propriedades
cAlias
cClassName
cNickName
lSeek
nOrder
uFormula
uValue
oReport
oParent

Tabela que ser utilizada para posicionamento.


Nome da classe. (TRPOSITION).
Nickname da ordem do ndice da tabela.
Se verdadeiro, Executar o DbSeek com o contedo retornado pela frmula.
Ordem a ser utilizada na pesquisa.
Frmula de posicionamento.
Contedo retornado aps a execuo da frmula.
Objeto TReport.
Objeto da classe TRSection que a clula pertence.

MTODOS
ClassName()
Retorna o nome da classe. Exemplo: TRPOSITION.
Execute()
Executa a frmula de posicionamento.
New(oParent,cAlias,uOrder,uFormula,lSeek)
Mtodo construtor da classe TRPOSITION.
oParent
cAlias
uOrder

lSeek

Objeto da classe TRSection que a clula pertence


Tabela que ser utilizada para posicionamento
Tipo Caracter: Nickname da ordem do ndice da tabela
Tipo Numrico: Ordem do ndice da tabela
Frmula de posicionamento
Tipo Caracter: Expresso ADVPL para macro execuo
Tipo Bloco de Cdigo: Bloco de Cdigo com a expresso ADVPL para execuo
Se verdadeiro, Executar o DbSeek com o contedo retornado pela frmula

Retorno

Objeto do tipo TRPosition

uFormula

FrameWork - TReport 45

SetFormula(uFormula,lSeek)
Define a frmula de posicionamento.
uFormula
Frmula de posicionamento
Tipo Caracter: Expresso ADVPL para macro execuo
Tipo Bloco de Cdigo: Bloco de Cdigo com a expresso ADVPL para execuo
lSeek
Se verdadeiro, Executar o DbSeek com o contedo retornado pela frmula
SetNickName(cNickName)
Define a ordem do ndice pelo seu nickname.
cNickName NickName da ordem de ndice da tabela
SetOrder(nOrder)
Define a ordem do ndice para o posicionamento.
nOrder
Ordem do ndice
SetTable(cAlias)
Define a tabela que ser utitliza pela frmula para o posicionamento.
cAlias
Tabela que ser utilizada na frmula

46 FrameWork - TReport

TRFUNCTION
Totalizador de uma quebra, seo ou relatrio que utiliza a classe TReport.
Um totalizador pode executar uma das seguintes funes abaixo, utilizando como referncia
uma clula da seo ou o retorno de uma frmula definida para ele:
SUM
Somar
COUNT
Contar
MAX
Valor mximo
MIN
Valor mnimo
AVERAGE
Valor mdio
ONPRINT
Valor atual
TIMESUM
Somar horas
TIMEAVERAGE
Valor medio de horas
TIMESUB
Subtrai horas
Na criao do totalizador sempre informado uma seo (TRSection) a qual ele pertence, e
automaticamente o totalizador ser includo no relatrio (TReport) que a seo pertence.
Esta classe herda as propridades e mtodos da classe TRCELL.
Propriedades
bCondition Bloco de cdigo com a condio de atualizao dos valores do totalizador.
bOnPrint
Bloco de cdigo para tratamentos antes da impresso do totalizador.
cFunction
Funo que ser utilizada pelo totalizador. Exemplo: SUM, COUNT, MAX, MIN.
lCollection
Se verdadeiro, aponta que o totalizador do tipo Collection.
lEndPage
Se verdadeiro, aponta que o totalizador ser impresso no final da pgina.
lEndReport Se verdadeiro, aponta que o totalizador ser impresso no final do relatrio.
lEndSection Se verdadeiro, aponta que o totalizador ser impresso no final da seo.
lPageValue Se verdadeiro, aponta que impresso do total da pgina.
lPrintLayout Se verdadeiro, aponta que visualizao do layout.
lReportValue Se verdadeiro, aponta que impresso do total geral.
lSectionValueSe verdadeiro, aponta que impresso do total da seo.
lPrintCollection
Se verdadeiro, aponta que impresso de totalizador do tipo Collection.
nCount
Contador de registros impressos.
nCountPage Contador de registros impressos para a pgina.
nCountReport
Contador geral de registros impressos.
nCountSection
Contador de registros impressos para a seo.
oCell
Objeto da classe TRCell que o totalizador se refere.
FrameWork - TReport 47

oTotal
uFormula
uLastValue
uPage
uReport
uSection

Objeto da classe TRFunction ou TRCollection.


Tipo Caracter: Expresso ADVPL para macro execuo.
Tipo Bloco de cdigo: Bloco de Cdigo com a expresso ADVPL para execuo.
ltimo valor atualizado no totalizador.
Total acumulado por pgina.
Total acumulado geral do relatrio.
Total acumulado por seo.

MTODOS
ClrBack(lObject)
Retorna a cor de fundo do relatrio.
lObject
Aponta que deve ser retornado o objeto TBrush
Retorno

Caso o parmetro lObjeto seja verdadeiro o retorno ser o objeto TBrush, caso
contrrio ser o nmero da cor RGB.

ClrFore()
Retorna a cor de fonte do relatrio.
lPrintHeader Aponta impresso do cabealho da clula
Retorno

Nmero da cor RGB

Col()
Retorna a posio da coluna do totalizador.
Retorno

Posio da coluna do totalizador

Enabled()
Retorna se o totalizador est habilitado.
Retorno

Se verdadeiro, aponta que o totalizador est habilitado

EndPage()
Retorna se o totalizador ser impresso no final de cada pgina.
Retorno

Se verdadeiro, o totalizador ser impresso

EndReport()
Retorna se o totalizador ser impresso no final do relatrio.

48 FrameWork - TReport

Retorno

Se verdadeiro, o totalizador ser impresso

EndSection()
Retorna se o totalizador ser impresso na quebra de seo.
Retorno

Se verdadeiro, o totalizador ser impresso

EvalFunction()
Utilizado pelo mtodo Execute(), ele executa a funo do totalizador, utilizando a frmula
definida pelo mtodo New ou pelo mtodo SetFormula.
Execute()
Executa a funo do totalizador, utilizando a frmula definida pelo mtodo New ou pelo
mtodo SetFormula.
O mtodo Execute executado para cada linha impressa pelo mtodo PrintLine da seo que
o totalizador pertence.
Formula()
Retorna a frmula do totalizador.
Retorno

Tipo Caracter: Expresso ADVPL para macro execuo


Tipo Bloco de cdigo: Bloco de Cdigo com a expresso ADVPL para execuo

FullID()
Retorna o identificador do totalizador mais o identificador da clula.
Retorno

Identificador do totalizador mais o identificador da clula

GetFunction(uFunction)
Retorna a funo utilizada pelo totalizador. Exemplo: SUM, COUNT, MAX, MIN, AVERAGE.
uFunction
Identificador do totalizador
Retorno

Caso informado o identificador do totalizador o retorno ser o objeto, caso


contrrio ser a funo

GetValue()
Retorna o valor do totalizador.
Retorno

Valor do totalizador

GetLastValue()
FrameWork - TReport 49

Retorno o ltimo valor atualizado no totalizador.


Retorno

ltimo valor atualizado no totalizador

GetWidth(lAutoWidth)
Retorna a largura da clula.
lAutoWidth Aponta que a largura ser calculada automaticamente
Retorno

Largura da clula do totalizador

GetPrintCollection()
Retorna se impresso de totalizador do tipo Collection.
Retorno

Se verdadeiro, aponta impresso de totalizador do tipo Collection

New(oCell,cName,cFunction,oBreak,cTitle,cPicture,uFormula,lEndSection,lEndRepor
t,lEndPage,oParent,bCondition,lDisable,bCanPrint)
Mtodo construtor da classe TRFunction.
oCell
cName
cFunction
oBreak
impresso
cTitle

Objeto da classe TRCell que o totalizador se refere


Identificao do totalizador
Funo que ser utilizada pelo totalizador. Exemplo: SUM, COUNT, MAX, MIN
Objeto da classe TRBreak que define em qual quebra o totalizador ser

Ttulo do totalizador. Se no informado ser utilizado o ttulo da clula que o


totalizador se refere
cPicture
Mscara de impresso do totalizador. Se no informado ser utilizado a mscara
da clula que o totalizador se refere
uFormula
Tipo Caracter: Expresso ADVPL para macro execuo
Tipo Bloco de cdigo: Bloco de Cdigo com a expresso ADVPL para execuo
lEndSection Se verdadeiro. Indica se totalizador ser impresso na quebra de seo
lEndReport Se verdadeiro. Indica se totalizador ser impresso no final do relatrio
lEndPage
Se verdadeiro. Indica se totalizador ser impresso no final de cada pgina
oParent
Objeto da classe TRSection que o totalizador se refere
bCondition Bloco de cdigo com a condio de atualizao dos valores do totalizador
lDisable
Se verdadeiro. Define que no ir atualizar os valores do totalizador
bCanPrint
Bloco de cdigo com a condio de impresso dos valores do totalizador
PageValue()
Retorna o valor atual do totalizador para a pgina.
Retorno

Valor atual da pgina

50 FrameWork - TReport

Print(uValue)
Imprime o total atual.
uValue
Se informado, define o valor a ser impresso e altera o valor do total, caso
contrrio imprime o valor atual
PrintPage()
Imprime o totalizador da pgina.
PrintReport()
Imprime o totalizador geral do relatrio.
PrintSection()
Imprime o totalizador da seo.
ReportValue()
Retorna o valor geral do totalizador para o relatrio.
Retorno

Valor geral do relatrio

Reset()
Reinicia valor do totalizador.
ResetPage()
Reinicia valor do totalizador da pgina.
ResetReport()
Reinicia valor do totalizador geral do relatrio.
ResetSection()
Reinicia valor do totalizador da seo.
SectionValue()
Retorna o valor atual do totalizador para a seo.
Retorno

Valor atual da seo

SetBreak(oBreak)
Define a quebra (TRBreak) que o totalizador ser impresso.
oBreak
Objeto TRBreak

FrameWork - TReport 51

SetCollection(lCollection)
Define que o totalizador do tipo collection.
lCollection
Se verdadeiro, aponta que o totalizador do tipo collection
SetCondition(bCondition)
Define o bloco de cdigo com a condio de atualizao dos valores do totalizador.
bCondition Bloco de cdigo com a condio de atualizao dos valores do totalizador
SetEndPage(lEndPage)
Define se o totalizador ser impresso na quebra de cada pgina.
lEndPage
Se verdadeiro, aponta que imprime o totalizador
SetEndReport(lEndReport)
Define se o totalizador ser impresso no final do relatrio.
lEndReport Se verdadeiro, aponta que imprime o totalizador
SetEndSection(lEndSection)
Define se o totalizador ser impresso na quebra de seo.
lEndSection Se verdadeiro, aponta que imprime o totalizador
SetFormula(uFormula)
Define a frmula utilizada pelo totalizador no lugar de utilizar o contedo da clula que ele se
refere.
uFormula
Tipo Caracter: Expresso ADVPL para macro execuo
Tipo Bloco de cdigo: Bloco de cdigo com a expresso ADVPL para execuo
SetFunction(cFunction)
Define a funo que ser utilizada pelo totalizador. Exemplo: SUM, COUNT, MAX, MIN.
cFunction
Funo do totalizador
SetTotalInLine(lTotalInLine)
Define que a impresso dos totalizadores ser em linha.
lTotalInLine Se verdadeiro, imprime os totalizadores em linha
SetPrintCollection(lPrintCollection)
Define que impresso de collections.
lPrintCollection
Se verdadeiro, aponta que impresso de collections

52 FrameWork - TReport

TRBREAK
Quebra de uma seo de um relatrio que utiliza a classe TReport.
A classe TRBreak utilizada quando h a necessidade de impresso dos totalizadores da
seo antes do final da seo ou do relatrio, dependendo da regra de quebra informada.
Esta classe herda as propridades e mtodos da classe TRSECTION.
Propriedades
bOnBreak
Bloco de cdigo com tratamentos a serem realizados antes da quebra.
bOnPrintTotal
Bloco de cdigo com tratamentos a serem realizados aps a quebra.
uBreak
Regra para quebra.
Tipo Objeto: Objeto da classe TRCell.
Tipo Caracter: Expresso ADVPL para macro execuo.
Tipo Bloco de Cdigo: Bloco de cdigo com expresso que ser executada.
uContent
ltimo valor atualizado no controle da quebra.
MTODOS
Execute(lForce)
Executa a regra e indica se houve a quebra.
O mtodo Execute executado para cada linha impressa pelo mtodo PrintLine da seo que
a quebra pertence.
lForce
Fora a execuo da quebra
Retorno

Se verdadeiro, aponta que houve quebra

GetLastValue()
Retorno o ltimo valor atualizado no controle da quebra.
Retorna

ltimo valor atualizado

New(oParent,uBreak,uTitle,lTotalInLine,cName,lPageBreak)
Mtodo construtor da classe TRBreak.
oParent
Objeto da classe TRSection que a quebra pertence
uBreak
Regra para quebra
Tipo Objeto: Objeto da classe TRCell
Tipo Caracter: Expresso ADVPL para macro execuo
Tipo Bloco de Cdigo: Bloco de cdigo com expresso que ser executada
FrameWork - TReport 53

uTitle
lTotalInLine
cName
lPageBreak

Ttulo da quebra
Se verdadeiro, aponta que os totalizadores sero impressos em linha
Nome e identificador da quebra
Se verdadeiro, aponta salta de pgina aps a quebra

Retorno

Objeto da classe TRBreak

OnBreak(bOnBreak)
Define o bloco de cdigo que ser executado antes da impresso da quebra.
bOnBreak
Bloco de cdigo com tratamentos a serem realizados antes na quebra
OnPrintTotal(bOnPrintTotal)
Define o bloco de cdigo que ser executado aps a impresso da quebra.
bOnPrintTotalBloco de cdigo com tratamentos a serem realizados aps a quebra
Print()
Executa a impresso da quebra.
PrintTotal()
Imprime a quebra e executa os tratamentos definidos no mtodo OnPrintTotal.
ResetBreak()
Inicializa o valor utilizado para controlar a quebra.
SetBreak(uBreak)
Define a regra para a quebra.
uBreak
Regra para quebra
Tipo Objeto: Objeto da classe TRCell
Tipo Caracter: Expresso ADVPL para macro execuo
Tipo Bloco de Cdigo: Bloco de cdigo com expresso que ser executada
SetTitle(uTitle)
Define o ttulo que ser impresso antes da impresso dos totalizadores.
uTitle
Texto a ser impresso no formato caracter ou bloco de cdigo
Title()
Retorna o ttulo que ser impresso antes da impresso dos totalizadores.
Retorno

Ttulo da quebra

54 FrameWork - TReport

TRORDER
Ordena a seo de um relatrio que utiliza a classe TReport.
Esta classe herda as propridades e mtodos da classe TRPOSITION.
Propriedades
cTitle

Ttulo da ordem

MTODOS
Execute()
Ordena a tabela.
GetOrder()
Retorna a ordem da tabela.
Retorno

Posio da ordem no dicionrio de indices - SIX

New(oParent,uOrder,cTitle,cAlias)
Mtodo construtor da classe TROrder.
oParent
uOrder
cTitle
cAlias

Objeto da classe TRSection que a ordem pertence


Tipo Caracter: NickName da ordem no dicionrio de indices SIX
Tipo Numrico: Posio da ordem no dicionrio de indices - SIX
Ttulo da ordem
Tabela que ser ordenada

Retorno

Objeto da classe TROrder

SetTitle(cTitle)
Define o ttulo da ordem.
cTitle Ttulo da ordem
Title()
Retorna o ttulo da ordem.
Retorno

Ttulo da ordem

FrameWork - TReport 55

TRRELATION
Relacionamento entre as sees que utiliza a classe TReport.
Esta classe herda as propridades e mtodos da classe TRPOSITION.
MTODOS
New(oParent)
Mtodo construtor da classe TRRelation.
oParent

Objeto da classe TRSection que o relacionamento pertence

Execute()
Executa frmula de relacionamento.
SetFormula(uFormula,lSeek)
Define a frmula de posicionamento.
uFormula
Frmula de posicionamento
Tipo Caracter: Expresso ADVPL para macro execuo
Tipo Bloco de Cdigo: Bloco de Cdigo com a expresso ADVPL para execuo
lSeek
Se verdadeiro, Executar o DbSeek com o contedo retornado pela frmula
SetNickName(cNickName)
Define a ordem do ndice pelo seu nickname.
cNickName NickName da ordem de ndice da tabela
SetOrder(nOrder)
Define a ordem do ndice para o posicionamento.
nOrder
Ordem do ndice
SetTable(cAlias)
Define a tabela que ser utitliza pela frmula para o posicionamento.
cAlias
Tabela que ser utilizada na frmula

56 FrameWork - TReport

TRPAGE
Definio da pgina para relatrio que utiliza a classe TReport.
Esta classe herda as propridades e mtodos da classe TREPORT.
Propriedades
bPageFooter Bloco de cdigo utilizado para imprimir Informaes customizadas, no qual,
dever ser utilizado mtodos do TReport para impresso. Exemplo: Say,
PrintText.
lEndPage
Aponta que dever quebrar pgina.
lFirstPage
Aponta que primeira pgina do relatrio.
lFooterBeforeAponta que o rodap ser impresso antes dos totalizadores.
lFooterDif
Aponta que considerado a altura da linha no rodap para clculo do altura da
pgina.
lLandscape Aponta a orientao de pgina do relatrio como paisagem.
lPageDif
Aponta que considerado o tamanho da borda e rodap para clculo da altura
da pgina.
lPageFooter Aponta que est sendo impresso o rodap da pgina.
lPageTotal
Aponta que est sendo impresso o total da pgina.
lPortrait
Aponta a orientao de pgina do relatrio como retrato.
lTotalAfter
Aponta que o totalizador ser impresso aps a impresso do rodap.
lTotalDif
Aponta que ser considerada a quantidade de linhas a serem impressos no
rodap no clculo da altura da pgina.
nFooterDif Quantidade de linhas a serem impressas no rodap considerando a altura da
linha.
nHorzRes
Resoluo horizontal da impressora configurada.
nLinesFooter Quantidade de linhas reservadas para impresso do rodap.
nPage
Pgina atual.
nPaperSize Tamanho da pgina.
nTotalDif
Quantidade de linhas a serem impressas no rodap considerando o tamanho da
linha e bordas.
nWidth
Largura da pgina.
nVertRes
Resoluo vertical da impressora configurada.
oParent
Objeto da classe TRSection que a pgina pertence.
oReport
Objeto da classe TREPORT que a pgina pertence.
MTODOS
EndPage(lFooter)
Imprime os totalizadores, rodap e salta a pgina.
lFooter
Aponta que o rodap ser impresso
FrameWork - TReport 57

FooterDiff()
Retorna a quantidade de linhas do rodap considerando a altura da linha.
Retorno

Quantidade de linhas

IsLandscape()
Aponta que a orientao do relatrio paisagem.
Retorno

Se verdadeiro, orientao paisagem

IsPortrait()
Aponta que a orientao do relatrio retrato.
Retorno

Se verdadeiro, orientao retrato

New(oParent,uTotalText,lTotalInLine)
Mtodo contrutor da classe TRPage.
oParent
uTotalText
lTotalInLine

Objeto da classe TRSection que a pgina pertence


Texto do totalizador da pgina
Imprime os totalizadores em linhas

Retorno

Objeto da classe TRPage

Page()
Retorna a pgina atual.
Retorno

Pgina atual

PageDiff()
Retorna a quantidade de linhas utilizadas na impresso do rodap.
Retorno

Quantidade de linhas do rodap

PageHeight()
Retorna a altura da pgina.
Retorno

Altura da pgina

PageWidth()
58 FrameWork - TReport

Retorna a largura da pgina.


Retorno

Largura da pgina

PaperSize()
Retorna o tamanho do papel selecionado.
Retorno

Tamanho do papel

PrintPageFooter(nDiff)
Imprime o rodap da pgina.
nDif
Quantidade de linhas reservadas para o rodap
PrintTotal(nDiff,lSetPos)
Imprime os totalizadores da pgina.
nDif
Quantidade de linhas reservadas para o rodap
lSetPos
Posiciona a linha de imprresso na primeira linha reservada para o rodap
ResetFooterDiff()
Inicializa os valores referente a quantidade de linhas reservadas para o rodap, utilizados no
clculo da altura da pgina.
ResetPage()
Inicializa as variveis da pgina, indicando como impresso da primeira pgina.
ResetTotalDiff()
Inicializa os valores referente a quantidade de linhas reservadas para o rodap.
SetLandscape()
Define a orientao de pgina do relatrio como paisagem.
SetPageDiff(lPageDiff)
Define que ser considerada a quantidade de linhas a serem impressas no rodap para o
clculo da altura da pgina .
SetPageFooter(nLinesFooter,bPageFooter,lFooterBefore)
Define a configurao para impresso do rodap da pgina.
nLinesFooter Quantidade de linhas reservadas para impresso do rodap
bPageFooter Bloco de cdigo utilizado para imprimir Informaes customizadas, no qual,
dever ser utilizado mtodos do TReport para impresso. Exemplo: Say,
PrintText.
lFooterBeforeImprime rodap antes da impresso dos totalizadores
FrameWork - TReport 59

SetPageNumber(nPage)
Define o nmero da pgina atual.
nPage
Nmero da pgina
SetPaperSize(nPaperSize)
Define o tamanho da pgina.
nPaperSize Tamanho da pgina
SetPortrait()
Define a orientao de pgina do relatrio como retrato.
SetTotalBefore(lTotalBefore)
Define que o total da pgina ser impressa antes do rodap.
lTotalBefore Total da pgina antes do rodap
StartPage()
Inicializa a impresso de uma nova pgina.
TotalDiff()
Retorna a quantidade total de linhas reservadas para impresso do rodap.
Retorno

Quantidade total de linhas reservadas

60 FrameWork - TReport

TRPARAMPAGE
Imprime pgina de parmetros para relatrio que utiliza a classe TREPORT.
Este mtodo herda as propridades e mtodos da classe TRSECTION.
Propriedades
nSize

Tamanho da clula

MTODOS
New(oParent,cParam)
Mtodo construtor da classe TRParamPage.
oParent
cParam

Objeto da classe TREPORT


Grupo de perguntas

Retorno

Objeto da classe TRParamPage

Print()
Imprime a pgina de parmetros.
PrintFilter()
Imprime as Informaes de usurio e filtros.

FrameWork - TReport 61

TRCOLLECTION
Acumulador de uma quebra, seo e relatrio que utiliza a classe TReport.
Um Acumulador pode executar uma das seguintes funes abaixo, utilizando como referncia
uma clula da seo ou o retorno de uma frmula definida para ele:
SUM
Somar
COUNT
Contar
MAX
Valor mximo
MIN
Valor mnimo
AVERAGE
Valor mdio
ONPRINT
Valor atual
TIMESUM
Somar horas
TIMEAVERAGE
Valor medio de horas
TIMESUB
Subtrai horas
Na criao do acumulador sempre informado uma seo (TRSection) a qual ele pertence, e
automaticamente o acumulador ser incluido no relatrio (TReport) que a seo pertence.
Esta classe herda as propridades e mtodos da classe TRFUNCTION.
Propriedades
bItemPrint
bItemReset
bItemValue
cGName
cGSerie
cItemPicture
lGEndReport
lGraphic
lPrintLayout
lUserAccess
nGType

Compatibilidade No utilizado.
Compatibilidade No utilizado.
Compatibilidade No utilizado.
Ttulo do grfico personalizado.
Ttulo da srie do grfico personalizado.
Mscara de impresso do acumulador.
Aponta impresso do grfico no final do relatrio.
Aponta a existncia de grficos no relatrio.
Aponta que impresso de visualizao do layout.
Se verdadeiro, permite o usurio utilizar acumuladores personalizados.
Tipo do grfico personalizado.
1 Linhas
2 Area
3 Pontos
4 Barra
9 Pizza
12 Linhas Rpidas

62 FrameWork - TReport

uContent

Regra com o valor acumulado.


Tipo Caracter: Expresso ADVPL para macro execuo.
Tipo Bloco de cdigo: Bloco de Cdigo com a expresso ADVPL para execuo.

MTODOS
Col()
Compatibilidade No utilizado.
EvalFunction()
Atualiza o contedo dos acumuladores.
New(cName,cFunction,oBreak,uTitle,cPicture,uFormula,lEndSection,lEndReport,oPa
rent,bCondition,uContent)
Mtodo constructor da classe TRCollection.
cName
cFunction
oBreak
impresso
uTitle
cdigo
cPicture
uFormula

Identificao do acumulador
Funo que ser utilizada pelo acumulador. Exemplo: SUM, COUNT, MAX, MIN
Objeto da classe TRBreak que define em qual quebra o acumulador ser

Retorno

Objeto da classe TRCollection

Ttulo do acumulador. Texto a ser impresso no formato caracter ou bloco de

Mscara de impresso do acumulador


Regra para acmulo dos valores
Tipo Caracter: Expresso ADVPL para macro execuo
Tipo Bloco de cdigo: Bloco de Cdigo com a expresso ADVPL para execuo
lEndSection Se verdadeiro. Indica se o acumulador ser impresso na quebra de seo
lEndReport Se verdadeiro. Indica se op acumulador ser impresso no final do relatrio
oParent
Objeto da classe TRSection que o acumulador se refere
bCondition Bloco de cdigo com a condio de atualizao dos valores do acumulador
uContent
Regra com o valor acumulado
Tipo Caracter: Expresso ADVPL para macro execuo
Tipo Bloco de cdigo: Bloco de Cdigo com a expresso ADVPL para execuo

Reset()
Inicializa o acumulador atual.
ResetPage()
Inicializa o acumulador da pgina.
FrameWork - TReport 63

ResetReport()
Inicializa o acumulador do relatrio.
ResetSection()
Inicializa o acumulador da seo.
ResetSize(nType)
Inicializa o tamanho da clula de impresso do acumulador.
nType
Aponta o tipo de collection a ser verificado
0 Acumulador atual
1 Acumulador do relatrio
2 Acumulador da seo
3 Acumulador da pgina
SetBreak(oBreak)
Define a quebra (TRBreak) que o acumulador ser impresso.
oBreak
Objeto da classe TRBreak
SetPicture(cPicture)
Define a mscara de impresso do acumulador.
cPicture
Mscara do acumulador
SetTitle(uTitle)
Define o ttulo que ser impresso antes da impresso dos acumuladores.
uTitle
Texto a ser impresso no formato caracter ou bloco de cdigo
SetTotalInLine(lTotalInLine)
Define que o acumulador ser impresso em linhas.
lTotalInLine Se verdadeiro, aponta que o acumulador er impresso em linhas
Title()
Retorna o ttulo do acumulador.
Retorno

Ttulo do acumulador

XmlLoad(oXml)
Carrega um acumulador do tipo collection do layout personalizado pelo usurio.
oXml
Objeto do tipo XML com as personalizaes do acumulador
XmlSave()
64 FrameWork - TReport

Salva o acumulador do tipo collection no layout personalizado pelo usurio.

FrameWork - TReport 65

TRBORDER
Classe com as propridades e mtodos para impresso de bordas.
Propriedades
nCol
nColor
nEdge
nLineStyle

Coluna da borda.
Numero da cor RGB.
Tipo da borda. 1 Topo, 2 Fim, 3 Esquerda, 4 Direita e 5 Tudo.
Estilo da borda. 0 Sem borda, 1 Borda continua, 2 Borda da classe
superior, 3 Borda do cabealho da classe superior, 4 Borda da clula, 6
Borda do totalizador e 7 Borda da seo.
nRow
Linha inicial da borda.
nRowDif
Quantidade de linhas a serem saltadas antes da impresso da borda.
nWeight
Largura/Altura da borda.
oParent
Objeto da classe que ir utilizar a borda.
oReport
Objeto da classe TREPORT que a borda pertence.
oPrint
Objeto TMSPrinter da classe TREPORT.
oRealBorder Objeto da classe TRBorder.
MTODOS
CheckBorder(nWeight,nColor,nLineStyle)
Verifica se a borda foi criada e caso contrrio define com as Informaes do parmetro.
nWeight
Largura/Altura da borda
nColor
Numero da cor RGB
nLineStyle
Estilo da borda. 0 Sem borda, 1 Borda continua, 2 Borda da classe
superior, 3 Borda do cabealho da classe superior, 4 Borda da clula, 6
Borda do totalizador e 7 Borda da seo
Col()
Retorna a coluna em que a borda ser impressa.
Retorno

Coluna da borda

Color()
Retorna a cor da borda.
Retorno

Nmero da cor RGB

LineStyle()
Retorna o estilo de borda utilizado.

66 FrameWork - TReport

Retorno

Estilo da borda
0 Sem borda,
1 Borda continua, 2 Borda da classe superior, 3 Borda
do cabealho da classe superior, 4 Borda da clula, 6 Borda do totalizador e
7 Borda da seo

New(oParent,nEdge,nWeight,nLineStyle,nColor)
Mtodo constructor da classe TRBorder.
oParent
nEdge
nWeight
nLineStyle

nColor

Objeto da classe que ir utilizar a borda


Tipo da borda. 1 Topo, 2 Fim, 3 Esquerda, 4 Direita e 5 Tudo
Largura/Altura da borda
Estilo da borda. 0 Sem borda, 1 Borda continua, 2 Borda da classe
superior, 3 Borda do cabealho da classe superior, 4 Borda da clula, 6
Borda do totalizador e 7 Borda da seo
Nmero da cor RGB

Retorno

Objeto da classe TRBorder

Print()
Imprime a borda.
RealBorder()
Retorna a borda atual.
Retorno

Objeto da classe TRBorder

SetCol(nCol)
Define a coluna da borda.
nCol
Coluna da borda
SetColor(nColor)
Define a cor da borda.
nColor
Nmero da cor RGB
SetLineStyle(nLineStyle)
Define o estilo da borda.
nLineStyle
0 Sem borda
1 Borda continua
2 Borda da classe superior
3 Borda do cabealho da classe superior
4 Borda da clula
6 Borda do totalizador
FrameWork - TReport 67

7 Borda da seo
SetRow(nRow)
Define a linha inicial a ser impressa a borda.
nRow
Linha inicial da borda
SetRowDiff(nRowDiff)
Define a quantidade de linhas que devero ser saltadas antes da impresso da borda.
nRowDif
Quantidade de linhas a serem saltadas
SetWeight(nWeight)
Define a largura/altura da borda.
nWeight
Largura/altura da borda
Weight()
Retorna a largura/Altura da borda.
Retorno

Largura/Altura da borda

XmlLoad(oXml)
Carrega as bordas do layout personalizado pelo usurio.
oXml
Objeto do tipo XML com as personalizaes das bordas
XmlSave()
Salva as bordas no layout personalizado pelo usurio.

68 FrameWork - TReport

Relatrios do tipo listagem com TREPORT


Gera um relatrio de listagem simples utilizando a classe de impresso TReport.
A funo MPReport substitui o uso da funo ImpCadast para os relatrios de listagem
simples.
Sintaxe
MPReport ( < cReport > , < cAlias > , < cTitle > , [ cDescription ] , [ aOrder ] , [ lLoadOrder ] )
cReport
Nome do relatrio (exemplo: MATR020)
cAlias
Tabela utilizada pelo relatrio
cTitle
Ttulo do relatrio
cDescription Descrio do relatrio
aOrder
Vetor com as descries das ordens utilizadas do pelo relatrio
lLoadOrder Se verdadeiro, carrega os ndices do Dicionrio de ndices (SIX)
Exemplo
#include "protheus.ch"
//Informando o vetor com as ordens utilizadas pelo relatrio
User Function MyReport1()
MPReport("MYREPORT1","SA1","Relacao de Clientes","Este relatrio ir imprimir a relao de
clientes",{"Por Codigo","Alfabetica","Por "+RTrim(RetTitle("A1_CGC"))})
Return
//Informando para funo carregar os ndices do Dicionrio de ndices (SIX) da tabela
User Function MyReport2()
MPReport("MYREPORT2","SA1","Relacao de Clientes","Este relatrio ir imprimir a relacao de
clientes",,.T.)

FrameWork - TReport 69

ReturnExemplo de utilizao do TREPORT


User Function testep()
Local
oReport
:=
TReport():New('TITULO',"teste",/*cPerg*/,{|oReport|
__PRPrint(oReport)},,,,,,,,)
Local nI
Local oBreak
oReport:SetTotalInLine(.F.)
oReport:SetTitle('Protheus Report Utility')
oReport:SetLineHeight(30)
oReport:SetColSpace(1)
oReport:SetLeftMargin(0)
oReport:oPage:SetPageNumber(1)
oReport:cFontBody := 'Courier New'
oReport:nFontBody := 6
oReport:lBold := .F.
oReport:lUnderLine := .F.
oReport:lHeaderVisible := .T.
oReport:lFooterVisible := .T.
oReport:lParamPage := .F.
oTREPORT02:= TRSection():New(oReport,'Contas a Receber',,,,,,,,,,,,,,,,,,,)
oTREPORT02:SetTotalInLine(.F.)
oTREPORT02:SetTotalText('Contas a Receber')
oTREPORT02:lUserVisible := .T.
oTREPORT02:lHeaderVisible := .F.
oTREPORT02:SetLineStyle(.F.)
oTREPORT02:SetLineHeight(30)
oTREPORT02:SetColSpace(1)
oTREPORT02:SetLeftMargin(0)
oTREPORT02:SetLinesBefore(0)
oTREPORT02:SetCols(0)
oTREPORT02:SetHeaderSection(.T.)
oTREPORT02:SetHeaderPage(.F.)
oTREPORT02:SetHeaderBreak(.F.)
oTREPORT02:SetLineBreak(.F.)
oTREPORT02:SetAutoSize(.F.)
oTREPORT02:SetPageBreak(.F.)
oTREPORT02:SetClrBack(16777215)
oTREPORT02:SetClrFore(0)
oTREPORT02:SetBorder('')
oTREPORT02:SetBorder('',,,.T.)
oTREPORT02:aTable := {}
oTREPORT02:AddTable('SE1')
oTREPORT02:AddTable('SA1')
oTREPORT02:OnPrintLine({|| If(SE1->E1_FILIAL $ '01|02|', .T., .F.)})
TRCell():New(oTREPORT02,'__NEW__001','','',,,,,,,,,,,,)
oTREPORT02:Cell("__NEW__001"):SetName("A1_NOME")
oTREPORT02:Cell("A1_NOME"):cAlias := "SA1"
oTREPORT02:Cell("A1_NOME"):SetTitle("Nome")
70 FrameWork - TReport

oTREPORT02:Cell("A1_NOME"):SetSize(40)
oTREPORT02:Cell("A1_NOME"):SetPicture("@!")
oTREPORT02:Cell("A1_NOME"):SetAutoSize(.F.)
oTREPORT02:Cell("A1_NOME"):SetLineBreak(.F.)
oTREPORT02:Cell("A1_NOME"):SetHeaderSize(.F.)
oTREPORT02:Cell("A1_NOME"):nAlign := 1
oTREPORT02:Cell("A1_NOME"):nHeaderAlign := 1
oTREPORT02:Cell("A1_NOME"):SetClrBack(16777215)
oTREPORT02:Cell("A1_NOME"):SetClrFore(0)
oTREPORT02:Cell("A1_NOME"):cOrder := "A0"
oTREPORT02:Cell("A1_NOME"):nType := 1
oTREPORT02:Cell("A1_NOME"):cFormula := ""
oTREPORT02:Cell("A1_NOME"):cRealFormula := ""
oTREPORT02:Cell("A1_NOME"):cUserFunction := ""
oTREPORT02:Cell("A1_NOME"):lVisible := .T.
oTREPORT02:Cell("A1_NOME"):SetBorder("")
oTREPORT02:Cell("A1_NOME"):SetBorder("",,,.T.)
TRCell():New(oTREPORT02,'__NEW__002','','',,,,,,,,,,,,)
oTREPORT02:Cell("__NEW__002"):SetName("E1_PREFIXO")
oTREPORT02:Cell("E1_PREFIXO"):cAlias := "SE1"
oTREPORT02:Cell("E1_PREFIXO"):SetTitle("Prefixo")
oTREPORT02:Cell("E1_PREFIXO"):SetSize(3)
oTREPORT02:Cell("E1_PREFIXO"):SetPicture("@!")
oTREPORT02:Cell("E1_PREFIXO"):SetAutoSize(.F.)
oTREPORT02:Cell("E1_PREFIXO"):SetLineBreak(.F.)
oTREPORT02:Cell("E1_PREFIXO"):SetHeaderSize(.F.)
oTREPORT02:Cell("E1_PREFIXO"):nAlign := 1
oTREPORT02:Cell("E1_PREFIXO"):nHeaderAlign := 1
oTREPORT02:Cell("E1_PREFIXO"):SetClrBack(16777215)
oTREPORT02:Cell("E1_PREFIXO"):SetClrFore(0)
oTREPORT02:Cell("E1_PREFIXO"):cOrder := "A1"
oTREPORT02:Cell("E1_PREFIXO"):nType := 1
oTREPORT02:Cell("E1_PREFIXO"):cFormula := ""
oTREPORT02:Cell("E1_PREFIXO"):cRealFormula := ""
oTREPORT02:Cell("E1_PREFIXO"):cUserFunction := ""
oTREPORT02:Cell("E1_PREFIXO"):lVisible := .T.
oTREPORT02:Cell("E1_PREFIXO"):SetBorder("")
oTREPORT02:Cell("E1_PREFIXO"):SetBorder("",,,.T.)
TRCell():New(oTREPORT02,'__NEW__003','','',,,,,,,,,,,,)
oTREPORT02:Cell("__NEW__003"):SetName("E1_NUM")
oTREPORT02:Cell("E1_NUM"):cAlias := "SE1"
oTREPORT02:Cell("E1_NUM"):SetTitle("No. Titulo")
oTREPORT02:Cell("E1_NUM"):SetSize(9)
oTREPORT02:Cell("E1_NUM"):SetPicture("@!")
oTREPORT02:Cell("E1_NUM"):SetAutoSize(.F.)
oTREPORT02:Cell("E1_NUM"):SetLineBreak(.F.)
oTREPORT02:Cell("E1_NUM"):SetHeaderSize(.F.)
oTREPORT02:Cell("E1_NUM"):nAlign := 1
oTREPORT02:Cell("E1_NUM"):nHeaderAlign := 1
FrameWork - TReport 71

oTREPORT02:Cell("E1_NUM"):SetClrBack(16777215)
oTREPORT02:Cell("E1_NUM"):SetClrFore(0)
oTREPORT02:Cell("E1_NUM"):cOrder := "A2"
oTREPORT02:Cell("E1_NUM"):nType := 1
oTREPORT02:Cell("E1_NUM"):cFormula := ""
oTREPORT02:Cell("E1_NUM"):cRealFormula := ""
oTREPORT02:Cell("E1_NUM"):cUserFunction := ""
oTREPORT02:Cell("E1_NUM"):lVisible := .T.
oTREPORT02:Cell("E1_NUM"):SetBorder("")
oTREPORT02:Cell("E1_NUM"):SetBorder("",,,.T.)
TRCell():New(oTREPORT02,'__NEW__004','','',,,,,,,,,,,,)
oTREPORT02:Cell("__NEW__004"):SetName("E1_PARCELA")
oTREPORT02:Cell("E1_PARCELA"):cAlias := "SE1"
oTREPORT02:Cell("E1_PARCELA"):SetTitle("Parcela")
oTREPORT02:Cell("E1_PARCELA"):SetSize(1)
oTREPORT02:Cell("E1_PARCELA"):SetPicture("@!")
oTREPORT02:Cell("E1_PARCELA"):SetAutoSize(.F.)
oTREPORT02:Cell("E1_PARCELA"):SetLineBreak(.F.)
oTREPORT02:Cell("E1_PARCELA"):SetHeaderSize(.F.)
oTREPORT02:Cell("E1_PARCELA"):nAlign := 1
oTREPORT02:Cell("E1_PARCELA"):nHeaderAlign := 1
oTREPORT02:Cell("E1_PARCELA"):SetClrBack(16777215)
oTREPORT02:Cell("E1_PARCELA"):SetClrFore(0)
oTREPORT02:Cell("E1_PARCELA"):cOrder := "A3"
oTREPORT02:Cell("E1_PARCELA"):nType := 1
oTREPORT02:Cell("E1_PARCELA"):cFormula := ""
oTREPORT02:Cell("E1_PARCELA"):cRealFormula := ""
oTREPORT02:Cell("E1_PARCELA"):cUserFunction := ""
oTREPORT02:Cell("E1_PARCELA"):lVisible := .T.
oTREPORT02:Cell("E1_PARCELA"):SetBorder("")
oTREPORT02:Cell("E1_PARCELA"):SetBorder("",,,.T.)
TRCell():New(oTREPORT02,'__NEW__005','','',,,,,,,,,,,,)
oTREPORT02:Cell("__NEW__005"):SetName("E1_CLIENTE")
oTREPORT02:Cell("E1_CLIENTE"):cAlias := "SE1"
oTREPORT02:Cell("E1_CLIENTE"):SetTitle("Cliente")
oTREPORT02:Cell("E1_CLIENTE"):SetSize(6)
oTREPORT02:Cell("E1_CLIENTE"):SetPicture("@!")
oTREPORT02:Cell("E1_CLIENTE"):SetAutoSize(.F.)
oTREPORT02:Cell("E1_CLIENTE"):SetLineBreak(.F.)
oTREPORT02:Cell("E1_CLIENTE"):SetHeaderSize(.F.)
oTREPORT02:Cell("E1_CLIENTE"):nAlign := 1
oTREPORT02:Cell("E1_CLIENTE"):nHeaderAlign := 1
oTREPORT02:Cell("E1_CLIENTE"):SetClrBack(16777215)
oTREPORT02:Cell("E1_CLIENTE"):SetClrFore(0)
oTREPORT02:Cell("E1_CLIENTE"):cOrder := "A4"
oTREPORT02:Cell("E1_CLIENTE"):nType := 1
oTREPORT02:Cell("E1_CLIENTE"):cFormula := ""
oTREPORT02:Cell("E1_CLIENTE"):cRealFormula := ""
oTREPORT02:Cell("E1_CLIENTE"):cUserFunction := ""
72 FrameWork - TReport

oTREPORT02:Cell("E1_CLIENTE"):lVisible := .T.
oTREPORT02:Cell("E1_CLIENTE"):SetBorder("")
oTREPORT02:Cell("E1_CLIENTE"):SetBorder("",,,.T.)
TRCell():New(oTREPORT02,'__NEW__006','','',,,,,,,,,,,,)
oTREPORT02:Cell("__NEW__006"):SetName("E1_LOJA")
oTREPORT02:Cell("E1_LOJA"):cAlias := "SE1"
oTREPORT02:Cell("E1_LOJA"):SetTitle("Loja")
oTREPORT02:Cell("E1_LOJA"):SetSize(1)
oTREPORT02:Cell("E1_LOJA"):SetPicture("@!")
oTREPORT02:Cell("E1_LOJA"):SetAutoSize(.F.)
oTREPORT02:Cell("E1_LOJA"):SetLineBreak(.F.)
oTREPORT02:Cell("E1_LOJA"):SetHeaderSize(.F.)
oTREPORT02:Cell("E1_LOJA"):nAlign := 1
oTREPORT02:Cell("E1_LOJA"):nHeaderAlign := 1
oTREPORT02:Cell("E1_LOJA"):SetClrBack(16777215)
oTREPORT02:Cell("E1_LOJA"):SetClrFore(0)
oTREPORT02:Cell("E1_LOJA"):cOrder := "A5"
oTREPORT02:Cell("E1_LOJA"):nType := 1
oTREPORT02:Cell("E1_LOJA"):cFormula := ""
oTREPORT02:Cell("E1_LOJA"):cRealFormula := ""
oTREPORT02:Cell("E1_LOJA"):cUserFunction := ""
oTREPORT02:Cell("E1_LOJA"):lVisible := .T.
oTREPORT02:Cell("E1_LOJA"):SetBorder("")
oTREPORT02:Cell("E1_LOJA"):SetBorder("",,,.T.)
TRPosition():New(oTREPORT02,'SA1',1,{ || xFilial()+SE1->(E1_CLIENTE+E1_LOJA) } )
oBreak
:=
TRBreak():New(oTREPORT02,{
||
oTREPORT02:Cell('E1_CLIENTE'):uPrint+oTREPORT02:Cell('E1_LOJA'):uPrint },'Sub-Total',.F.)
TRFunction():New(oTREPORT02:Cell('E1_CLIENTE'),,
'COUNT',oBreak
,,,,.F.,.F.,.F.,
oTREPORT02)
oTREPORT02:LoadOrder()
oReport:PrintDialog()
Return

Informaes Tcnicas
Tabelas Utilizadas
Rotinas Envolvidas

REPORT01-TReport

Sistemas
Operacionais

Windows/Linux

Nmero do Plano

00000026372/2009

FrameWork - TReport 73