Download - TREPORT Guia Completo

Transcript
  • TREPORT

    Produto : Microsiga Protheus, verso 10 Chamado : SCFHBTData da criao

    18/01/10 Data da reviso

    29/11/11.

    Pas(es) : Brasil Banco de Dados

    : Todos

    FNC : 00000026652/2009

    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.

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

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

    TRBreak.aCollection Array com todos totalizadores do tipo TRCollection do relatrio.

    Elemento: 1-Objeto TRCollection.aCustomText 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 Array com as imagens dos grficos enviadas por email. Elemento: 1- Caminho da imagem.

    aFontSize Array com as fontes do sistema. Elementos: 1-Fonte, 2-Tamanho, 3- Tamanho em pixel.

    aFunction Array com todos totalizadores do tipo TRFunction do relatrio. Elemento: 1-Objeto TRFunction.

    aHeaderPage Array com todas as sees que imprimem cabealho no topo da pgina.aSection Array com todas as sees do relatrio. Elemento: 1-Objeto TRSection.bAction Bloco de cdigo executado quando o usurio confirmar a impresso do relatrio.bCustomText Bloco de cdigo para atualizao da propriedade aCustomText.bOnNumberPage Bloco de cdigo para atualizao do nmero da pgina atual.bOnPageBreak Bloco de cdigo para tratamentos na inicializao de cada pgina.bTotal Compatibilidade No utilizado.bTotalCanPrint Bloco de cdigo utilizado para validar a impresso dos totalizadores.bTotalPos Bloco de cdigo utilizado para localizar a posio do totalizador a ser impresso.bTotalPrint Bloco de cdigo utilizado para imprimir os totalizadores.bTotalReset Bloco de cdigo utilizado para limpar os totalizadores.bTotalRSize Bloco de cdigo utilizado para definir o tamanho das Collections.bTotalText Bloco de cdigo utilizado na impresso do texto do totalizador.cClassName Nome da classe. Exemplo: TREPORT.cDate Data da impresso do relatrio.cDescription Descrio do relatrio.cDir Diretrio selecionado para gerao do relatrio.cEmail E-mail utilizado na gerao do relatrio via e-mail.cFontBody Fonte definida para impresso do relatrio.cFile Nome do arquivo que ser gerado.cID ID do component. Exemplo: TREPORT.cLogo Logo da empresa/filial.cMsgPrint Mensagem apresentada durante a gerao do relatrio.cPrinterName Nome da impressora selecionada para impresso.cReport Nome do relatrio. Exemplo: MATR010.cTime Hora da impresso do relatrio.cTitle Ttulo do relatrio.cRealTitle Ttulo padro do relatrio definido pelo criador do relatrio.cUserObs Observao do usurio.cXlsTHStyle Estilo do cabealho padro utilizado na gerao da planilha.cXlsSHStyle Estilo do cabealho utilizado na gerao da planilha.cXmlDefault Arquivo XML contendo Informaes do relatrio padro.cXlsFile Nome do arquivo que ser gerado em planilha.lBold Aponta que as Informaes sero impressas em negrito.lCanceled Aponta que o relatrio foi cancelado.lClrBack Define que a cor de fundo dever ser atualizada.

    2 FrameWork - TReport

  • lClrFore Define que a cor da fonte dever ser atualizada.lDisableOrientation Orientao (Retrato/Paisagem) no poder ser modificada.lDynamic Aponta que o relatrio dinmico, permitindo imprimir as sees conforme a

    ordem de impresso selecionada.lEdit Relatrio no poder ser configurado pelo usurio.lEnabled Impresso do relatrio foi desabilitada.lEmptyLineExcel Suprime as linhas em branco e os totais na gerao em planilha.lFooterVisible Habilita a impresso do rodap.lFunctionBefore Imprime os totalizadores do tipo TRFunction antes dos totalizadores do tipo

    TRCollecions.lHeaderVisible Habilita a impresso do cabealho.lItalic Aponta que as informaes sero impressas em itlico.lOnPageBreak Cabealho das sees impressas aps a quebra de pgina.lPageBreak Quebra pgina antes da impresso dos totalizadores.lParamPage Existe parmetros para impresso.lParamReadOnly Parmetros no podero ser alterados pelo usurio.lPixColSpace Espaamento das colunas sero calculadas em pixel.lPreview Visualizao do relatrio antes da impresso fsica.lPrinting Relatrio esta em processo de impresso.lPrtParamPage Aponta que sero impressos os parmetros do relatrio.lStartPage Aponta que uma nova pgina dever se inicializada.lTotalInLine Imprime as clulas no formato linha.lTPageBreak Quebra pgina aps a impresso do totalizador.lUnderline Aponta que as Informaes sero impressas sublinhadas.lUserAccess Valida permisso para gerao dos grficos do relatrio.lUserInfo Imprime Informaes do usurio na pgina de parmetros.lUserFilter Permite a utilizao de filtros na personalizao do relatrio.lXlsHeader Imprime informaes do cabealho padro na gerao em planilha.lNoPrint Aponta que nenhuma informao foi impressa.lXmlEndRow Aponta fim de linha na gerao em planilha.lXlsParam Aponta a existncia de parmetros na gerao em planilha.lEndReport Imprime total geral do relatrio.nBorderDiff Tamanho da borda utilizado para clculo da altura de uma linha.nClrBack Cor de fundo.nClrFore Cor da fonte.nCol Coluna posiciona na impresso.nColSpace Espaamento entre as colunas.nDevice Tipo de impresso selecionado. Opes: 1-Arquivo,2-Impressora,3-email,4-

    Planilha e 5-Html.nEnvironment Ambiente selecionado. Opes: 1-Server e 2-Cliente.nFontBody Tamanho da fonte definida para impresso do relatrio.nHeaderDiff Tamanho do cabealho utilizado para clculo do altura da pgina.nLeftMargin Tamanho da margem a esquerda.nLineHeight Altura da linha.

    FrameWork - TReport 3

  • nLogPxYDiff Utilizado no clculo para gerao da visualizao do relatrio.nLogPxXDiff Utilizado no clculo para gerao da visualizao do relatrio.nMeter Posio da rgua de progresso.nOrder Ordem de impresso selecionada.nPageWidth Largura da pgina.nPxColSpace Espaamento da coluna em pixel.nPxBase Tamanho da base em pixel.nPxDate Tamanho da sistema operacional em pixel.nPxLeftMargin Tamanho da margem a esquerda em pixel.nPxPage Tamanho da numerao da pgina em pixel.nPxTitle Tamanho do ttulo em pixel.nRemoteType Aponta de que forma o Server est gerando o relatrio. Opes: 1-Sem

    Remote, 2-Remote Delphi,3-Remote Windows e 4-Remote Linux.nRow Linha posicionada na impresso.nXlsCol Coluna posicionada na gerao em planilha.nXlsRow Linha posicionada na gerao em planilha.nXlsStyle Estilo utilizado na gerao em planilha.nExcel Nmero do arquivo na gerao em planilha.nColumnPos Posicionamento no arquivo gerado em planilha.oBrdBottom Objeto TRBorder com a borda Inferior .oBrdLeft Objeto TRBorder com a borda esquerda.oBrdRight Objeto TRBorder com a borda direita.oBrdTop Objeto TRBorder com a borda superior.oHBrdBottom Objeto TRBorder com a borda Inferior no cabealho.oHBrdLeft Objeto TRBorder com a borda esquerda no cabealho.oHBrdRight Objeto TRBorder com a borda direita no cabealho.oHBrdTop Objeto TRBorder com a borda superior no cabealho.oClrBack Objeto TBrush com a cor de Fundo.oFontBody Objeto TFont com a fonte do relatrio.oFontHeader Objeto TFont com a fonte do cabealho.oMeter Objeto TMeter com a rgua de progresso.oMsg Objeto TSAY com a mensagem apresentada durante a impresso do relatrio.oPage Objeto TRPage com a configurao da pgina de impresso.oParamPage Objeto TRParamPage com a configurao da pgina de parmetros.oPrint Objeto TMSPrinter.oReport Componente de impresso.oXlsCell Compatibilidade No utilizado.oXlsRow Compatibilidade No utilizado.oXlsStyles Compatibilidade No utilizado.oXlsWorksheet Compatibilidade No utilizado.uParam 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 TRFunctionoParent 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-TodaslHeader 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 caixanCol Coluna no qual inicia o desenho da caixanBottom Linha no qual finaliza o desenho da caixanRight Coluna no qual finaliza o desenho da caixaoPen Objeto da classe TPen

    Cancel()Retorna se o usurio cancelou a impresso do relatrio.

    CancelPrint()

    FrameWork - TReport 5

  • 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 clculocFont Fonte do relatrionFontSize 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 impressaslLine 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()Desabilita a impresso do relatrio.

    6 FrameWork - TReport

  • 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 TRBreaklPrintHeader Imprime cabealho da seooSection 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 finaloBrush Objeto da classe TBrush

    Finish()Finaliza a impresso do relatrio, imprime os totalizadores, fecha as querys e ndices temporrios, entre outros tratamentos do componente.No necessrio executar o mtodo Finish se for utilizar o mtodo Print, j que este faz o controle de inicializao e finalizao da impresso.

    FreeAllObjs()Elimina os objetos da memria no servidor.

    FrameWork - TReport 7

  • 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 clculonFontSize Tamanho da fontelBold Aponta se a fonte negritalItalic Aponta se a fonte itlicalUnderline Aponta se a fonte sublinhada

    Retorno Array com informaes do tamanho da fonte. Elementos: 1-Fonte, 2-Tamanho, 3-Tamanho 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 pixellForce 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 linhanLeft Coluna no qual inicia o desenho da linhanBottom Linha no qual finaliza o desenho da linhanRight Coluna no qual finaliza o desenho da linhaoPen 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 Nome do relatrio. Exemplo: MATR010cTitle Ttulo do relatriouParam Parmetros do relatrio cadastrado no Dicionrio de Perguntas (SX1)

    Tambm pode ser utilizado bloco de cdigo para parmetros customizados.bAction Bloco de cdigo que ser executado quando o usurio confirmar a impresso do relatriocDescription Descrio do relatriolLandscape Aponta a orientao de pgina do relatrio como paisagemuTotalText Texto do totalizador do relatrio, podendo ser caracter ou bloco de cdigolTotalInLine Imprime as clulas em linhacPageTText Texto do totalizador da pginalPageTInLine Imprime totalizador da pgina em linha

    10 FrameWork - TReport

  • lTPageBreak Quebra pgina aps a impresso do totalizadornColSpace 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 pginalOnPageBreak 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 seolFinish 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 seolPage 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 impressonRow Linha em que o texto ser impresso. Caso no informada, ser considerada a

    linha posicionada na impressonCol Coluna em que o texto ser impresso. Caso no informada, ser considerada a

    coluna posicionada na impressonClrText Cor do textocStyle Utilizado internamente para gerao do relatrio em planilhanCells 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 cabealhonCells 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 Linha para impresso do textonCol Coluna para impresso do textocText Texto que sera impressooFont Objeto da classe TFontnWidth Tamanho em pixel do texto para impressonClrText Cor da fontenBkMode Compatibilidade No utilizadonPad Compatibilidade No utilizado

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

    nRow Linha para impresso da imagemnCol Coluna para impresso da imagemcBitmap Nome da imagem, podendo ser path de um arquivo ou resource compilado no

    repositrionWidth Largura da imagem

    14 FrameWork - TReport

  • nHeight Altura da imagemnRaster Compatibilidade No utilizado

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

    uSection Tipo Caracter: Ttulo da seoTipo 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-TodasnWeight Largura da bordanColor Cor da bordalHeader Aponta se borda de cabealho

    Retorno Objeto do tipo TRBorder

    SetClrBack(nClrBack)Define a cor de fundo do relatrio.nClrBack Nmero da cor de fundo no format RGB

    SetClrFore(nClrFore)Define a cor da fonte do relatrio.nClrFore Nmero da cor da fonte no format RGB

    SetCol(nCol)Define a coluna de impresso.

    SetColSpace(nColSpace,lPixel)Define o espaamento entre as colunas.

    FrameWork - TReport 15

  • nColSpace Tamanho do espaamentolPixel 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 5-Html.nDevice Tipo de impresso selecionada

    SetDynamic()Define que o relatrio ser do tipo dinmico, no qual, permite imprimir as sees conforme a ordem de impresso selecionada.

    SetEdit(lEdit)Define se o relatrio poder ser configurado pelo usurio no caso de verdadeiro.

    SetEnvironment(nEnv)Define o ambiente para impresso. nEnv Ambiente: 1-Server e 2-Cliente

    SetFile()Define o nome do arquivo temporrio utilizado para gerao dos relatrios.

    SetLandscape()Define orientao de pgina do relatrio como paisagem.

    SetLeftMargin(nLeftMargin)Define a margem esquerda do relatrio.nLeftMargin Tamanho da margem esquerda

    16 FrameWork - TReport

  • 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 rodapbPageFooter 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)Define a margem esquerda em pixel do relatrio.

    FrameWork - TReport 17

  • 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 clulalIndex Controla numerao de colunas na planilhanCol Coluna posicionadacStyle Estilo da clulanCells Quantidade de clulas utilizadas para a informao ( Mesclar )nWidth Largura da clulacType Tipo de dado. C-Caracter, N-Numrico, L-Lgico

    XlsNewCol(nCol,nWidth)Adiciona uma coluna na gerao em planilha.nCol Coluna posicionadanWidth 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 estilocName Nome do estilonAlign Tipo de alinhamento. 1-Esquerda, 2-Centralizado e 3-Direita

    FrameWork - TReport 19

  • aFont Array contendo a fonte. Elementos: 1-Fonte e 2-TamanhoaBorder Array contendo a borda. Elementos: 1-Bottom,Left,Right,Center e 2=Largura

    da bordalWrapText Aponta quebra de linha automticacType 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 Array contendo as clulas da seo. Elemento: 1-Objeto TRCell.aCellPos Array contendo as clulas reposicionadas da seo. Elemento: 1-Objeto

    TRCell.aFilter Array contendo os filtros da seo: Elementos: 1-Tabela, 2-Filtro, 3-

    Chave de ndice, 4-Ordem.aOrder Array contendo as ordens do relatrio: Elementos: 1-Objeto TROrder.aPosCell Array com as clulas da seo na ordem de impresso.aTable Array com as tabelas utilizadas na seo.aTCFields 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.

    aTCMemo Array com os campos do tipo de dados Memo a serem desconsiderados na query.aTCTables Array com as tabelas utilizadas na query.aLoadCells Array com as tabelas que executaram o carregamento de Informaes das

    clulas atravs do Dicionrio de Dados (SX3).aUserFilter Array com os filtros de usurios: Elementos: 1-Tabela, 2-Expresso ADVPL,

    3-Expresso SQL e 4-Filtro adicionado na query principal.aNoFilter Array com as tabelas que no podero aplicar filtros de usurio. Elemento: 1-Tabela.aSection Array com as sees filhas. Elemento: 1-Objeto TRSection.bCompQuery Bloco de cdigo utilizado na montagem da query atravs de compilao em

    tempo real.bLineCondition Bloco de cdigo utilizado na validao do registro.bOnPrintLine Bloco de cdigo com os tratamentos a serem realizados antes da impresso

    do registro da seo.

    FrameWork - TReport 21

  • bParentFilter Bloco de cdigo com a regra para sada do loop.bParentParam Bloco de cdigo com a expresso que retorna o valor que enviado como

    parmetro para a regra de sada do loop da seo.bRealQuery Bloco de cdigo utilizado para montar a query da seo.cAlias Tabela principal da seo.cAdvplExp Filtro do usurio em forma de expresso ADVPL.cDynamicKey Chave que identifica a seo na impresso dinmica.cFilter Filtro da tabela principal da seo.cIdxFile Indice temporrio utilizado na filtro da tabela principal.cName Nome da seo.cQuery Query da seo com os tratamentos de adio de campos e filtros.cRealFilter Filtro da tabela principal da seo.cRealQuery Query sem os tratamentos de adio de campos e filtros.cCharSeparator Caracter que separa as Informaes na impresso em linha.cSqlExp Filtro do usurio em forma de expresso SQL.lAutoSize Ajusta o tamanho das clulas para que caiba em uma pgina.lCellPos Ajusta o cabealho das clulas.lChangeQuery Tratamento para utilizar a query em diversos Banco de Dados.lChkFilters Compatibilidade No utilizado.lEdit Aponta se a seo poder ser personalizada pelo usurio.lEditCell Aponta se o usurio poder personalizar as clulas da seo.lForceLineStyle Fora a impresso em linha.lHeaderBreak Imprime cabealho da seo na quebra de impresso (TRBreak).lHeaderPage Imprime cabealho da seo no topo da pgina.lHeaderSection Imprime cabealho da seo na quebra de seo.lIdxOrder Utiliza ordem do Dicionrio de ndices (SIX) na impresso da seo.lInit Aponta que a impresso da seo no foi iniciada.lInitFilter Aponta que os filtros da seo no foram iniciados.lLineBreak Aponta que a impresso da seo quebra linhas no caso das colunas no

    couberem em uma linha.lLineStyle Impresso em linhas.lSkipped Aponta que a seo saltou o registro da seo pai.lParentQuery Utiliza Informaes da query da seo pai para impresso dos registros.lParentRecno Utiliza Informaes do registro da seo pai.lPrintHeader Aponta impresso do cabealho da seo.lPrintLayout Aponta que impresso de visualizao do layout.lReadOnly Define se o usurio pode personalizar informaes da seo.lTCFields Define que dever ser efetuado tratamento na query de campos com tipo de

    dado diferente de caracter.lVisible Aponta que a seo ser impressa.lUserVisible Aponta que a seo ser impressa na personalizao do usurio.lCellUseQuery Utiliza query na impresso de clulas da seo.nCols Quantidade de colunas a serem impressas.nIdxOrder Indice utilizado na impresso da seo.

    22 FrameWork - TReport

  • nLineCount Quantidade de linhas a serem impressas para o registro.nLinesBefore Quantidade de linhas a serem saltadas antes da impresso da seo.nOrder Ordem de impresso da seo.nPercentage Percentual da largura da pgina a ser considerada.nRow Linha posicionada na impresso da seo.nWidth Largura da seo.oCBrdBottom Objeto TRBorder com a borda Inferior.oCBrdLeft Objeto TRBorder com a borda esquerda.oCBrdRight Objeto TRBorder com a borda direita.oCBrdTop Objeto TRBorder com a borda superior.oParent Seo pai.oRelation Objeto TRRelation com informaes do relacionamento entre as sees.

    MTODOS

    AddCell(oCell)Adiciona a clula na propriedade aCell da seo.oCell Objeto TRCell

    AddOrder(oOrder)Adiciona a ordem da seo na propriedade aOrder.oOrder Objeto TROrder

    AddPosCell(oCell)Adiciona a clula, na sequncia de impresso da seo, na propriedade aPosCell.oCell Objeto TRCell

    AddTable(cTable)Adiciona a tabela, que ser utilizada na impresso da seo, na propriedade aTable.cTable Tabela utilizada na impresso da seo

    Alias()Retorna o alias da tabela utilizado pela query da seo, definida pelo Embedded SQL com os mtodos BeginQuery e EndQuery.

    Retorno Alias da tabela posicionada

    AutoSize()Retorna se a impresso da seo ser ajustada automaticamente.

    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-TodaslHeader 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 queryaMemo Campos memo da tabelalEnabled Define se considera as clulas selecionadas pelo usurioaHasArea Valida se as tabelas utilizadas na query so padro do sistemanTotCell Quantidade maxima de clulas a serem consideradascSelect 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 verificadasaMemo 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 RangeTipo 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 ndice utilizado pela tabela principal

    GetOrder()

    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.cTableTabela que ser utilizada para carregar os campos. Se no for informada ser utilizada

    todas as tabelas informadas no mtodo NewaCells Array com nomes dos campos que sero carregados como clulas da seolDisableAll Desabilita todas as clulaslMarkAsUser 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,lHeaderPage,lHeaderBreak,lPageBreak,lLineBreak,nLeftMargin,lLineStyle,nColSpace,lAutoSize,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 Objeto da classe TReport ou TRSection que ser o pai da classe TRSectioncTitle Ttulo da seouTable Tipo Caracter: Tabela que ser utilizada pela seo

    Tipo Array: Lista de tabelas que sero utilizadas pela seoaOrder Array contendo a descrio das ordens. Elemento: 1-Descrio, como por exemplo,

    Filial+CdigolLoadCells Carrega os campos do Dicionrio de Campos (SX3) das tabelas da seo como clulaslLoadOrder Carrega os ndices do Dicionrio de ndices (SIX)uTotalText Texto do totalizador da seo, podendo ser caracter ou bloco de cdigolTotalInLine Imprime as clulas em linhalHeaderPage Cabealho da seo no topo da pginalHeaderBreak Imprime cabealho na quebra da seolPageBreak Imprime cabealho da seo na quebra de pginalLineBreak Quebra a linha na impresso quando as Informaes no caber na pginanLeftMargin Tamanho da margem esquerda da seolLineStyle Imprime a seo em linhanColSpace Espaamento entre as colunaslAutoSize Ajusta o tamanho das clulas para que caiba em uma pginacCharSeparator Define o caracter que separa as Informaes na impresso em linhanLinesBefore Aponta a quantidade de linhas a serem saltadas antes da impresso da seonCols Quantidade de colunas a serem impressasnClrBack Cor de fundo das clulas da seonClrFore Cor da fonte das clulas da seonPercentage 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 clulaslVisible Aponta que a seo est habilitada para impressocStyle Utilizado internamente para gerao do relatrio em planilhalExcel 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 parmetroslExcel 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-TodasnWeight Largura da bordanColor Cor da bordalHeader 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 ADVPLcIndexKey Chave de ndicecOrdem Ordem para a criao do ndicecAlias Tabela a ser filtradanIdxOrder 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 loopbParam 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 querycQuery Query da seolChangeQuery Se verdadeiro, realiza tratamentos para outros bancos de dadosaParam Parmetros do tipo Range a serem utilizados no filtro da queryaTCFields 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 seescAlias Tabela utilizada pela frmulauOrder Ordem utilizada na tabela

    Tipo Caracter: Nickname da ordem de ndiceTipo 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

  • TRCELLClula 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.lUserEnabledAponta 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.nHeaderPixelTamanho 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 Contador de itens impressos quando utilizado totalizadores.nLevel Nvel de campo da clula.uValue Valor da clula a ser impresso.uPrint Contedo da clula a ser impresso.oFontBody Objeto TFont com Informaes da fonte da clula.

    MTODOS

    CanPrint()Valida se a clula pode ser impressa.

    Col()Retorna a coluna da clula.

    ColPos()Retorna a coluna que a clula ser impressa pelo mtodo PrintLine da seo que a clula pertence.Retorno Coluna da clula na impresso

    CellBreak()Compatibilidade No utilizado.

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

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

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

    Retorno Nmero da cor RGB

    Disable()Desabilita a impresso da clula.

    Enable()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,cHeaderAlign,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 pertencecName Nome da clulacAlias Tabela utilizada pela clulacTitle Ttulo da clulacPicture Mscara da clulanSize Tamanho da clulalPixel Aponta se o tamanho foi informado em pixelbBlock Bloco de cdigo com o retorno do campocAlign Alinhamento da clula. LEFT, RIGHT e CENTERlLineBreak Quebra linha se o contedo estourar o tamanho do campocHeaderAlignAlinhamento do cabealho da clula. LEFT, RIGHT e CENTERlCellBreak Compatibilidade No utilizadonColSpace Espaamento entre as clulaslAutoSize Ajusta o tamanho da clula com base no tamanho da pgina e as Informaes impressasnClrBack Cor de fundo da clulanClrFore Cor da fonte da clulalBold 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 clulanXlsCol Nmero da coluna na gerao em planilhalExcel Gerao em planilha

    PrintHeader(nSkipLine,lHeaderWidth,cXlsHStyle,lExcel)Imprime o cabealho da clula.nSkipLine Compatibilidade No utilizadolHeaderWidth Considera a largura do cabealho na impressocXlsHStyle Estilo do cabealho na gerao em planilhalExcel 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 impressonAlign Alinhamento do texto. 1-Esquerda, 2-Centro ou 3-DireitanSayWidth Largura do textolPrintHeader 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-TodasnWeight Largura da bordanColor Cor da bordalHeader 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 clulalPixel 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 Tabela que ser utilizada para posicionamento.cClassName Nome da classe. (TRPOSITION).cNickName Nickname da ordem do ndice da tabela.lSeek Se verdadeiro, Executar o DbSeek com o contedo retornado pela frmula.nOrder Ordem a ser utilizada na pesquisa.uFormula Frmula de posicionamento.uValue Contedo retornado aps a execuo da frmula.oReport Objeto TReport.oParent Objeto da classe TRSection que a clula pertence.

    MTODOS

    ClassName()Retorna o nome da classe. Exemplo: TRPOSITION.

    Execute()Executa a frmula de posicionamento.

    New(oParent,cAlias,uOrder,uFormula,lSeek)Mtodo construtor da classe TRPOSITION.

    oParent Objeto da classe TRSection que a clula pertencecAlias Tabela que ser utilizada para posicionamentouOrder Tipo Caracter: Nickname da ordem do ndice da tabela

    Tipo Numrico: Ordem do ndice da tabelauFormula Frmula de posicionamento

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

    lSeek Se verdadeiro, Executar o DbSeek com o contedo retornado pela frmula

    Retorno Objeto do tipo TRPosition

    SetFormula(uFormula,lSeek)

    44 FrameWork - TReport

  • Define a frmula de posicionamento.uFormula Frmula de posicionamento

    Tipo Caracter: Expresso ADVPL para macro execuoTipo 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 SomarCOUNT ContarMAX Valor mximoMIN Valor mnimo AVERAGE Valor mdioONPRINT Valor atualTIMESUM Somar horasTIMEAVERAGE Valor medio de horasTIMESUB 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

  • Tipo Bloco de cdigo: Bloco de Cdigo com a expresso ADVPL para execuo.uLastValue ltimo valor atualizado no totalizador.uPage Total acumulado por pgina.uReport Total acumulado geral do relatrio.uSection Total acumulado por seo.

    MTODOS

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

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

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

    Retorno Nmero da cor RGB

    Col()Retorna a posio da coluna do totalizador.

    Retorno Posio da coluna do totalizador

    Enabled()Retorna se o totalizador est habilitado.

    Retorno Se verdadeiro, aponta que o totalizador est habilitado

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

    Retorno Se verdadeiro, o totalizador ser impresso

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

    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 execuoTipo 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 Aponta que a largura ser calculada automaticamente

    Retorno Largura da clula do totalizador

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

    Retorno Se verdadeiro, aponta impresso de totalizador do tipo Collection

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

    oCell Objeto da classe TRCell que o totalizador se referecName Identificao do totalizadorcFunction Funo que ser utilizada pelo totalizador. Exemplo: SUM, COUNT, MAX, MINoBreak Objeto da classe TRBreak que define em qual quebra o totalizador ser impressocTitle Ttulo do totalizador. Se no informado ser utilizado o ttulo da clula que o totalizador se

    referecPicture Mscara de impresso do totalizador. Se no informado ser utilizado a mscara da

    clula que o totalizador se refereuFormula Tipo Caracter: Expresso ADVPL para macro execuo

    Tipo Bloco de cdigo: Bloco de Cdigo com a expresso ADVPL para execuolEndSection Se verdadeiro. Indica se totalizador ser impresso na quebra de seolEndReport Se verdadeiro. Indica se totalizador ser impresso no final do relatriolEndPage Se verdadeiro. Indica se totalizador ser impresso no final de cada pginaoParent Objeto da classe TRSection que o totalizador se referebCondition Bloco de cdigo com a condio de atualizao dos valores do totalizadorlDisable Se verdadeiro. Define que no ir atualizar os valores do totalizadorbCanPrint 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 pertenceuBreak Regra para quebra

    Tipo Objeto: Objeto da classe TRCellTipo Caracter: Expresso ADVPL para macro execuoTipo Bloco de Cdigo: Bloco de cdigo com expresso que ser executada

    uTitle Ttulo da quebralTotalInLine Se verdadeiro, aponta que os totalizadores sero impressos em linha

    52 FrameWork - TReport

  • cName Nome e identificador da quebralPageBreak Se verdadeiro, aponta salta de pgina aps a quebra

    Retorno Objeto da classe TRBreak

    OnBreak(bOnBreak)Define o bloco de cdigo que ser executado antes da impresso da quebra.bOnBreak Bloco de cdigo com tratamentos a serem realizados antes na quebra

    OnPrintTotal(bOnPrintTotal)Define o bloco de cdigo que ser executado aps a impresso da quebra.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 TRCellTipo Caracter: Expresso ADVPL para macro execuoTipo 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

  • TRORDEROrdena a seo de um relatrio que utiliza a classe TReport.

    Esta classe herda as propridades e mtodos da classe TRPOSITION.

    Propriedades

    cTitle Ttulo da ordem

    MTODOS

    Execute()Ordena a tabela.

    GetOrder()Retorna a ordem da tabela.

    Retorno Posio da ordem no dicionrio de indices - SIX

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

    oParent Objeto da classe TRSection que a ordem pertenceuOrder Tipo Caracter: NickName da ordem no dicionrio de indices SIX

    Tipo Numrico: Posio da ordem no dicionrio de indices - SIXcTitle Ttulo da ordemcAlias Tabela que ser ordenada

    Retorno Objeto da classe TROrder

    SetTitle(cTitle)Define o ttulo da ordem.

    cTitle Ttulo da ordem

    Title()Retorna o ttulo da ordem.

    Retorno Ttulo da ordem

    54 FrameWork - TReport

  • TRRELATIONRelacionamento 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 execuoTipo 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

  • TRPAGEDefinio 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 pertenceuTotalText Texto do totalizador da pginalTotalInLine 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 rodaplSetPos 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 rodapbPageFooter 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

  • TRPARAMPAGEImprime pgina de parmetros para relatrio que utiliza a classe TREPORT.

    Este mtodo herda as propridades e mtodos da classe TRSECTION.

    Propriedades

    nSize Tamanho da clula

    MTODOS

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

    oParent Objeto da classe TREPORTcParam Grupo de perguntas

    Retorno Objeto da classe TRParamPage

    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 SomarCOUNT ContarMAX Valor mximoMIN Valor mnimo AVERAGE Valor mdioONPRINT Valor atualTIMESUM Somar horasTIMEAVERAGE Valor medio de horasTIMESUB 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 Compatibilidade No utilizado.bItemReset Compatibilidade No utilizado.bItemValue Compatibilidade No utilizado.cGName Ttulo do grfico personalizado.cGSerie Ttulo da srie do grfico personalizado.cItemPicture Mscara de impresso do acumulador.lGEndReport Aponta impresso do grfico no final do relatrio.lGraphic Aponta a existncia de grficos no relatrio.lPrintLayout Aponta que impresso de visualizao do layout.lUserAccess Se verdadeiro, permite o usurio utilizar acumuladores personalizados.nGType Tipo do grfico personalizado.

    1 Linhas2 Area3 Pontos4 Barra9 Pizza12 Linhas Rpidas

    uContent Regra com o valor acumulado.Tipo Caracter: Expresso ADVPL para macro execuo.

    FrameWork - TReport 61

  • 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,oParent,bCondition,uContent)Mtodo constructor da classe TRCollection.

    cName Identificao do acumuladorcFunction Funo que ser utilizada pelo acumulador. Exemplo: SUM, COUNT, MAX, MINoBreak Objeto da classe TRBreak que define em qual quebra o acumulador ser impressouTitle Ttulo do acumulador. Texto a ser impresso no formato caracter ou bloco de cdigocPicture Mscara de impresso do acumuladoruFormula Regra para acmulo dos valores

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

    lEndSection Se verdadeiro. Indica se o acumulador ser impresso na quebra de seolEndReport Se verdadeiro. Indica se op acumulador ser impresso no final do relatriooParent Objeto da classe TRSection que o acumulador se referebCondition Bloco de cdigo com a condio de atualizao dos valores do acumuladoruContent Regra com o valor acumulado

    Tipo Caracter: Expresso ADVPL para macro execuoTipo 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 atual1 Acumulador do relatrio2 Acumulador da seo3 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

  • TRBORDERClasse com as propridades e mtodos para impresso de bordas.

    Propriedades

    nCol Coluna da borda.nColor Numero da cor RGB.nEdge Tipo da borda. 1 Topo, 2 Fim, 3 Esquerda, 4 Direita e 5 Tudo.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.

    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 bordanColor Numero da cor RGBnLineStyle 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,nEdg