Você está na página 1de 71

TREPORT

Produto Data da criao Pas(es) FNC : Microsiga Protheus, verso 10 18/01/10 : Brasil : 00000026652/2009 Chamado Data da reviso Banco de Dados : SCFHBT 29/07/13. : 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 __THINLINE__ - Imprime uma linha fina
FrameWork - TReport 1

aBmps aFontSize aFunction

Array com as imagens dos grficos enviadas por email. Elemento: 1- Caminho da imagem. Array com as fontes do sistema. Elementos: 1-Fonte, 2-Tamanho, 3- Tamanho 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. Aponta que as Informaes sero impressas em negrito. Aponta que o relatrio foi cancelado.

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 lBold lCanceled

2 FrameWork - TReport

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 nBorderDiff nClrBack nClrFore nCol nColSpace nDevice nEnvironment nFontBody nHeaderDiff nLeftMargin

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,3-email,4Planilha e 5-Html. 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.
FrameWork - TReport 3

nLineHeight nLogPxYDiff nLogPxXDiff 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 oPage oParamPage oPrint oReport oXlsCell oXlsRow oXlsStyles oXlsWorksheet uParam

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 relatrio. Objeto TRPage com a configurao da pgina de impresso. Objeto TRParamPage com a configurao da pgina de parmetros. Objeto TMSPrinter. 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.

4 FrameWork - TReport

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) 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.

FrameWork - TReport 5

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. 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()
6 FrameWork - TReport

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() 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()
FrameWork - TReport 7

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 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)

8 FrameWork - TReport

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. 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.
FrameWork - TReport 9

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

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 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

10 FrameWork - TReport

lPageTInLine Imprime totalizador da pgina em linha lTPageBreak Quebra pgina aps a impresso do totalizador nColSpace Espaamento entre as colunas Retorno 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

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. lHeaderDiff 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
FrameWork - TReport 11

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. 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

12 FrameWork - TReport

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. 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


FrameWork - TReport 13

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 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 Linha para impresso da imagem Coluna para impresso da imagem Nome da imagem, podendo ser path de um arquivo ou resource compilado no repositrio

14 FrameWork - TReport

nWidth nHeight nRaster

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

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)
FrameWork - TReport 15

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. uCustomTextTipo Array: 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 __THINLINE__ - Imprime uma linha fina Tipo Bloco de cdigo: Contendo Informaes para gerao do array descrito acima 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 5Html. 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.
16 FrameWork - TReport

nLeftMargin Tamanho da margem esquerda SetLineHeight(nLineHeight) Define a altura da linha na impresso. 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. lFooterBefore Imprime 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)
FrameWork - TReport 17

Define a margem esquerda em pixel do relatrio. nPxLeftMargin Tamanho da margem esquerda em pixel

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()
18 FrameWork - TReport

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 cName Nome do estilo nAlign Tipo de alinhamento. 1-Esquerda, 2-Centralizado e 3-Direita
FrameWork - TReport 19

aFont aBorder lWrapText cType

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.

20 FrameWork - TReport

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 aPosCell aTable aTCFields 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 TROrder. 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 na 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. Elemento: 1Array com as sees filhas. Elemento: 1-Objeto TRSection. Bloco de cdigo utilizado na montagem da query atravs de compilao em tempo real. Bloco de cdigo utilizado na validao do registro. Bloco de cdigo com os tratamentos a serem realizados antes da impresso do registro da seo.
FrameWork - TReport 21

aTCMemo query. aTCTables aLoadCells aUserFilter aNoFilter Tabela. aSection bCompQuery bLineCondition bOnPrintLine

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 nCols nIdxOrder

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. Quantidade de colunas a serem impressas. Indice utilizado na impresso da seo.

22 FrameWork - TReport

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

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.

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. Retorno Se verdadeiro, ajusta automaticamente a impresso das clulas da seo

BeginQuery()
FrameWork - TReport 23

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 Retorno Campos a serem considerados na query

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


24 FrameWork - TReport

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. 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.

FrameWork - TReport 25

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

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 GetOrder() ndice utilizado pela tabela principal

26 FrameWork - TReport

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() 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

FrameWork - TReport 27

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 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

28 FrameWork - TReport

New(oParent,cTitle,uTable,aOrder,lLoadCells,lLoadOrder,uTotalText,lTotalInLine,lHead erPage,lHeaderBreak,lPageBreak,lLineBreak,nLeftMargin,lLineStyle,nColSpace,lAutoSi ze,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 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

FrameWork - TReport 29

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

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
30 FrameWork - TReport

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

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
FrameWork - TReport 31

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) 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.

32 FrameWork - TReport

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) 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. lParentRecnoUtiliza o registro da seo pai SetPercentage(nPercentage)
FrameWork - TReport 33

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, 3- Tamanho e 4-Decimal 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()
34 FrameWork - TReport

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.

FrameWork - TReport 35

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: 1- Contedo. Exemplo: 1=Sim. aFormatCond Array 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. nRowDiff Quantidade de linhas a serem consideradas na impresso das bordas. nSize Tamanho da clula. nType Tipo da clula. 1-Celula, 2-Formula, 3-Acumulador ou 4-Clula de usurio. nUserValue Auxilia no controle do totalizador do tipo MAX e MIN.
36 FrameWork - TReport

nUserCount nLevel uValue uPrint oFontBody MTODOS

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.

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() Habilita a impresso da clula. Enabled() Retorna se a clula est habilitada para impresso.
FrameWork - TReport 37

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. Retorno Tamanho do cabealho

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

38 FrameWork - TReport

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,cHead erAlign,lCellBreak,nColSpace,lAutoSize,nClrBack,nClrFore,lBold) Mtodo construtor da classe TRCell. 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.

FrameWork - TReport 39

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 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.
40 FrameWork - TReport

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. 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

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

FrameWork - TReport 41

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 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. nRowDiff Quantidade de linhas SetSize(nSize,lPixel) Define o tamanho da clula. nSize Tamanho da clula lPixel Aponta se o tamanho calculado em pixel

42 FrameWork - TReport

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.

FrameWork - TReport 43

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 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 uFormula 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 Objeto do tipo TRPosition 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.

lSeek Retorno

SetFormula(uFormula,lSeek)
44 FrameWork - TReport

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

FrameWork - TReport 45

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. lSectionValue Se 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. oTotal Objeto da classe TRFunction ou TRCollection. uFormula Tipo Caracter: Expresso ADVPL para macro execuo.
46 FrameWork - TReport

uLastValue uPage uReport uSection MTODOS

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.

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. Retorno Se verdadeiro, o totalizador ser impresso

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


FrameWork - TReport 47

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() Retorno o ltimo valor atualizado no totalizador. Retorno ltimo valor atualizado no totalizador

GetWidth(lAutoWidth) Retorna a largura da clula.


48 FrameWork - TReport

lAutoWidth Retorno

Aponta que a largura ser calculada automaticamente 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,lEndReport,l EndPage,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

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.
FrameWork - TReport 49

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 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.
50 FrameWork - TReport

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

FrameWork - TReport 51

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 uTitle Ttulo da quebra lTotalInLine Se verdadeiro, aponta que os totalizadores sero impressos em linha
52 FrameWork - TReport

cName lPageBreak Retorno

Nome e identificador da quebra Se verdadeiro, aponta salta de pgina aps a quebra 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. bOnPrintTotal Bloco 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

FrameWork - TReport 53

TRORDER Ordena a seo de um relatrio que utiliza a classe TReport. Esta classe herda as propridades e mtodos da classe TRPOSITION. Propriedades cTitle MTODOS Execute() Ordena a tabela. GetOrder() Retorna a ordem da tabela. Retorno Posio da ordem no dicionrio de indices - SIX Ttulo da ordem

New(oParent,uOrder,cTitle,cAlias) Mtodo construtor da classe TROrder. oParent uOrder cTitle cAlias Retorno 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 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

54 FrameWork - TReport

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

FrameWork - TReport 55

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. lFooterBefore Aponta que o rodap ser impresso antes dos totalizadores. lFooterDiff 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. lPageDiff 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. lTotalDiff Aponta que ser considerada a quantidade de linhas a serem impressos no rodap no clculo da altura da pgina. nFooterDiff 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. nTotalDiff 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 FooterDiff() Retorna a quantidade de linhas do rodap considerando a altura da linha.

56 FrameWork - TReport

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 Objeto da classe TRSection que a pgina pertence uTotalText Texto do totalizador da pgina lTotalInLine 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() Retorna a largura da pgina. Retorno Largura da pgina

PaperSize() Retorna o tamanho do papel selecionado.


FrameWork - TReport 57

Retorno

Tamanho do papel

PrintPageFooter(nDiff) Imprime o rodap da pgina. nDiff Quantidade de linhas reservadas para o rodap PrintTotal(nDiff,lSetPos) Imprime os totalizadores da pgina. nDiff 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. lFooterBefore Imprime rodap antes da impresso dos totalizadores SetPageNumber(nPage) Define o nmero da pgina atual. nPage Nmero da pgina SetPaperSize(nPaperSize) Define o tamanho da pgina. nPaperSize Tamanho da pgina

58 FrameWork - TReport

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

FrameWork - TReport 59

TRPARAMPAGE Imprime pgina de parmetros para relatrio que utiliza a classe TREPORT. Este mtodo herda as propridades e mtodos da classe TRSECTION. Propriedades nSize MTODOS New(oParent,cParam) Mtodo construtor da classe TRParamPage. oParent cParam Retorno Objeto da classe TREPORT Grupo de perguntas Objeto da classe TRParamPage Tamanho da clula

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

60 FrameWork - TReport

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 Regra com o valor acumulado. Tipo Caracter: Expresso ADVPL para macro execuo.
FrameWork - TReport 61

uContent

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,oPare nt,bCondition,uContent) Mtodo constructor da classe TRCollection. cName cFunction oBreak impresso uTitle 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

Ttulo do acumulador. Texto a ser impresso no formato caracter ou bloco de cdigo 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 Retorno Objeto da classe TRCollection

Reset() Inicializa o acumulador atual. ResetPage() Inicializa o acumulador da pgina. ResetReport() Inicializa o acumulador do relatrio.

62 FrameWork - TReport

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() Salva o acumulador do tipo collection no layout personalizado pelo usurio.

FrameWork - TReport 63

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. nRowDiff 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. Retorno Estilo da borda

64 FrameWork - TReport

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 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 Objeto da classe TRBorder

nColor Retorno

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 7 Borda da seo SetRow(nRow)
FrameWork - TReport 65

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. nRowDiff 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.

66 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.) Return

FrameWork - TReport 67

Exemplo 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") oTREPORT02:Cell("A1_NOME"):SetSize(40) oTREPORT02:Cell("A1_NOME"):SetPicture("@!")
68 FrameWork - TReport

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 oTREPORT02:Cell("E1_NUM"):SetClrBack(16777215) oTREPORT02:Cell("E1_NUM"):SetClrFore(0) oTREPORT02:Cell("E1_NUM"):cOrder := "A2" oTREPORT02:Cell("E1_NUM"):nType := 1
FrameWork - TReport 69

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 := "" 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")
70 FrameWork - TReport

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 Sistemas Operacionais Nmero do Plano REPORT01-TReport Windows/Linux 00000026372/2009

FrameWork - TReport 71