manual treport

Upload: jeferson-costa

Post on 11-Jul-2015

1.528 views

Category:

Documents


7 download

TRANSCRIPT

Manual do TReportDescrio 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 1 ou mais sees (TRSection); Uma seo (TRSection) pode conter 1 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).

Mtodos Mtodo New SetTitle SetParam Preview SetAction Descrio Mtodo construtor da classe TReport. Define o ttulo do componente. Define os parametros que sero utilizados pelo usurio para configurar o relatorio. Apresenta preview do relatrio. Define o bloco de cdigo que ser executado quando o usurio confirmar a impresso Inicia impresso do relatrio executando o parametro bAction informado nos mtodos New, SetAction ou PrintDialog. Esse mtodo executado pelo mtodo PrintDialog quando o usurio confirma a impresso do relatrio. Apresenta a tela de impresso para o usurio configurar o relatrio. PrintDialog O mtodo PrintDialog executa o mtodo Print quando o usurio confirma a impresso, executando o bloco de cdigo informado pelo parametro bAction nos mtodos New ou SetAction. Retorna se o usurio cancelou a impresso do relatrio. Define o total da regua da tela de processamento do relatrio. Incrementa a rgua da tela de processamento do relatrio Define a descrio do componente. Retorna o nome da classe do componente. Exemplo: oReport := TReport():New('MATR010') MsgStop(oReport:ClassName()) //Apresenta na tela 'TREPORT' Retorna o nome do relatrio (exemplo: MATR010) Retorna o ttulo do componente Descrio do componente Retorna o texto que ser impresso antes da impresso dos totalizadores

Print

Cancel SetMeter IncMeter SetDescription

ClassName

ReportName Title Description TotalText

GetParam GetAction FooterAtEnd TotalInLine PageHeight PageWidth Row Col Page GetOrientation Printing

Retorna a pergunta/bloco de cdigo utilizada como parametro do relatrio. Retorna bloco de cdigo que ser executado pelos mtodos Print e PrintDialog quando usurio confirmar impresso. Retorna se ser impressore rodap no final da impresso Retorna se a impresso dos totalizadores ser em linha Retorna a altura da pgina baseado no tamanho da folha (A4, Carta, etc) informado pelo usurio Retorna a largura da pgina baseado no tamanho da folha (A4, Carta, etc) informado pelo usurio Retorna a linha posicionada na impresso Retorna a coluna posicionada na impresso Retorna o nmero da pgina atual na impresso Retorna a orientao de pgina (Retrato ou Paisagem) selecionada pelo usurio. 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). Incializa impresso. No necessrio executar o mtodo Init se for utilizar o mtodo Print ou PrintDialog, j que estes fazem o controle de inicializao e finalizao da impresso. Caso no esteja utilizando os mtodo citados acima, sempre execute o mtodo Init no indio do relatrio para verificar as configuraes informadas pelo usurio e inicializar corretamente a primeira pgina do relatrio. Finaliza impresso inicializada pelo mtodo Init. No necessrio executar o mtodo Finish se for utilizar o mtodo Print ou PrintDialog, j que estes fazem o controle de inicializao e finalizao da impresso.

Init

Finish Caso no esteja utilizando os mtodo citados acima, sempre execute o mtodo Finish no final do relatrio para impresso dos totalizadores que esto habilitados para o final do relatrio, para fechar as querys e/ou indces temporrios criados pelas sees e para outros tratamentos internos do componente. Imprime o texto nas coordenadas informadas pelos parametros Finaliza um pgina de impresso Incrementa a linha de impresso baseado no parametro ou no valor definido pelo usurio para a altura das linhas do relatrio. Salta uma linha baseado na altura da linha informada pelo usurio Define o texto que ser impresso antes da impresso dos totalizadores Define se os totalizadores sero impressos em linha ou coluna Define orientao de pgina do relatrio como retrato Define a orientao de pgina do relatrio como paisagem Define se ser apresentado o preview o relatrio no final da impresso Retorna objeto da classe TRFunction (totalizadores) baseado no parametro informado. Retorna objeto da classe TRSection (seo) baseado no parametro informado. Imprime texto nas coordenadas informadas pelos parametros, utilizando as especificaes do objeto TFont, cor da fonte e cor de fundo Imprime uma imagem nas coordenadas informadas pelos parametros Desenha uma linha baseado nas coordenadas informadas pelos parametros,

PrintText EndPage IncRow SkipLine SetTotalText SetTotalInLine SetPortrait SetLandscape SetPreview GetFunction Section Say SayBitmap Line

Box FillRect ThinLine FatLine

utilizando as especificaes do objeto TPen. Desenha uma caixa baseado nas coordenadas informadas pelos parametros, utilizando as especificaes do objeto TPen. Preenche um retangulo na impresso utilizando as especificaes do objeto TBrush. Desenha uma linha simples iniciando na linha atual de impresso com a largura da pgina Desenha uma linha com altura maior que a do mtodo ThinLine, iniciando na linha atual de impresso com a largura da pgina

TReport sem usar mtodo TRSection:PrintPara utilizar o exemplo abaixo verifique se o seu repositrio est com Release 4 do Protheus#include "protheus.ch" User Function MyReport() Local oReport If TRepInUse() //verifica se relatorios personalizaveis esta disponivel Pergunte("MTR025",.F.) oReport := ReportDef() oReport:PrintDialog() EndIf Return Static Function ReportDef() Local oReport Local oSection oReport := TReport():New("MATR025","Relacao das Sugestoes de Orcamentos","MTR025",{|oReport| PrintReport(oReport)},"Este relatorio ira imprimir a relacao das Sugestoes de Venda conforme os parametros solicitados.") oSection := TRSection():New(oReport,OemToAnsi("Sugestoes de Orcamentos"),{"SBG","SBH","SB1"}) TRCell():New(oSection,"BG_PRODUTO","SBG") TRCell():New(oSection,"B1_DESC","SB1") TRCell():New(oSection,"BG_GERAPV","SBG") TRCell():New(oSection,"BG_GERAOP","SBG") TRCell():New(oSection,"BG_GERAOPI","SBG") TRCell():New(oSection,"BG_GERAEMP","SBG") TRCell():New(oSection,"BH_SEQUENC","SBH") TRCell():New(oSection,"BH_CODCOMP","SBH") TRCell():New(oSection,"B1_DESC","SB1") TRCell():New(oSection,"BH_QUANT","SBH") Return oReport Static Function PrintReport(oReport) Local oSection := oReport:Section(1) DbSelectArea("SBG") DbSetOrder(1) DbSeek(xFilial()+MV_PAR01,.T.) oReport:SetMeter(RecCount())

While ( !Eof() .And. xFilial("SBG") == SBG->BG_FILIAL .And. ; SBG->BG_PRODUTO >= MV_PAR01 .And. ; SBG->BG_PRODUTO BG_PRODUTO) oSection:Init() oSection:Cell("B1_DESC"):SetValue(SB1->B1_DESC) oSection:Cell("BG_PRODUTO"):Show() oSection:Cell("B1_DESC"):Show() oSection:Cell("BG_GERAPV"):Show() oSection:Cell("BG_GERAOP"):Show() oSection:Cell("BG_GERAOPI"):Show() oSection:Cell("BG_GERAEMP"):Show() dbSelectArea("SBH") dbSetOrder(1) dbSeek(xFilial("SBH")+SBG->BG_PRODUTO,.T.) While ( !Eof() .And. SBH->BH_FILIAL == xFilial("SBH") .And.; SBH->BH_PRODUTO == SBG->BG_PRODUTO ) dbSelectArea("SB1") dbSetOrder(1) dbSeek(xFilial("SB1")+SBH->BH_CODCOMP) oSection:PrintLine() oSection:Cell("BG_PRODUTO"):Hide() oSection:Cell("B1_DESC"):Hide() oSection:Cell("BG_GERAPV"):Hide() oSection:Cell("BG_GERAOP"):Hide() oSection:Cell("BG_GERAOPI"):Hide() oSection:Cell("BG_GERAEMP"):Hide() dbSelectArea("SBH") dbSkip() End DbSelectArea("SBG") DbSkip() oSection:Finish() oReport:SkipLine() oReport:IncMeter() End Return

TReport sem usar mtodo TRSection:Print com sees

Para utilizar o exemplo abaixo verifique se o seu repositrio est com Release 4 do Protheus#include "protheus.ch" User Function MyReport() Local oReport If TRepInUse() //verifica se relatorios personalizaveis esta disponivel Pergunte("MTR025",.F.) oReport := ReportDef() oReport:PrintDialog() EndIf Return Static Function ReportDef() Local oReport Local oSection1 Local oSection2 oReport := TReport():New("MATR025","Relacao das Sugestoes de Orcamentos","MTR025",{|oReport| PrintReport(oReport)},"Este relatorio ira imprimir a relacao das Sugestoes de Venda conforme os parametros solicitados.") oSection1 := TRSection():New(oReport,"Produtos",{"SBG","SB1"}) TRCell():New(oSection1,"BG_PRODUTO","SBG") TRCell():New(oSection1,"B1_DESC","SB1") TRCell():New(oSection1,"BG_GERAPV","SBG") TRCell():New(oSection1,"BG_GERAOP","SBG") TRCell():New(oSection1,"BG_GERAOPI","SBG") TRCell():New(oSection1,"BG_GERAEMP","SBG") TRPosition(oSection1,"SB1",1,{|| xFilial("SB1") + SBG->BG_PRODUTO}) oSection2 := TRSection():New(oSection1,"Componentes",{"SBH","SB1"}) TRCell():New(oSection2,"BH_SEQUENC","SBH") TRCell():New(oSection2,"BH_CODCOMP","SBH") TRCell():New(oSection2,"B1_DESC","SB1") TRCell():New(oSection2,"BH_QUANT","SBH") TRPosition(oSection2,"SB1",1,{|| xFilial("SB1") + SBH->BH_CODCOMP}) Return oReport Static Function PrintReport(oReport) Local oSection1 := oReport:Section(1) Local oSection2 := oReport:Section(1):Section(1) DbSelectArea("SBG") DbSetOrder(1) DbSeek(xFilial()+MV_PAR01,.T.) oReport:SetMeter(RecCount()) While ( !Eof() .And. xFilial("SBG") == SBG->BG_FILIAL .And. ; SBG->BG_PRODUTO >= MV_PAR01 .And. ; SBG->BG_PRODUTO BG_PRODUTO,.T.) oSection2:Init() While ( !Eof() .And. SBH->BH_FILIAL == xFilial("SBH") .And.; SBH->BH_PRODUTO == SBG->BG_PRODUTO ) oSection2:PrintLine() dbSelectArea("SBH") dbSkip() End oSection2:Finish() DbSelectArea("SBG") DbSkip() oSection1:Finish() oReport:IncMeter() End Return

TReport usando mtodo TRSection:Print com 1 seoPara utilizar o exemplo abaixo verifique se o seu repositrio est com Release 4 do Protheus#include "protheus.ch" User Function MyReport() Local oReport If TRepInUse() Pergunte("MTR530",.F.) oReport := ReportDef() oReport:PrintDialog() EndIf Return Static Function ReportDef() Local oReport Local oSection Local oBreak oReport := TReport():New("MYREPORT","Relatorio de Visitas","MTR530",{|oReport| PrintReport(oReport)},"Relatorio de visitas de vendedores nos clientes") oSection := TRSection():New(oReport,"Clientes",{"SA1","SA3"}) TRCell():New(oSection,"A1_VEND","SA1") TRCell():New(oSection,"A3_NOME","SA3") TRCell():New(oSection,"A1_COD","SA1","Cliente") TRCell():New(oSection,"A1_LOJA","SA1") TRCell():New(oSection,"A1_NOME","SA1") TRCell():New(oSection,"A1_ULTVIS","SA1") TRCell():New(oSection,"A1_TEMVIS","SA1")

TRCell():New(oSection,"A1_CONTATO","SA1") TRCell():New(oSection,"A1_TEL","SA1") oBreak := TRBreak():New(oSection,oSection:Cell("A1_VEND"),"Sub Total Vendedores") TRFunction():New(oSection:Cell("A1_COD"),NIL,"COUNT",oBreak) TRFunction():New(oSection:Cell("A1_TEMVIS"),NIL,"SUM",oBreak) Return oReport Static Function PrintReport(oReport) Local oSection := oReport:Section(1) Local cPart Local cFiltro := "" #IFDEF TOP //Transforma parametros do tipo Range em expressao SQL para ser utilizada na query MakeSqlExpr("MTR530") oSection:BeginQuery() If ( mv_par03 == 1 ) cPart := "%AND (" + Dtos(dDataBase) + " - A1_ULTVIS) > A1_TEMVIS%" Else cPart := "%%" EndIf BeginSql alias "QRYSA1" SELECT A1_COD,A1_LOJA,A1_NOME,A1_VEND,A1_ULTVIS,A1_TEMVIS,A1_TEL,A1_CONTATO,A3_NOME FROM %table:SA1% SA1,%table:SA3% SA3 WHERE A1_VEND = A3_COD AND A1_FILIAL = %xfilial:SA1% AND A1_TEMVIS > 0 AND SA1.%notDel% %exp:cPart% ORDER BY A1_VEND EndSql /* Prepara relatorio para executar a query gerada pelo Embedded SQL passando como parametro a pergunta ou vetor com perguntas do tipo Range que foram alterados pela funcao MakeSqlExpr para serem adicionados a query */ oSection:EndQuery(mv_par04) #ELSE //Transforma parametros do tipo Range em expressao ADVPL para ser utilizada no filtro MakeAdvplExpr("MTR530") //Adiciona no filtro o parametro tipo Range If !Empty(mv_par04) cFiltro += mv_par04 + " .AND. " EndIf cFiltro += " A1_TEMVIS > 0 " If ( mv_par03 == 1 ) cFiltro += ' .AND. ('+DtoC(dDataBase)+'-A1_ULTVIS) > A1_TEMVIS' EndIf oSection:SetFilter(cFiltro,"A1_VEND") TRPosition():New(oReport:Section(1),"SA3",1,{|| xFilial() + SA1->A1_VEND}) #ENDIF oSection:Print()

Return

TReport usando mtodo TRSection:SetParentQueryPara utilizar o exemplo abaixo verifique se o seu repositrio est com Release 4 do Protheus#include "protheus.ch" User Function MyReport() Local oReport If TRepInUse() Pergunte("MTR530",.F.) oReport := ReportDef() oReport:PrintDialog() EndIf Return Static Function ReportDef() Local oReport Local oSection1 Local oSection2 oReport := TReport():New("MYREPORT","Relatorio de Visitas","MTR530",{|oReport| PrintReport(oReport)},"Relatorio de visitas de vendedores nos clientes") oSection1 := TRSection():New(oReport,"Vendedores","SA3") TRCell():New(oSection1,"A3_COD","SA3","Vendedor") TRCell():New(oSection1,"A3_NOME","SA3") TRFunction():New(oSection1:Cell("A3_COD"),NIL,"COUNT",NIL,NIL,NIL,NIL,.F.) oSection2 := TRSection():New(oSection1,"Clientes","SA1") TRCell():New(oSection2,"A1_COD","SA1","Cliente") TRCell():New(oSection2,"A1_LOJA","SA1") TRCell():New(oSection2,"A1_NOME","SA1") TRCell():New(oSection2,"A1_ULTVIS","SA1") TRCell():New(oSection2,"A1_TEMVIS","SA1") TRCell():New(oSection2,"A1_CONTATO","SA1") TRCell():New(oSection2,"A1_TEL","SA1") TRFunction():New(oSection2:Cell("A1_COD"),NIL,"COUNT") TRFunction():New(oSection2:Cell("A1_TEMVIS"),NIL,"SUM") Return oReport Static Function Local oSection1 Local oSection2 Local cFiltro #IFDEF TOP oSection1:BeginQuery() If ( mv_par03 == 1 ) cPart := "%AND (" + Dtos(dDataBase) + " - A1_ULTVIS) > A1_TEMVIS%" PrintReport(oReport) := oReport:Section(1) := oReport:Section(1):Section(1) := ""

Else cPart := "%%" EndIf BeginSql alias "QRYSA3" SELECT A1_COD,A1_LOJA,A1_NOME,A1_VEND,A1_ULTVIS,A1_TEMVIS,A1_TEL,A1_CONTATO,A3_NOME,A3_COD FROM %table:SA1% SA1,%table:SA3% SA3 WHERE A1_VEND = A3_COD AND A1_FILIAL = %xfilial:SA1% AND A1_TEMVIS > 0 AND SA1.%notDel% ORDER BY A1_VEND EndSql /* Prepara relatorio para executar a query gerada pelo Embedded SQL passando como parametro a pergunta ou vetor com perguntas do tipo Range que foram alterados pela funcao MakeSqlExpr para serem adicionados a query */ oSection1:EndQuery(mv_par04) oSection2:SetParentQuery() oSection2:SetParentFilter({|cParam| QRYSA3->A1_VEND >= cParam .and. QRYSA3->A1_VEND A3_COD}) #ELSE cFiltro := " A1_TEMVIS > 0 " If ( mv_par03 == 1 ) cFiltro += ' .AND. ('+DtoC(dDataBase)+'-A1_ULTVIS) > A1_TEMVIS' EndIf oSection2:SetFilter(cFiltro,"A1_VEND") oSection2:SetRelation({|| SA3->A3_COD}) oSection2:SetParentFilter({|cParam| SA1->A1_VEND >= cParam .and. SA1->A1_VEND A3_COD}) #ENDIF oSection1:Print() Return

Funes

ResetReportSintaxe oObj:ResetReport ( ) --> NIL Retorno Tipo (NULO) Descrio Reinicia valor do totalizador para o relatrio Descrio Retorno nulo.

BoxSintaxe oObj:Box ( < nRow > , < nCol > , < nBottom > , < nRight > , [ oPen ] ) --> NIL Parmetros Argumento nRow nCol nBottom nRight oPen Retorno Tipo (NULO) Descrio Desenha uma caixa baseado nas coordenadas informadas pelos parametros, utilizando as especificaes do objeto TPen. Descrio Retorno nulo. Tipo Numrico Numrico Numrico Numrico Objeto Descrio Linha inicial Coluna inicial Linha final Coluna final Objeto da classe TPen

CancelSintaxe oObj:Cancel ( ) --> lCanceled Retorno Tipo Lgico Descrio Retorna se o usurio cancelou a impresso do relatrio. Descrio Verdadeiro se usurio cancelou impresso

ClassNameSintaxe oObj:ClassName ( ) --> cClassName Retorno Tipo Caracter Descrio Retorna o nome da classe do componente. Exemplo: oReport := TReport():New('MATR010') MsgStop(oReport:ClassName()) //Apresenta na tela 'TREPORT' Descrio Nome da classe

ColSintaxe oObj:Col ( ) --> nCol Retorno Tipo Numrico Descrio Retorna a coluna posicionada na impresso Descrio Coluna posicionada na impresso

DescriptionSintaxe oObj:Description ( ) --> cDescription Retorno Tipo Caracter Descrio Descrio do componente Descrio Descrio do componente

EndPageSintaxe oObj:EndPage ( [ lFooter ] ) --> NIL Parmetros Argumento lFooter Tipo Lgico Descrio Imprime rodap. Valor padro: Falso

Retorno Tipo (NULO) Descrio Finaliza uma pgina de impresso Descrio Retorno nulo.

FatLineSintaxe oObj:FatLine ( ) --> NIL Retorno Tipo (NULO) Descrio Descrio Retorno nulo.

Desenha uma linha com altura maior que a do mtodo ThinLine, iniciando na linha atual de impresso com a largura da pgina

FillRectSintaxe oObj:FillRect ( < aRect > , [ oBrush ] ) --> NIL Parmetros Argumento aRect oBrush Retorno Tipo (NULO) Descrio Preenche um retangulo na impresso utilizando as especificaes do objeto TBrush. Descrio Retorno nulo. Tipo Array Objeto Descrio Vetor com coordenadas no formato: {linha inicial, coluna inicial, linha final, coluna final} Objeto da classe TBrush

FinishSintaxe oObj:Finish ( ) --> NIL Retorno Tipo (NULO) Descrio Finaliza impresso inicializada pelo mtodo Init. No necessrio executar o mtodo Finish se for utilizar o mtodo Print ou PrintDialog, j que estes fazem o controle de inicializao e finalizao da impresso. Caso no esteja utilizando os mtodo citados acima, sempre execute o mtodo Finish no final do relatrio para impresso dos totalizadores que esto habilitados para o final do relatrio, para fechar as querys e/ou indces temporrios criados pelas sees e para outros tratamentos internos do componente. Descrio Retorno nulo.

FooterAtEndSintaxe

oObj:FooterAtEnd ( ) --> NIL Retorno Tipo (NULO) Descrio Retorna se ser impressore rodap no final da impresso Descrio Retorno nulo.

GetActionSintaxe oObj:GetAction ( ) --> NIL Retorno Tipo (NULO) Descrio Retorna bloco de cdigo que ser executado pelos mtodos Print e PrintDialog quando usurio confirmar impresso. Descrio Retorno nulo.

GetFunctionSintaxe oObj:GetFunction ( < uFunction > ) --> oFunction Parmetros Argumento uFunction Tipo (Qualquer) Descrio Tipo Caracter: ID do objeto Tipo Numrico: ndice do objeto segundo a ordem de criao dos componentes TRFunction

Retorno Tipo Objeto Descrio Objeto da classe TRFunction. Se no for encontrado o objeto segundo o parametro informado ser retornado Nulo

Descrio Retorna objeto da classe TRFunction (totalizadores) baseado no parametro informado.

GetOrientation

Sintaxe oObj:GetOrientation ( ) --> nOrientation Retorno Tipo Numrico Descrio Orientao da pgina: 1 - Retrato 2 - Paisagem

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

GetParamSintaxe oObj:GetParam ( ) --> uParam Retorno Tipo (Qualquer) Descrio Retorna a pergunta/bloco de cdigo utilizada como parametro do relatrio. Descrio Pergunta (SX1) ou bloco de cdigo utilizado como parametro

IncMeterSintaxe oObj:IncMeter ( [ nInc ] ) --> NIL Parmetros Argumento nInc Tipo Numrico Descrio Quantidade a incrementar na rgua. Valor padro: 1

Retorno Tipo (NULO) Descrio Incrementa a rgua da tela de processamento do relatrio Descrio Retorno nulo.

IncRowSintaxe oObj:IncRow ( [ nInc ] ) --> NIL Parmetros Argumento nInc Tipo Numrico Descrio Quantidade a incrementar. Valor padro definida pelo usurio para a altura da linha

Retorno Tipo (NULO) Descrio Incrementa a linha de impresso baseado no parametro ou no valor definido pelo usurio para a altura das linhas do relatrio. Descrio Retorno nulo.

InitSintaxe oObj:Init ( ) --> NIL Retorno Tipo (NULO) Descrio Incializa impresso. No necessrio executar o mtodo Init se for utilizar o mtodo Print ou PrintDialog, j que estes fazem o controle de inicializao e finalizao da impresso. Caso no esteja utilizando os mtodo citados acima, sempre execute o mtodo Init no indio do relatrio para verificar as configuraes informadas pelo usurio e inicializar corretamente a primeira pgina do relatrio. Descrio Retorno nulo.

LineSintaxe oObj:Line ( < nTop > , < nCol > , < nBottom > , < nRight > , [ oPen ] ) --> NIL Parmetros

Argumento nTop nCol nBottom nRight oPen Retorno Tipo (NULO) Descrio

Tipo Numrico Numrico Numrico Numrico Objeto

Descrio Linha inicial Coluna inicial Linha final Coluna final Objeto da classe TPen

Descrio Retorno nulo.

Desenha uma linha baseado nas coordenadas informadas pelos parametros, utilizando as especificaes do objeto TPen.

PageSintaxe oObj:Page ( ) --> nPage Retorno Tipo Numrico Descrio Retorna o nmero da pgina atual na impresso Descrio Nmero da pgina

PageHeightSintaxe oObj:PageHeight ( ) --> nPageHeight Retorno Tipo Numrico Descrio Retorna a altura da pgina baseado no tamanho da folha (A4, Carta, etc) informado pelo usurio Descrio Altura da pgina

PageWidthSintaxe

oObj:PageWidth ( ) --> nPageWidth Retorno Tipo Numrico Descrio Retorna a largura da pgina baseado no tamanho da folha (A4, Carta, etc) informado pelo usurio Descrio Largura da pgina

PreviewSintaxe oObj:Preview ( ) --> NIL Retorno Tipo (NULO) Descrio Apresenta preview do relatrio. Descrio Retorno nulo.

PrintSintaxe oObj:Print ( [ lDlg ] ) --> NIL Parmetros Argumento lDlg Retorno Tipo (NULO) Descrio Inicia impresso do relatrio executando o parametro bAction informado nos mtodos New, SetAction ou PrintDialog. Esse mtodo executado pelo mtodo PrintDialog quando o usurio confirma a impresso do relatrio. Descrio Retorno nulo. Tipo Lgico Descrio Verdadeiro para apresentar a tela de processamento do relatrio

PrintDialog

Sintaxe oObj:PrintDialog ( [ bAction ] ) --> lPrinted Parmetros Argumento bAction Tipo Code-Block Descrio Bloco de cdigo que ser executado quando usurio confirmar a impresso do relatrio

Retorno Tipo Lgico Descrio Apresenta a tela de impresso para o usurio configurar o relatrio. O mtodo PrintDialog executa o mtodo Print quando o usurio confirma a impresso, executando o bloco de cdigo informado pelo parametro bAction nos mtodos New ou SetAction. Descrio Verdadeiro se usurio confirmou impresso do relatrio

PrintTextSintaxe oObj:PrintText ( < cText > , [ nRow ] , [ nCol ] ) --> NIL Parmetros Argumento cText nRow nCol Tipo Caracter Numrico Numrico Descrio Texto que ser impresso Linha que o texto ser impresso. Valor padro: linha posicionada da impresso Coluna que o texto ser impresso. Valor padro: coluna posicionada da impresso

Retorno Tipo (NULO) Descrio Imprime o texto nas coordenadas informadas pelos parametros Descrio Retorno nulo.

PrintingSintaxe oObj:Printing ( ) --> lPrinting

Retorno Tipo Lgico Descrio 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). Descrio Verdadeiro se relatrio esta no processo de impresso

ReportNameSintaxe oObj:ReportName ( ) --> cReport Retorno Tipo Caracter Descrio Retorna o nome do relatrio (exemplo: MATR010) Descrio Nome do relatrio

RowSintaxe oObj:Row ( ) --> nRow Retorno Tipo Numrico Descrio Retorna a linha posicionada na impresso Descrio Linha posicionada na impresso

SaySintaxe oObj:Say ( < nRow > , < nCol > , < cText > , [ oFont ] , [ nWidth ] , [ nClrText ] , [ nBkMode ] ) --> NIL Parmetros Argumento Tipo Descrio

nRow nCol cText oFont nWidth nClrText nBkMode Retorno Tipo (NULO) Descrio

Numrico Numrico Caracter Objeto Numrico Numrico Numrico

Linha para impresso do texto Coluna para impresso do texto Texto que ser impresso Objeto da classe TFont Tamanho em pixel do texto para impresso Cor da fonte Cor de fundo

Descrio Retorno nulo.

Imprime texto nas coordenadas informadas pelos parametros, utilizando as especificaes do objeto TFont, cor da fonte e cor de fundo

SayBitmapSintaxe oObj:SayBitmap ( < nLinha > , < nCol > , < cBitmap > , [ nWidth ] , [ nHeight ] ) --> NIL Parmetros Argumento nLinha nCol cBitmap nWidth nHeight Retorno Tipo (NULO) Descrio Imprime uma imagem nas coordenadas informadas pelos parametros Descrio Retorno nulo. Tipo Numrico Numrico Numrico Numrico Numrico Descrio Linha para impresso da imagem Coluna para impresso da imagem Nome da imagem (arquivo ou resource compilado no repositrio) Largura da imagem Altura da imagem

SectionSintaxe oObj:Section ( < uSection > ) --> oSection Parmetros

Argumento uSection

Tipo (Qualquer)

Descrio Tipo Caracter: Ttulo do objeto Tipo Numrico: ndice do objeto segundo a ordem de criao dos componentes TRSection

Retorno Tipo Objeto Descrio Objeto da classe TRFunction. Se no for encontrado o objeto segundo o parametro informado ser retornado Nulo

Descrio Retorna objeto da classe TRSection (seo) baseado no parametro informado.

SetActionSintaxe oObj:SetAction ( < bAction > ) --> NIL Parmetros Argumento bAction Tipo Code-Block Descrio Bloco de cdigo que ser executado quando usurio confirmar a impresso do relatrio

Retorno Tipo (NULO) Descrio Define o bloco de cdigo que ser executado quando o usurio confirmar a impresso Descrio Retorno nulo.

SetDescriptionSintaxe oObj:SetDescription ( < cDesc > ) --> NIL Parmetros Argumento cDesc Retorno Tipo (NULO) Descrio Retorno nulo. Tipo Caracter Descrio Descrio do componente

Descrio Define a descrio do componente.

SetLandscapeSintaxe oObj:SetLandscape ( ) --> NIL Retorno Tipo (NULO) Descrio Define a orientao de pgina do relatrio como paisagem Descrio Retorno nulo.

SetMeterSintaxe oObj:SetMeter ( < nTotal > ) --> NIL Parmetros Argumento nTotal Retorno Tipo (NULO) Descrio Define o total da regua da tela de processamento do relatrio. Descrio Retorno nulo. Tipo Numrico Descrio Total da regua de processamento

SetParamSintaxe oObj:SetParam ( < uParam > ) --> NIL Parmetros Argumento uParam Tipo (Qualquer) Descrio Tipo Caracter: Parametros do relatrio cadastrado no Dicionrio de Perguntas (SX1) Tipo Bloco de cdigo: bloco que ser utilizado como parametro

Retorno Tipo (NULO) Descrio Define os parametros que sero utilizados pelo usurio para configurar o relatorio. Descrio Retorno nulo.

SetPortraitSintaxe oObj:SetPortrait ( ) --> NIL Retorno Tipo (NULO) Descrio Define orientao de pgina do relatrio como retrato Descrio Retorno nulo.

SetPreviewSintaxe oObj:SetPreview ( [ lPreview ] ) --> NIL Parmetros Argumento lPreview Tipo Lgico Descrio Verdadeiro para apresentar preview no final da impresso Valor padro: Verdadeiro

Retorno Tipo (NULO) Descrio Define se ser apresentado o preview o relatrio no final da impresso Descrio Retorno nulo.

SetTitleSintaxe oObj:SetTitle ( < cTitle > ) --> NIL

Parmetros Argumento cTitle Retorno Tipo (NULO) Descrio Define o ttulo do componente. Descrio Retorno nulo. Tipo Caracter Descrio Ttulo do componente

SetTotalInLineSintaxe oObj:SetTotalInLine ( [ lTotalInLine ] ) --> NIL Parmetros Argumento lTotalInLine Tipo Lgico Descrio Verdadeiro se totalizadores sero impressos em linha Valor padro: Verdadeiro

Retorno Tipo (NULO) Descrio Define se os totalizadores sero impressos em linha ou coluna Descrio Retorno nulo.

SetTotalTextSintaxe oObj:SetTotalText ( < cTexto > ) --> NIL Parmetros Argumento cTexto Retorno Tipo (NULO) Descrio Retorno nulo. Tipo Caracter Descrio Texto para impresso antes dos totalizadores

Descrio Define o texto que ser impresso antes da impresso dos totalizadores

SkipLineSintaxe oObj:SkipLine ( ) --> NIL Retorno Tipo (NULO) Descrio Salta uma linha baseado na altura da linha informada pelo usurio Descrio Retorno nulo.

ThinLineSintaxe oObj:ThinLine ( ) --> NIL Retorno Tipo (NULO) Descrio Desenha uma linha simples iniciando na linha atual de impresso com a largura da pgina Descrio Retorno nulo.

TitleSintaxe oObj:Title ( ) --> NIL Retorno Tipo (NULO) Descrio Retorna o ttulo do componente Descrio Retorno nulo.

TotalInLine

Sintaxe oObj:TotalInLine ( ) --> NIL Retorno Tipo (NULO) Descrio Retorna se a impresso dos totalizadores ser em linha Descrio Retorno nulo.

TotalTextSintaxe oObj:TotalText ( ) --> NIL Retorno Tipo (NULO) Descrio Retorna o texto que ser impresso antes da impresso dos totalizadores Descrio Retorno nulo.

Exemplos

Exemplo de utilizao da funo MPReportPara utilizar o exemplo abaixo verifique se o seu repositrio est com Release 4 do Protheus#include "protheus.ch" User Function MyReport1() //Informando o vetor com as ordens utilizadas pelo relatrio MPReport("MYREPORT1","SA1","Relacao de Clientes","Este relatrio ir imprimir a relacao de clientes",{"Por Codigo","Alfabetica","Por "+RTrim(RetTitle("A1_CGC"))}) Return User Function MyReport2() //Informando para funo carregar os ndices do Dicionrio de ndices (SIX) da tabela MPReport("MYREPORT2","SA1","Relacao de Clientes","Este relatrio ir imprimir a relacao de clientes",,.T.) Return

TReport sem usar mtodo TRSection:PrintPara utilizar o exemplo abaixo verifique se o seu repositrio est com Release 4 do Protheus#include "protheus.ch" User Function MyReport() Local oReport If TRepInUse() //verifica se relatorios personalizaveis esta disponivel Pergunte("MTR025",.F.) oReport := ReportDef() oReport:PrintDialog() EndIf Return Static Function ReportDef() Local oReport Local oSection oReport := TReport():New("MATR025","Relacao das Sugestoes de Orcamentos","MTR025",{|oReport| PrintReport(oReport)},"Este relatorio ira imprimir a relacao das Sugestoes de Venda conforme os parametros solicitados.") oSection := TRSection():New(oReport,OemToAnsi("Sugestoes de Orcamentos"),{"SBG","SBH","SB1"}) TRCell():New(oSection,"BG_PRODUTO","SBG")

TRCell():New(oSection,"B1_DESC","SB1") TRCell():New(oSection,"BG_GERAPV","SBG") TRCell():New(oSection,"BG_GERAOP","SBG") TRCell():New(oSection,"BG_GERAOPI","SBG") TRCell():New(oSection,"BG_GERAEMP","SBG") TRCell():New(oSection,"BH_SEQUENC","SBH") TRCell():New(oSection,"BH_CODCOMP","SBH") TRCell():New(oSection,"B1_DESC","SB1") TRCell():New(oSection,"BH_QUANT","SBH") Return oReport Static Function PrintReport(oReport) Local oSection := oReport:Section(1) DbSelectArea("SBG") DbSetOrder(1) DbSeek(xFilial()+MV_PAR01,.T.) oReport:SetMeter(RecCount()) While ( !Eof() .And. xFilial("SBG") == SBG->BG_FILIAL .And. ; SBG->BG_PRODUTO >= MV_PAR01 .And. ; SBG->BG_PRODUTO BG_PRODUTO) oSection:Init() oSection:Cell("B1_DESC"):SetValue(SB1->B1_DESC) oSection:Cell("BG_PRODUTO"):Show() oSection:Cell("B1_DESC"):Show() oSection:Cell("BG_GERAPV"):Show() oSection:Cell("BG_GERAOP"):Show() oSection:Cell("BG_GERAOPI"):Show() oSection:Cell("BG_GERAEMP"):Show() dbSelectArea("SBH") dbSetOrder(1) dbSeek(xFilial("SBH")+SBG->BG_PRODUTO,.T.) While ( !Eof() .And. SBH->BH_FILIAL == xFilial("SBH") .And.; SBH->BH_PRODUTO == SBG->BG_PRODUTO ) dbSelectArea("SB1") dbSetOrder(1) dbSeek(xFilial("SB1")+SBH->BH_CODCOMP) oSection:PrintLine() oSection:Cell("BG_PRODUTO"):Hide() oSection:Cell("B1_DESC"):Hide() oSection:Cell("BG_GERAPV"):Hide() oSection:Cell("BG_GERAOP"):Hide() oSection:Cell("BG_GERAOPI"):Hide() oSection:Cell("BG_GERAEMP"):Hide() dbSelectArea("SBH") dbSkip()

End DbSelectArea("SBG") DbSkip() oSection:Finish() oReport:SkipLine() oReport:IncMeter() End Return

TReport sem usar mtodo TRSection:Print com seesPara utilizar o exemplo abaixo verifique se o seu repositrio est com Release 4 do Protheus#include "protheus.ch" User Function MyReport() Local oReport If TRepInUse() //verifica se relatorios personalizaveis esta disponivel Pergunte("MTR025",.F.) oReport := ReportDef() oReport:PrintDialog() EndIf Return Static Function ReportDef() Local oReport Local oSection1 Local oSection2 oReport := TReport():New("MATR025","Relacao das Sugestoes de Orcamentos","MTR025",{|oReport| PrintReport(oReport)},"Este relatorio ira imprimir a relacao das Sugestoes de Venda conforme os parametros solicitados.") oSection1 := TRSection():New(oReport,"Produtos",{"SBG","SB1"}) TRCell():New(oSection1,"BG_PRODUTO","SBG") TRCell():New(oSection1,"B1_DESC","SB1") TRCell():New(oSection1,"BG_GERAPV","SBG") TRCell():New(oSection1,"BG_GERAOP","SBG") TRCell():New(oSection1,"BG_GERAOPI","SBG") TRCell():New(oSection1,"BG_GERAEMP","SBG") TRPosition(oSection1,"SB1",1,{|| xFilial("SB1") + SBG->BG_PRODUTO}) oSection2 := TRSection():New(oSection1,"Componentes",{"SBH","SB1"}) TRCell():New(oSection2,"BH_SEQUENC","SBH") TRCell():New(oSection2,"BH_CODCOMP","SBH") TRCell():New(oSection2,"B1_DESC","SB1") TRCell():New(oSection2,"BH_QUANT","SBH") TRPosition(oSection2,"SB1",1,{|| xFilial("SB1") + SBH->BH_CODCOMP}) Return oReport Static Function PrintReport(oReport)

Local oSection1 := oReport:Section(1) Local oSection2 := oReport:Section(1):Section(1) DbSelectArea("SBG") DbSetOrder(1) DbSeek(xFilial()+MV_PAR01,.T.) oReport:SetMeter(RecCount()) While ( !Eof() .And. xFilial("SBG") == SBG->BG_FILIAL .And. ; SBG->BG_PRODUTO >= MV_PAR01 .And. ; SBG->BG_PRODUTO BG_PRODUTO,.T.) oSection2:Init() While ( !Eof() .And. SBH->BH_FILIAL == xFilial("SBH") .And.; SBH->BH_PRODUTO == SBG->BG_PRODUTO ) oSection2:PrintLine() dbSelectArea("SBH") dbSkip() End oSection2:Finish() DbSelectArea("SBG") DbSkip() oSection1:Finish() oReport:IncMeter() End Return

TReport usando mtodo TRSection:Print com 1 seoPara utilizar o exemplo abaixo verifique se o seu repositrio est com Release 4 do Protheus#include "protheus.ch" User Function MyReport() Local oReport If TRepInUse() Pergunte("MTR530",.F.) oReport := ReportDef() oReport:PrintDialog() EndIf Return Static Function ReportDef()

Local oReport Local oSection Local oBreak oReport := TReport():New("MYREPORT","Relatorio de Visitas","MTR530",{|oReport| PrintReport(oReport)},"Relatorio de visitas de vendedores nos clientes") oSection := TRSection():New(oReport,"Clientes",{"SA1","SA3"}) TRCell():New(oSection,"A1_VEND","SA1") TRCell():New(oSection,"A3_NOME","SA3") TRCell():New(oSection,"A1_COD","SA1","Cliente") TRCell():New(oSection,"A1_LOJA","SA1") TRCell():New(oSection,"A1_NOME","SA1") TRCell():New(oSection,"A1_ULTVIS","SA1") TRCell():New(oSection,"A1_TEMVIS","SA1") TRCell():New(oSection,"A1_CONTATO","SA1") TRCell():New(oSection,"A1_TEL","SA1") oBreak := TRBreak():New(oSection,oSection:Cell("A1_VEND"),"Sub Total Vendedores") TRFunction():New(oSection:Cell("A1_COD"),NIL,"COUNT",oBreak) TRFunction():New(oSection:Cell("A1_TEMVIS"),NIL,"SUM",oBreak) Return oReport Static Function PrintReport(oReport) Local oSection := oReport:Section(1) Local cPart Local cFiltro := "" #IFDEF TOP //Transforma parametros do tipo Range em expressao SQL para ser utilizada na query MakeSqlExpr("MTR530") oSection:BeginQuery() If ( mv_par03 == 1 ) cPart := "%AND (" + Dtos(dDataBase) + " - A1_ULTVIS) > A1_TEMVIS%" Else cPart := "%%" EndIf BeginSql alias "QRYSA1" SELECT A1_COD,A1_LOJA,A1_NOME,A1_VEND,A1_ULTVIS,A1_TEMVIS,A1_TEL,A1_CONTATO,A3_NOME FROM %table:SA1% SA1,%table:SA3% SA3 WHERE A1_VEND = A3_COD AND A1_FILIAL = %xfilial:SA1% AND A1_TEMVIS > 0 AND SA1.%notDel% %exp:cPart% ORDER BY A1_VEND EndSql /* Prepara relatorio para executar a query gerada pelo Embedded SQL passando como parametro a pergunta ou vetor com perguntas do tipo Range que foram alterados pela funcao MakeSqlExpr para serem adicionados a query */ oSection:EndQuery(mv_par04) #ELSE //Transforma parametros do tipo Range em expressao ADVPL para ser utilizada no filtro MakeAdvplExpr("MTR530") //Adiciona no filtro o parametro tipo Range If !Empty(mv_par04)

cFiltro += mv_par04 + " .AND. " EndIf cFiltro += " A1_TEMVIS > 0 " If ( mv_par03 == 1 ) cFiltro += ' .AND. ('+DtoC(dDataBase)+'-A1_ULTVIS) > A1_TEMVIS' EndIf oSection:SetFilter(cFiltro,"A1_VEND") TRPosition():New(oReport:Section(1),"SA3",1,{|| xFilial() + SA1->A1_VEND}) #ENDIF oSection:Print() Return

TReport usando mtodo TRSection:SetParentQueryPara utilizar o exemplo abaixo verifique se o seu repositrio est com Release 4 do Protheus#include "protheus.ch" User Function MyReport() Local oReport If TRepInUse() Pergunte("MTR530",.F.) oReport := ReportDef() oReport:PrintDialog() EndIf Return Static Function ReportDef() Local oReport Local oSection1 Local oSection2 oReport := TReport():New("MYREPORT","Relatorio de Visitas","MTR530",{|oReport| PrintReport(oReport)},"Relatorio de visitas de vendedores nos clientes") oSection1 := TRSection():New(oReport,"Vendedores","SA3") TRCell():New(oSection1,"A3_COD","SA3","Vendedor") TRCell():New(oSection1,"A3_NOME","SA3") TRFunction():New(oSection1:Cell("A3_COD"),NIL,"COUNT",NIL,NIL,NIL,NIL,.F.) oSection2 := TRSection():New(oSection1,"Clientes","SA1") TRCell():New(oSection2,"A1_COD","SA1","Cliente") TRCell():New(oSection2,"A1_LOJA","SA1") TRCell():New(oSection2,"A1_NOME","SA1") TRCell():New(oSection2,"A1_ULTVIS","SA1") TRCell():New(oSection2,"A1_TEMVIS","SA1") TRCell():New(oSection2,"A1_CONTATO","SA1") TRCell():New(oSection2,"A1_TEL","SA1") TRFunction():New(oSection2:Cell("A1_COD"),NIL,"COUNT") TRFunction():New(oSection2:Cell("A1_TEMVIS"),NIL,"SUM")

Return oReport Static Function Local oSection1 Local oSection2 Local cFiltro #IFDEF TOP oSection1:BeginQuery() If ( mv_par03 == 1 ) cPart := "%AND (" + Dtos(dDataBase) + " - A1_ULTVIS) > A1_TEMVIS%" Else cPart := "%%" EndIf BeginSql alias "QRYSA3" SELECT A1_COD,A1_LOJA,A1_NOME,A1_VEND,A1_ULTVIS,A1_TEMVIS,A1_TEL,A1_CONTATO,A3_NOME,A3_COD FROM %table:SA1% SA1,%table:SA3% SA3 WHERE A1_VEND = A3_COD AND A1_FILIAL = %xfilial:SA1% AND A1_TEMVIS > 0 AND SA1.%notDel% ORDER BY A1_VEND EndSql /* Prepara relatorio para executar a query gerada pelo Embedded SQL passando como parametro a pergunta ou vetor com perguntas do tipo Range que foram alterados pela funcao MakeSqlExpr para serem adicionados a query */ oSection1:EndQuery(mv_par04) oSection2:SetParentQuery() oSection2:SetParentFilter({|cParam| QRYSA3->A1_VEND >= cParam .and. QRYSA3->A1_VEND A3_COD}) #ELSE cFiltro := " A1_TEMVIS > 0 " If ( mv_par03 == 1 ) cFiltro += ' .AND. ('+DtoC(dDataBase)+'-A1_ULTVIS) > A1_TEMVIS' EndIf oSection2:SetFilter(cFiltro,"A1_VEND") oSection2:SetRelation({|| SA3->A3_COD}) oSection2:SetParentFilter({|cParam| SA1->A1_VEND >= cParam .and. SA1->A1_VEND A3_COD}) #ENDIF

oSection1:Print() Return

TRSectionDescrio 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. Mtodos Mtodo Descrio Mtodo construtor da classe TRSection No parametro 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 parametro 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. Retorna o objeto pai da classe TRSection Retorna o objeto da classe TReport que a classe TRSection pertence Retorna se salta a pgina na quebra de seo Retorna se cabealho das clulas ser impresso aps uma quebra (TRBreak) Retorna se cabealho das clulas ser impresso na quebra de seo Retorna se o componente esta habilitada para impresso Retorna o alias utilizado pela query da seo, que foi definida pelo Embedded SQL com os mtodos BeginQuery e EndQuery Habilita a impresso do componente Desabilita a impresso da seo, porm todas as linhas sero processadas, somente no aparecero no relatrio. Retorna se o usurio pode alterar o layout da seo Inicializa seo. No necessrio executar o mtodo Init se for utilizar o mtodo Print, j que este faz o controle de inicializao e finalizao das sees. Caso no esteja utilizando o mtodo Print, sempre execute o mtodo Init para inicializar a seo, para controle de quebra de pgina entre sees, impresso do cabealho das clulas e para outros tratamentos internos do componente. Finaliza seo inicializada pelo mtodo Init.

New

Parent Report PageBreak HeaderBreak HeaderSection Visible Alias Show Hide lReadOnly

Init

Finish

No necessrio executar o mtodo Finish se for utilizar o mtodo Print, j que este faz o controle de inicializao e finalizao das sees. Caso no esteja utilizando o mtodo Print, sempre execute o mtodo Finish ao finalizar uma seo, para controle da impresso dos totalizadores das quebras e dos que esto habilitados para o final da seo, para controle de quebra de pgina entre sees e para outros tratamentos internos do componente. Imprime a linha baseado nas clulas selecionadas pelo usurio Processa as informaes da tabela principal ou da query definida pelo Embedded SQL com os mtodos BeginQuery e EndQuery O mtodo Print faz o loop na tabela ou na query, 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 a sada do loop. Retorna objeto da classe TRCell (clula) baseado no parametro informado. Retorna objeto da classe TROrder (ordem) basead no parametro informado Carrega campos do Dicionrio de Campos (SX3) como clulas da seo, respeitando nvel, uso e contexto do campo Carrega ndices do Dicionrio de ndices (SIX) como ordem da seo Define se salta a pgina na quebra de seo Define se imprime cabealho das clulas aps uma quebra (TRBreak) Define de imprime cabealho das clulas na quebra de seo Define se o usurio no poder alterar o layout da seo, ou seja, no poder remover as clulas pr-definidas. As clulas que forem adicionadas na seo sero impressas na prxima pgina, aps ter impresso as clulas pr-definidas. Retorna a query que foi definida pelo Embedded SQL com os mtodos BeginQuery e EndQuery, j com as clulas selecionadas e filtro criado pelo usurio e as perguntas tipo Range incluidas. Indica que ser utilizado o Embedded SQL para criao de uma nova query que ser utilizada pela seo 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 fonte que esta criando os componentes, sem a necessidade de utilizar TCGenQuery, ChangeQuery e TCSetField. Define se a seo filha utilizara a query da seo pai no processamento do mtodo Print Define a regra de sada do loop de processamento do mtodo Print das sees filhas Define um filtro ou um ndice com filtro (IndRegua) para a tabela princiapal da seo. Se no informado o parametro com a chave de ndice, ser executado SET FILTER TO com o primeiro parametro, seno ser criado um ndice com filtro (IndRegua) e sua ordem ser retornada pelo mtodo GetIdxOrder

PrintLine

Print

Cell Order LoadCells LoadOrder SetPageBreak SetHeaderBreak SetHeaderSection

SetReadOnly

GetQuery BeginQuery

EndQuery

SetParentQuery SetParentFilter

SetFilter

SetOrder SetIdxOrder GetOrder

Define a ordem (TROrder) que ser utilizada pela seo Define uma ordem de ndice para a tabela principal Retorna a ordem selecionada pelo usurio Retorna o ndice utilizado pela tabela principal da seo para processamento pelo mtodo Print. Se o retorno for zero, ento a seo esta utilizando uma ordem selecionada pelo usurio (TROrder) Define a frmula de relacionamento de uma seo filha com sua seo pai, caso no utilize a query da seo pai (SetParentQuery)

GetIdxOrder

SetRelation

O mtodo SetRelation ir criar o componente TRRelation apresentado no documento 'Estrutura do componente TReport', que faz o controle do relacionamento entre as sees.

AliasSintaxe oObj:Alias ( ) --> cAlias Retorno Tipo Caracter Descrio Retorna o alias utilizado pela query da seo, que foi definida pelo Embedded SQL com os mtodos BeginQuery e EndQuery Descrio Alias utilizado pela query

BeginQuerySintaxe oObj:BeginQuery ( ) --> NIL Retorno Tipo (NULO) Descrio Indica que ser utilizado o Embedded SQL para criao de uma nova query que ser utilizada pela seo Descrio Retorno nulo.

CellSintaxe oObj:Cell ( < uCell > ) --> oCell

Parmetros Argumento uCell Tipo (Qualquer) Descrio Tipo Caracter: Nome ou ttulo do objeto Tipo Numrico: ndice do objeto segundo a ordem de criao dos componentes TRCell

Retorno Tipo Objeto Descrio Objeto da classe TRCell. Se no for encontrado o objeto segundo o parametro informado ser retornado Nulo

Descrio Retorna objeto da classe TRCell (clula) baseado no parametro informado.

EndQuerySintaxe oObj:EndQuery ( [ uParam ] ) --> NIL Parmetros Argumento uParam Tipo (Qualquer) Descrio Pergunta (exemplo: mv_par01) ou lista de perguntas (exemplo: {mv_par01, mv_par02}) do tipo Range que sero incluidas na query

Retorno Tipo (NULO) Descrio 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 fonte que esta criando os componentes, sem a necessidade de utilizar TCGenQuery, ChangeQuery e TCSetField. Descrio Retorno nulo.

FinishSintaxe oObj:Finish ( ) --> NIL Retorno

Tipo (NULO) Descrio

Descrio Retorno nulo.

Finaliza seo inicializada pelo mtodo Init. No necessrio executar o mtodo Finish se for utilizar o mtodo Print, j que este faz o controle de inicializao e finalizao das sees. Caso no esteja utilizando o mtodo Print, sempre execute o mtodo Finish ao finalizar uma seo, para controle da impresso dos totalizadores das quebras e dos que esto habilitados para o final da seo, para controle de quebra de pgina entre sees e para outros tratamentos internos do componente.

GetIdxOrderSintaxe oObj:GetIdxOrder ( ) --> nIdxOrder Retorno Tipo Numrico Descrio Retorna o ndice utilizado pela tabela principal da seo para processamento pelo mtodo Print. Se o retorno for zero, ento a seo esta utilizando uma ordem selecionada pelo usurio (TROrder) Descrio ndice utilizado

GetOrderSintaxe oObj:GetOrder ( ) --> nOrder Retorno Tipo Numrico Descrio Retorna a ordem selecionada pelo usurio Descrio Ordem selecionada pelo usurio

GetQuerySintaxe oObj:GetQuery ( ) --> cQuery

Retorno Tipo Caracter Descrio Retorna a query que foi definida pelo Embedded SQL com os mtodos BeginQuery e EndQuery, j com as clulas selecionadas e filtro criado pelo usurio e as perguntas tipo Range incluidas. Descrio Query utilizada pela seo

HeaderBreakSintaxe oObj:HeaderBreak ( ) --> lHeaderBreak Retorno Tipo Lgico Descrio Retorna se cabealho das clulas ser impresso aps uma quebra (TRBreak) Descrio Verdadeiro se imprime cabealho

HeaderSectionSintaxe oObj:HeaderSection ( ) --> lHeaderSection Retorno Tipo Lgico Descrio Retorna se cabealho das clulas ser impresso na quebra de seo Descrio Verdadeiro se imprime cabealho

HideSintaxe oObj:Hide ( ) --> NIL Retorno Tipo (NULO) Descrio Retorno nulo.

Descrio Desabilita a impresso da seo, porm todas as linhas sero processadas, somente no aparecero no relatrio.

InitSintaxe oObj:Init ( ) --> NIL Retorno Tipo (NULO) Descrio Inicializa seo. No necessrio executar o mtodo Init se for utilizar o mtodo Print, j que este faz o controle de inicializao e finalizao das sees. Caso no esteja utilizando o mtodo Print, sempre execute o mtodo Init para inicializar a seo, para controle de quebra de pgina entre sees, impresso do cabealho das clulas e para outros tratamentos internos do componente. Descrio Retorno nulo.

LoadCellsSintaxe oObj:LoadCells ( [ cTable ] , [ aCells ] ) --> NIL Parmetros Argumento cTable aCells Tipo Caracter Array Descrio Tabela que ser utilizada para carregar os campos. Se no for informada ser utilizado todas as tabelas informadas no mtodo New da classe TRSection. Vetor com nome dos campos que sero carregados como clulas da seo

Retorno Tipo (NULO) Descrio Carrega campos do Dicionrio de Campos (SX3) como clulas da seo, respeitando nvel, uso e contexto do campo Descrio Retorno nulo.

LoadOrderSintaxe oObj:LoadOrder ( ) --> NIL Retorno Tipo (NULO) Descrio Carrega ndices do Dicionrio de ndices (SIX) como ordem da seo Descrio Retorno nulo.

NewSintaxe TRSection():New ( < oParent > , [ cTitle ] , [ uTable ] , [ aOrder ] , [ lLoadCells ] , [ lLoadOrder ] ) --> TRSection Parmetros Argumento oParent cTitle uTable aOrder lLoadCells lLoadOrder Tipo Objeto Caracter (Qualquer) Array Lgico Lgico Descrio Objeto da classe TReport ou TRSection que ser o pai da classe TRSection Ttulo da seo Tabela ou lista de tabelas que sero utilizadas pela seo Vetor com a descrio das ordens Verdadeiro para carregar os campos do Dicionrio de Campos (SX3) das tabelas da seo como clulas Valor padro: Falso Verdadeiro para carregar os ndices do Dicionrio de ndices (SIX) Valor padro: Falso

Retorno Tipo Objeto Descrio Mtodo construtor da classe TRSection No parametro 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. Descrio Objeto da classe TRSection

Dos elementos do parametro 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.

OrderSintaxe oObj:Order ( < uOrder > ) --> oOrder Parmetros Argumento uOrder Tipo (Qualquer) Descrio Tipo Caracter: Nickname da ordem Tipo Numrico: ndice do objeto segundo a ordem de criao dos componentes TROrder

Retorno Tipo Objeto Descrio Retorna objeto da classe TROrder (ordem) basead no parametro informado Descrio Objeto da classe TROrder

PageBreakSintaxe oObj:PageBreak ( ) --> lPageBreak Retorno Tipo Lgico Descrio Retorna se salta a pgina na quebra de seo Descrio Verdadeiro se quebra a pgina

ParentSintaxe oObj:Parent ( ) --> oParent Retorno Tipo Objeto Descrio Objeto da classe TReport ou TRSection

Descrio Retorna o objeto pai da classe TRSection

PrintSintaxe oObj:Print ( ) --> NIL Retorno Tipo (NULO) Descrio Processa as informaes da tabela principal ou da query definida pelo Embedded SQL com os mtodos BeginQuery e EndQuery O mtodo Print faz o loop na tabela ou na query, 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 a sada do loop. Descrio Retorno nulo.

PrintLineSintaxe oObj:PrintLine ( ) --> NIL Retorno Tipo (NULO) Descrio Imprime a linha baseado nas clulas selecionadas pelo usurio Descrio Retorno nulo.

ReportSintaxe oObj:Report ( ) --> NIL Retorno Tipo (NULO) Descrio Retorno nulo.

Descrio Retorna o objeto da classe TReport que a classe TRSection pertence

SetFilterSintaxe oObj:SetFilter ( < cFilter > , [ cIndexKey ] ) --> NIL Parmetros Argumento cFilter cIndexKey Retorno Tipo (NULO) Descrio Define um filtro ou um ndice com filtro (IndRegua) para a tabela princiapal da seo. Se no informado o parametro com a chave de ndice, ser executado SET FILTER TO com o primeiro parametro, seno ser criado um ndice com filtro (IndRegua) e sua ordem ser retornada pelo mtodo GetIdxOrder Descrio Retorno nulo. Tipo Caracter Caracter Descrio Expresso de filtro no formato ADVPL Chave de ndice

SetHeaderBreakSintaxe oObj:SetHeaderBreak ( [ lHeaderBreak ] ) --> NIL Parmetros Argumento lHeaderBreak Tipo Lgico Descrio Verdadeiro para imprimir o cabealho Valor padro: verdadeiro

Retorno Tipo (NULO) Descrio Define se imprime cabealho das clulas aps uma quebra (TRBreak) Descrio Retorno nulo.

SetHeaderSection

Sintaxe oObj:SetHeaderSection ( [ lHeaderSection ] ) --> NIL Parmetros Argumento lHeaderSection Tipo Lgico Descrio Verdadeiro para imprimir o cabealho Valor padro: Verdadeiro

Retorno Tipo (NULO) Descrio Define de imprime cabealho das clulas na quebra de seo Descrio Retorno nulo.

SetIdxOrderSintaxe oObj:SetIdxOrder ( < nIdxOrder > ) --> NIL Parmetros Argumento nIdxOrder Retorno Tipo (NULO) Descrio Define uma ordem de ndice para a tabela principal Descrio Retorno nulo. Tipo Numrico Descrio Ordem do ndice

SetOrderSintaxe oObj:SetOrder ( < nOrdem > ) --> NIL Parmetros Argumento nOrdem Tipo Numrico Descrio Ordem que ser utilizada

Retorno Tipo (NULO) Descrio Define a ordem (TROrder) que ser utilizada pela seo Descrio Retorno nulo.

SetPageBreakSintaxe oObj:SetPageBreak ( [ lPageBreak ] ) --> NIL Parmetros Argumento lPageBreak Tipo Lgico Descrio Verdadeiro para saltar a pgina Valor padro: Verdadeiro

Retorno Tipo (NULO) Descrio Define se salta a pgina na quebra de seo Descrio Retorno nulo.

SetParentFilterSintaxe oObj:SetParentFilter ( < bFilter > , [ bParam ] ) --> NIL Parmetros Argumento bFilter bParam Tipo Code-Block Code-Block Descrio Bloco de cdigo com a regra para sada do loop Bloco de cdigo com a expresso que retornar o valor que ser enviado como parametro para o parametro com a regra para sada do loop

Retorno Tipo (NULO) Descrio Descrio Retorno nulo.

Define a regra de sada do loop de processamento do mtodo Print das sees filhas

SetParentQuerySintaxe oObj:SetParentQuery ( [ lParentQuery ] ) --> NIL Parmetros Argumento lParentQuery Tipo Lgico Descrio Verdadeiro para utilizar query da seo pai Valor padro: Verdadeiro

Retorno Tipo (NULO) Descrio Define se a seo filha utilizara a query da seo pai no processamento do mtodo Print Descrio Retorno nulo.

SetReadOnlySintaxe oObj:SetReadOnly ( [ SetReadOnly ] ) --> NIL Parmetros Argumento SetReadOnly Tipo Lgico Descrio Verdadeiro para desabilitar alterao do layout Valor padro: Verdadeiro

Retorno Tipo (NULO) Descrio Define se o usurio no poder alterar o layout da seo, ou seja, no poder remover as clulas prdefinidas. As clulas que forem adicionadas na seo sero impressas na prxima pgina, aps ter impresso as clulas pr-definidas. Descrio Retorno nulo.

SetRelationSintaxe

oObj:SetRelation ( < bFormula > , [ cAlias ] , [ uOrder ] , [ lSeek ] ) --> NIL Parmetros Argumento bFormula cAlias uOrder lSeek Tipo Code-Block Caracter (Qualquer) Lgico Descrio Bloco de cdigo com a expresso para relacionamento entre as sees Tabela utilizada pela frmula Ordem utilizada tabela Tipo Caracter: Nickname da ordem de ndice Tipo Numrico: Ordem do ndice Indica se ser executado DbSeek com o contedo da frmula Valor padro: Verdadeiro

Retorno Tipo (NULO) Descrio Define a frmula de relacionamento de uma seo filha com sua seo pai, caso no utilize a query da seo pai (SetParentQuery) O mtodo SetRelation ir criar o componente TRRelation apresentado no documento 'Estrutura do componente TReport', que faz o controle do relacionamento entre as sees. Descrio Retorno nulo.

ShowSintaxe oObj:Show ( ) --> NIL Retorno Tipo (NULO) Descrio Habilita a impresso do componente Descrio Retorno nulo.

VisibleSintaxe oObj:Visible ( ) --> lVisible Retorno Tipo Lgico Descrio Verdadeiro se esta habilitado a impresso

Descrio Retorna se o componente esta habilitada para impresso

lReadOnlySintaxe oObj:lReadOnly ( ) --> lReadOnly Retorno Tipo Lgico Descrio Retorna se o usurio pode alterar o layout da seo Descrio Verdadeiro se usurio no pode alterar o layout

TRBreakDescrio Quebra de uma seo de um relatrio que utiliza a classe TReport. A classe TRBreak utilizada para impresso dos totalizadores da seo antes do final da mesma ou do relatrio, dependendo da regra de quebra informada. Mtodos Mtodo New SetBreak Execute Descrio Mtodo construtor da classe TRBreak Define a regra para a quebra 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.

ExecuteSintaxe oObj:Execute ( ) --> lBreak Retorno Tipo Lgico Descrio 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. Descrio Indique que houve uma quebra

NewSintaxe TRBreak():New ( < oParent > , [ uBreak ] , [ cTitle ] , [ lTotalInLine ] ) --> TRBreak Parmetros Argumento oParent uBreak Tipo Objeto (Qualquer) Descrio Objeto da classe TRSection que a quebra pertence Regra para quebra

cTitle lTotalInLine

Caracter Lgico

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 Ttulo da quebra Verdadeiro se totalizadores sero impressos em linha Valor padro: Falso

Retorno Tipo Objeto Descrio Mtodo construtor da classe TRBreak Descrio Objeto da classe TRBreak

SetBreakSintaxe oObj:SetBreak ( < uBreak > ) --> NIL Parmetros Argumento Tipo Descrio 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

uBreak

(Qualquer)

Retorno Tipo (NULO) Descrio Define a regra para a quebra Descrio Retorno nulo.

TRCellDescrio Clula de impresso de uma seo (TRSection) de um relatrio que utiliza a classe TReport Mtodos Mtodo Descrio Mtodo construto da classe TRCell. Se o nome da clula informada pelo parametro for encontrado no Dicionrio de Campos (SX3), as informaes do campo sero carregadas para a clula, respeitando os parametros de ttulo, picture e tamanho. Dessa forma o relatrio sempre estar atualizado com as informaes do Dicionrio de Campos (SX3). New O nome da clula ser utilizado junto ao alias informado pelo parametro como contedo para a impresso da clula, como por exemplo a impresso do campo A1_COD da tabela SA1. Se for informado o parametro 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) Habilita impresso da clula Desabilita impresso da clula, ou seja, a clula no ser impressa e seu poscionamento no ser calculado Desabilita impresso da clula, porm continua calculando seu poscionamento Retorna a coluna que a clula ser impressa pelo mtodo PrintLine da seo que a clula pertence Avalia as informaes da clula para a impresso do contedo pelo mtodo PrintLine da seo que a clula pertente Retorna a largura da clula Retorna o texto que ser impresso pelo mtodo PrintLine da seo que a clula pertence Carrega informaes (ttulo, picture, tamanho, etc) do campo informado pelo parametro baseado no Dicionrio de Campos (SX3) Define a mscara de impresso da clula Define o tamanho da clula, em pixel ou nmero de caracteres Define o bloco de cdigo que retornar o contedo de impresso da clula. Definindo o bloco de cdigo para a clula, esta no utilizara mais o nome mais o alias para retornar o contedo de impresso. Define um valor constante para a clula. Definindo um valor constante para a clula, esta no utilizara 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 parametro no for informado (Nulo), ento a clula deixar de usar o valor constante, voltando a imprimir seu contedo utilizando nome mais alias. Define o alinhamento da clula na impresso.

Enable Disable Hide ColPos Execute GetWidth GetText GetFieldInfo SetPicture SetSize SetBlock

SetValue

SetAlign

O alinhamento padro sem o uso do mtodo SetAlign depende do tipo do contedo da clula no momento da impresso: Tipo numrico: alinhamento a direita

Outros tipos: alinhamento a esquerda Define que a clula ir imprimir a descrio do item de um campo que tenha o formato ComboBox, utilizado no Dicionrio de Campos (SX3) O formato do parametro o mesmo utilizado no Dicionrio de Campos (SX3), como no exemplo abaixo: oCell:SetCBox('1=Sim;2=No'). Na impresso ser utilizado a descrio do item. No exemplo acima se o contedo da clula for '1', ser impresso 'Sim', sendo que o mtodo j ira calcular o tamanho da clula baseado na maior descrio informada. Retorna o valor constante da clula definido pelo mtodo SetValue

SetCBox

GetValue

ColPosSintaxe oObj:ColPos ( ) --> nCol Retorno Tipo Numrico Descrio Retorna a coluna que a clula ser impressa pelo mtodo PrintLine da seo que a clula pertence Descrio Coluna de impresso da clula

DisableSintaxe oObj:Disable ( ) --> NIL Retorno Tipo (NULO) Descrio Desabilita impresso da clula, ou seja, a clula no ser impressa e seu poscionamento no ser calculado Descrio Retorno nulo.

Enable

Sintaxe oObj:Enable ( ) --> NIL Retorno Tipo (NULO) Descrio Habilita impresso da clula Descrio Retorno nulo.

ExecuteSintaxe oObj:Execute ( ) --> NIL Retorno Tipo (NULO) Descrio Avalia as informaes da clula para a impresso do contedo pelo mtodo PrintLine da seo que a clula pertente Descrio Retorno nulo.

GetFieldInfoSintaxe oObj:GetFieldInfo ( < cField > ) --> NIL Parmetros Argumento cField Retorno Tipo (NULO) Descrio Carrega informaes (ttulo, picture, tamanho, etc) do campo informado pelo parametro baseado no Dicionrio de Campos (SX3) Descrio Retorno nulo. Tipo Caracter Descrio Nome do campo

GetText

Sintaxe oObj:GetText ( ) --> cText Retorno Tipo Caracter Descrio Retorna o texto que ser impresso pelo mtodo PrintLine da seo que a clula pertence Descrio Texto para impresso

GetValueSintaxe oObj:GetValue ( ) --> NIL Retorno Tipo (NULO) Descrio Retorna o valor constante da clula definido pelo mtodo SetValue Descrio Retorno nulo.

GetWidthSintaxe oObj:GetWidth ( ) --> nWidth Retorno Tipo Numrico Descrio Retorna a largura da clula Descrio Largura da clula

HideSintaxe oObj:Hide ( ) --> NIL Retorno

Tipo (NULO) Descrio

Descrio Retorno nulo.

Desabilita impresso da clula, porm continua calculando seu poscionamento

NewSintaxe TRCell():New ( < oParent > , < cName > , [ cAlias ] , [ cTitle ] , [ cPicture ] , [ nSize ] , [ lPixel ] , [ bBlock ] ) --> TRCell Parmetros Argumento oParent cName cAlias cTitle cPicture nSize lPixel bBlock Retorno Tipo Objeto Descrio Mtodo construto da classe TRCell. Se o nome da clula informada pelo parametro for encontrado no Dicionrio de Campos (SX3), as informaes do campo sero carregadas para a clula, respeitando os parametros 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 parametro como contedo para a impresso da clula, como por exemplo a impresso do campo A1_COD da tabela SA1. Se for informado o parametro 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) Descrio Objeto da classe TRCell Tipo Objeto Caracter Caracter Caracter Caracter Numrico Lgico Code-Block Descrio Objeto da classe TRSection que a clula pertence Nome da clula Alias utilizado pela clula Ttulo da clula Mscara de impresso da clula Tamanho da clula, em pixel ou nmero de caracteres Indica se tamanho esta sendo informado em pixel Bloco de cdigo que retornar o contedo da clula

SetAlignSintaxe oObj:SetAlign ( < nAlign > ) --> NIL

Parmetros Argumento nAlign Tipo Caracter Descrio Tipo de alinhamento "LEFT" - esquerda "RIGH" - direita "CENTER" - centro

Retorno Tipo (NULO) Descrio Define o alinhamento da clula na impresso. O alinhamento padro sem o uso do mtodo SetAlign depende do tipo do contedo da clula no momento da impresso: Tipo numrico: alinhamento a direita Outros tipos: alinhamento a esquerda Descrio Retorno nulo.

SetBlockSintaxe oObj:SetBlock ( < bBlock > ) --> NIL Parmetros Argumento bBlock Retorno Tipo (NULO) Descrio Define o bloco de cdigo que retornar o contedo de impresso da clula. Definindo o bloco de cdigo para a clula, esta no utilizara mais o nome mais o alias para retornar o contedo de impresso. Descrio Retorno nulo. Tipo Code-Block Descrio Bloco de cdigo com expresso que retornar o contedo de impresso

SetCBoxSintaxe oObj:SetCBox ( < cCBox > ) --> NIL

Parmetros Argumento cCBox Retorno Tipo (NULO) Descrio Define que a clula ir imprimir a descrio do item de um campo que tenha o formato ComboBox, utilizado no Dicionrio de Campos (SX3) O formato do parametro o mesmo utilizado no Dicionrio de Campos (SX3), como no exemplo abaixo: oCell:SetCBox('1=Sim;2=No'). Na impresso ser utilizado a descrio do item. No exemplo acima se o contedo da clula for '1', ser impresso 'Sim', sendo que o mtodo j ira calcular o tamanho da clula baseado na maior descrio informada. Descrio Retorno nulo. Tipo Caracter Descrio Texto com os itens e descrio do ComboBox

SetPictureSintaxe oObj:SetPicture ( < cPicture > ) --> NIL Parmetros Argumento cPicture Retorno Tipo (NULO) Descrio Define a mscara de impresso da clula Descrio Retorno nulo. Tipo Caracter Descrio Mscara de impresso da clula, no formato ADVPL

SetSizeSintaxe oObj:SetSize ( < nSize > , [ lPixel ] ) --> NIL Parmetros Argumento nSize Tipo Numrico Descrio Tamanho da clula

lPixel

Lgico

Indica se tamanho esta sendo informado em pixel Valor padro: Falso

Retorno Tipo (NULO) Descrio Define o tamanho da clula, em pixel ou nmero de caracteres Descrio Retorno nulo.

SetValueSintaxe oObj:SetValue ( [ uParam ] ) --> NIL Parmetros Argumento uParam Retorno Tipo (NULO) Descrio Define um valor constante para a clula. Definindo um valor constante para a clula, esta no utilizara 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 parametro no for informado (Nulo), ento a clula deixar de usar o valor constante, voltando a imprimir seu contedo utilizando nome mais alias. Descrio Retorno nulo. Tipo (Qualquer) Descrio Define valor constante para a clula

TRFunctionDescrio Totalizador de uma quebra, seo ou relatrio que utiliza a classe TReport. Um totalizador pode executar uma das seguintes funes abaixo, utilizando como referencia 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)

Na criao do totalizador sempre informado uma seo (TRSection) a qual ele pertence, e automaticamente o totalizador ser incluido no relatrio (TReport) que a seo pertence. Mtodos Mtodo Descrio Mtodo construtor da classe TRFunction. O parametro que indica qual clula o totalizador se refere ,ser utilizado para posicionamento de impresso do totalizador quando estiver definido que a impresso ser por coluna e como contedo para a funo definida caso no seja informada uma frmula para o totalizador Retorna a frmula do totalizador Retorna o valor atual do totalizador para a seo Retorna o valor atual do totalizador para a pgina Retorna o valor atual do totalizador para o relatrio Retorna a funo (SUM, COUNT, MAX, MIN, AVERAGE) utilizada pelo totalizador. Retorna se o totalizador ser impresso na quebra de seo Retorna se totalizador ser impresso no final da pgina Retorna se totalizador ser impresso no final do relatrio 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. Reinicia valor do totalizador Reinicia valor do totalizador para a seo Reinicia valor do totalizador para a pgina Reinicia valor do totalizador para o relatrio Define a frmula utilizada pelo totalizador ao invs do contedo da clula que ele se refere Define a quebra (TRBreak) que o totalizador ser impresso Define a funo (SUM, COUNT, MAX, MIN, AVERAGE, HOUR) que ser utilizada pelo totalizador Define se o totalizador ser impresso na quebra de seo

New

Formula SectionValue PageValue ReportValue GetFunction EndSection EndPage EndReport

Execute

Reset ResetSection ResetPage ResetReport SetFormula SetBreak SetFunction SetEndSection

SetEndPage SetEndReport

Define se o totalizador ser impresso no final da pgina Define se o totalizador ser impresso no final do relatrio

EndPageSintaxe oObj:EndPage ( ) --> NIL Retorno Tipo (NULO) Descrio Retorna se totalizador ser impresso no final da pgina Descrio Retorno nulo.

EndReportSintaxe oObj:EndReport ( ) --> lEndReport Retorno Tipo Lgico Descrio Verdadeiro para imprimir no final do relatrio Valor padro: Verdadeiro

Descrio Retorna se totalizador ser impresso no final do relatrio

EndSectionSintaxe oObj:EndSection ( ) --> lEndSection Retorno Tipo Lgico Descrio Retorna se o totalizador ser impresso na quebra de seo Descrio Verdadeiro se imprime na quebra de seo

Execute

Sintaxe oObj:Execute ( ) --> NIL Retorno Tipo (NULO) Descrio 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. Descrio Retorno nulo.

FormulaSintaxe oObj:Formula ( ) --> uFormula Retorno Tipo (Qualquer) Descrio - Objeto da classe TRCell ou ; - texto para macro execuo ou ; - bloco de cdigo

Descrio Retorna a frmula do totalizador

GetFunctionSintaxe oObj:GetFunction ( ) --> cFunction Retorno Tipo Caracter Descrio Retorna a funo (SUM, COUNT, MAX, MIN, AVERAGE) utilizada pelo totalizador. Descrio Funo utilizada pelo totalizador

New

Sintaxe TRFunction():New ( < oParent > , [ cID ] , < cFunction > , [ oBreak ] , [ cTitle ] , [ cPicture ] , [ uFormula ] , [ lEndSection ] , [ lEndReport ] ) --> NIL Parmetros Argumento oParent cID cFunction oBreak cTitle cPicture uFormula lEndSection lEndReport Tipo Objeto Caracter Caracter Objeto Caracter Caracter (Qualquer) Lgico Lgico Descrio Objeto da classe TRCell que o totalizador se refere Identificao do totalizador Funo que ser utilizada pelo totalizador (SUM, COUNT, MAX, MIN, AVERAGE, HOUR) Objeto da classe TRBreak que define em qual quebra o totalizador ser impresso Ttulo do totalizador. Se no informado ser utilizado o ttulo da clula que o totalizador se refere Mscara de impresso do totalizador. Se no informado ser utilizado a mscara da clula que o totalizador se refere Tipo Caracter: Expresso ADVPL para macro execuo Tipo Bloco de Cdigo: Bloco de Cdigo com a expresso ADVPL para execuo Indica se totalizador ser impresso na quebra de seo Valor padro: Verdadeiro Indica se totalizador ser impresso no final do relatrio Valor padro: Verdadeiro

Retorno Tipo (NULO) Descrio Mtodo construtor da classe TRFunction. O parametro que indica qual clula o totalizador se refere ,ser utilizado para posicionamento de impresso do totalizador quando estiver definido que a impresso ser por coluna e como contedo para a funo definida caso no seja informada uma frmula para o totalizador Descrio Retorno nulo.

PageValueSintaxe oObj:PageValue ( ) --> NIL Retorno Tipo (NULO) Descrio Retorna o valor atual do totalizador para a pgina Descrio Retorno nulo.

ReportValueSintaxe oObj:ReportValue ( ) --> uReportValue Retorno Tipo (Qualquer) Descrio Retorna o valor atual do totalizador para o relatrio Descrio Valor atual para o relatrio

ResetSintaxe oObj:Reset ( ) --> NIL Retorno Tipo (NULO) Descrio Reinicia valor do totalizador Descrio Retorno nulo.

ResetPageSintaxe oObj:ResetPage ( ) --> NIL Retorno Tipo (NULO) Descrio Reinicia valor do totalizador para a pgina Descrio Retorno nulo.

ResetReportSintaxe oObj:ResetReport ( ) --> NIL

Retorno Tipo (NULO) Descrio Reinicia valor do totalizador para o relatrio Descrio Retorno nulo.

ResetSectionSintaxe oObj:ResetSection ( ) --> NIL Retorno Tipo (NULO) Descrio Reinicia valor do totalizador para a seo Descrio Retorno nulo.

SectionValueSintaxe oObj:SectionValue ( ) --> uSectionValue Retorno Tipo (Qualquer) Descrio Retorna o valor atual do totalizador para a seo Descrio Valor atual para a seo

SetBreakSintaxe oObj:SetBreak ( < oBreak > ) --> NIL Parmetros Argumento oBreak Tipo Objeto Descrio Objeto da classe TRBreak

Retorno Tipo (NULO) Descrio Define a quebra (TRBreak) que o totalizador ser impresso Descrio Retorno nulo.

SetEndPageSintaxe oObj:SetEndPage ( [ lEndPage ] ) --> NIL Parmetros Argumento lEndPage Tipo Lgico Descrio Verdadeiro para imprimir no final da pgina Valor padro: Verdadeiro

Retorno Tipo (NULO) Descrio Define se o totalizador ser impresso no final da pgina Descrio Retorno nulo.

SetEndReportSintaxe oObj:SetEndReport ( [ lEndReport ] ) --> NIL Parmetros Argumento lEndReport Tipo Lgico Descrio Verdadeiro para imprimir no final do relatrio Valor padro: Verdadeiro

Retorno Tipo (NULO) Descrio Define se o totalizador ser impresso no final do relatrio Descrio Retorno nulo.

SetEndSectionSintaxe oObj:SetEndSection ( [ lEndSection ] ) --> NIL Parmetros Argumento lEndSection Tipo Lgico Descrio Verdadeiro para imprimir na quebra de seo Valor padro: Verdadeiro

Retorno Tipo (NULO) Descrio Define se o totalizador ser impresso na quebra de seo Descrio Retorno nulo.

SetFormulaSintaxe oObj:SetFormula ( < uFormula > ) --> NIL Parmetros Argumento uFormula Tipo (Qualquer) Descrio Tipo Caracter: Expresso ADVPL para macro execuo Tipo Bloco de Cdigo: Bloco de Cdigo com a expresso ADVPL para execuo

Retorno Tipo (NULO) Descrio Define a frmula utilizada pelo totalizador ao invs do contedo da clula que ele se refere Descrio Retorno nulo.

SetFunctionSintaxe oObj:SetFunction ( < cFunction > ) --> NIL Parmetros

Argumento cFunction Retorno Tipo (NULO) Descrio

Tipo Caracter

Descrio Funo que ser utilizada pelo totalizador

Descrio Retorno nulo.

Define a funo (SUM, COUNT, MAX, MIN, AVERAGE, HOUR) que ser utilizada pelo totalizador

TRPositionDescrio Clula de posicionamento de uma seo de um relatrio que utiliza a class 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. Mtodos Mtodo New SetTable SetOrder SetNickName Execute Enable Disable SetFormula Descrio Mtodo construtor da classe TRPosition Define a tabela que ser utitliza pela frmula para o posicionamento Define a ordem do ndice para o posicionamento Define a ordem do ndice pelo seu nickname Executa a frmula de posicionamento definida no parametro do mtodo New ou pelo mtodo SetFormula Habilita execuo da clula de posicionamento Desabilita execuo da clula de posicionamento Define a frmula de posicionamento da tabela informada por parametro pelo mtodo New ou pelo mtodo SetTable

DisableSintaxe oObj:Disable ( ) --> NIL Retorno Tipo (NULO) Descrio Desabilita execuo da clula de posicionamento Descrio Retorno nulo.

EnableSintaxe oObj:Enable ( ) --> NIL Retorno Tipo Descrio

(NULO) Descrio

Retorno nulo.

Habilita execuo da clula de posicionamento

ExecuteSintaxe oObj:Execute ( ) --> NIL Retorno Tipo (NULO) Descrio Executa a frmula de posicionamento definida no parametro do mtodo New ou pelo mtodo SetFormula Descrio Retorno nulo.

NewSintaxe TRPosition():New ( < oParent > , [ cAlias ] , [ uOrder ] , [ uFormula ] , [ lSeek ] ) --> TRPosition Parmetros Argumento oParent cAlias uOrder Tipo Objeto Caracter (Qualquer) Descrio 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 Verdadeiro para executar o DbSeek com o contedo retornado pela frmula Valor padro: Verdadeiro

uFormula

(Qualquer)

lSeek

Lgico

Retorno Tipo Objeto Descrio Mtodo construtor da classe TRPosition Descrio Objeto da classe TRPosition

SetFormulaSintaxe oObj:SetFormula ( < uFormula > , [ lSeek ] ) --> NIL Parmetros Argumento uFormula Tipo (Qualquer) Descrio Frmula de posicionamento Tipo Caracter: Expresso ADVPL para macro execuo Tipo Bloco de Cdigo: Bloco de Cdigo com a expresso ADVPl para execuo Verdadeiro para executar o DbSeek com o contedo retornado pela frmula Valor padro: Verdadeiro

lSeek

Lgico

Retorno Tipo (NULO) Descrio Define a frmula de posicionamento da tabela informada por parametro pelo mtodo New ou pelo mtodo SetTable Descrio Retorno nulo.

SetNickNameSintaxe oObj:SetNickName ( < cNickname > ) --> NIL Parmetros Argumento cNickname Retorno Tipo (NULO) Descrio Define a ordem do ndice pelo seu nickname Descrio Retorno nulo. Tipo Caracter Descrio Nickname do ndice

SetOrderSintaxe

oObj:SetOrder ( < nOrder > ) --> NIL Parmetros Argumento nOrder Retorno Tipo (NULO) Descrio Define a ordem do ndice para o posicionamento Descrio Retorno nulo. Tipo Numrico Descrio Ordem do ndice

SetTableSintaxe oObj:SetTable ( < cAlias > ) --> NIL Parmetros Argumento cAlias Retorno Tipo (NULO) Descrio Define a tabela que ser utitliza pela frmula para o posicionamento Descrio Retorno nulo. Tipo Caracter Descrio Tabela para posicionamento