t Report
-
Upload
juliane-venteu -
Category
Documents
-
view
264 -
download
0
description
Transcript of t Report
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 1/56
TREPORT
Classe de impressão que substitui as funções SetPrint, SetDefault, RptStatus eCabec.A classe TReport permite que o usuário personalie as informações que serãoapresentadas no relat!rio, alterando fonte "tipo, taman#o, etc.$, cor, tipo de lin#as,
cabeçal#o, rodap%, etc.
&strutura do componente TReport'( relat!rio "TReport$ cont%m uma ou mais seções "TRSection$)*ma seção "TRSection$ pode conter uma ou mais seções)A seção "TRSection$ cont%m c%lulas pr%+denidas e c%lulas selecionadas pelo
usuário)A seção "TRSection$ tamb%m cont%m as quebras "TR-rea$ para impressãode totaliadores "TR/unction$)(s totaliadores são inclu0dos pela seção que automaticamente inclui no
relat!rio"TReport$.
Propriedades
a-rea Arra1 com todas as quebras totaliadoras do relat!rio.&lemento' 2+(b3eto TR-rea
aCollection Arra1 com todos totaliadores do tipo TRCollection do relat!rio.&lemento' 2+(b3eto TRCollection
aCustomTe4t Arra1 contendo a customiação para impressão do cabeçal#opadrão.
&lementos' 25Te4to a ser impresso, no qual, um elemento porlin#a. &4istem al6umas strin6s que pode au4iliar na criação docabeçal#o'
778(9:8&-R&A;77 + 8ão quebra lin#a
778(TRA8S/(R<77 + :mprime sem nen#um tratamento 779(=(&<P77 + :mprime o lo6o da empresa 77/AT9:8&77 + :mprime um lin#a 6rossa 77T>:89:8&77 + :mprime uma lin#a na
a-mps Arra1 com as ima6ens dos 6rácos en?iadas por email.&lemento' 2+
Camin#o da ima6ema/ontSie Arra1 com as fontes do sistema. &lementos' 2+/onte, @+ Taman#o, +
Taman#o em pi4ela/unction Arra1 com todos totaliadores do tipo TR/unction do relat!rio.
&lemento' 2+(b3eto TR/unctiona>eaderPa6e Arra1 com todas as seções que imprimem cabeçal#o no topo
da pá6inaaSection Arra1 com todas as seções do relat!rio. &lemento' 2+(b3eto TRSectionbAction -loco de c!di6o e4ecutado quando o usuário conrmara impressão do
relat!riobCustomTe4t -loco de c!di6o para atualiação da propriedade aCustomTe4tb(n8umberPa6e -loco de c!di6o para atualiação do nBmero da pá6ina atualb(nPa6e-rea -loco de c!di6o para tratamentos na inicialiação decada
pá6inabTotal Compatibilidade 8ão utiliadobTotalCanPrint -loco de c!di6o utiliado para ?alidar a impressão dostotaliadores
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 2/56
bTotalPos -loco de c!di6o utiliado para localiar a posição do totaliadora ser impressobTotalPrint -loco de c!di6o utiliado para imprimir os totaliadoresbTotalReset -loco de c!di6o utiliado para limpar os totaliadoresbTotalRSie -loco de c!di6o utiliado para denir o taman#o dasCollections
bTotalTe4t -loco de c!di6o utiliado na impressão do te4to do totaliadorcClass8ame 8ome da classe. &4emplo' TR&P(RTcDate da impressão do relat!riocDescription Descrição do relat!riocDir Diret!rio selecionado para 6eração do relat!rioc&mail e+mail utiliado na 6eração do relat!rio ?ia e+mailc/ont-od1 /onte denida para impressão do relat!rioc/ile 8ome do arqui?o que será 6eradoc:D :D do component. &4emplo' TR&P(RTc9o6o 9o6o da empresalialc<s6Print <ensa6em apresentada durante a 6eração do relat!riocPrinter8ame 8ome da impressora selecionada para impressãocReport 8ome do relat!rio. &4emplo' <ATRE2E
cTime >ora da impressão do relat!riocTitle T0tulo do relat!riocRealTitle T0tulo padrão do relat!rio denido pelo criador do relat!rioc*ser(bs (bser?ação do usuáriocFlsT>St1le &stilo do cabeçal#o padrão utiliado na 6eração da planil#acFlsS>St1le &stilo do cabeçal#o utiliado na 6eração da planil#acFmlDefault Arqui?o F<9 contendo :nformações do relat!rio padrãocFls/ile 8ome do arqui?o que será 6erado em planil#al-old Aponta que as :nformações serão impressas em ne6ritolCanceled Aponta que o relat!rio foi canceladolClr-ac Dene que a cor de fundo de?erá ser atualiadalClr/ore Dene que a cor da fonte de?erá ser atualiadalDisable(rientation (rientação "RetratoPaisa6em$ não poderá ser modicadalD1namic Aponta que o relat!rio % dinGmico, permitindo imprimir as
seções conforme a ordem de impressão selecionadal&dit Relat!rio não poderá ser con6urado pelo usuáriol&nabled :mpressão do relat!rio foi desabilitadal&mpt19ine&4cel Suprime as lin#as em branco e os totais na 6eração emplanil#al/ooterHisible >abilita a impressão do rodap%l/unction-efore :mprime os totaliadores do tipo TR/unction antes dostotaliadores do
tipo TRCollecionsl>eaderHisible >abilita a impressão do cabeçal#ol:talic Aponta que as informações serão impressas em itálico
l(nPa6e-rea Cabeçal#o das seções impressas ap!s a quebra de pá6inalPa6e-rea Iuebra pá6ina antes da impressão dos totaliadoreslParamPa6e &4iste parGmetros para impressãolParamRead(nl1 ParGmetros não poderão ser alterados pelo usuáriolPi4ColSpace &spaçamento das colunas serão calculadas em pi4ellPre?ieJ Hisualiação do relat!rio antes da impressão f0sicalPrintin6 Relat!rio esta em processo de impressãolPrtParamPa6e Aponta que serão impressos os parGmetros do relat!riolStartPa6e Aponta que uma no?a pá6ina de?erá se inicialiadalTotal:n9ine :mprime as c%lulas no formato lin#alTPa6e-rea Iuebra pá6ina ap!s a impressão do totaliadorl*nderline Aponta que as :nformações serão impressas sublin#adasl*serAccess Halida permissão para 6eração dos 6rácos do relat!rio
l*ser:nfo :mprime :nformações do usuário na pá6ina de parGmetrosl*ser/ilter Permite a utiliação de ltros na personaliação do relat!rio
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 3/56
lFls>eader :mprime informações do cabeçal#o padrão na 6eração emplanil#al8oPrint Aponta que nen#uma informação foi impressalFml&ndRoJ Aponta m de lin#a na 6eração em planil#alFlsParam Aponta a e4istKncia de parGmetros na 6eração em planil#al&ndReport :mprime total 6eral do relat!rio
n-orderDiL Taman#o da borda utiliado para cálculo da altura de umalin#anClr-ac Cor de fundonClr/ore Cor da fontenCol Coluna posiciona na impressãonColSpace &spaçamento entre as colunasnDe?ice Tipo de impressão selecionado. (pções' 2+Arqui?o,@+:mpressora,+
email,M+Planil#a e N+>tmln&n?ironment Ambiente selecionado. (pções' 2+Ser?er e @+Clienten/ont-od1 Taman#o da fonte denida para impressão do relat!rion>eaderDiL Taman#o do cabeçal#o utiliado para cálculo do altura dapá6ina
n9eft<ar6in Taman#o da mar6em a esquerdan9ine>ei6#t Altura da lin#an9o6P4ODiL *tiliado no cálculo para 6eração da ?isualiação do relat!rion9o6P4FDiL *tiliado no cálculo para 6eração da ?isualiação do relat!rion<eter Posição da r%6ua de pro6ressãon(rder (rdem de impressão selecionadanPa6eidt# 9ar6ura da pá6inanP4ColSpace &spaçamento da coluna em pi4elnP4-ase Taman#o da base em pi4elnP4Date Taman#o da sistema operacional em pi4elnP49eft<ar6in Taman#o da mar6em a esquerda em pi4elnP4Pa6e Taman#o da numeração da pá6ina em pi4elnP4Title Taman#o do t0tulo em pi4elnRemoteT1pe Aponta de que forma o Ser?er está 6erando o relat!rio.(pções' 2+Sem
Remote,@+Remote Delp#i,+Remote indoJs e M+Remote 9inu4nRoJ 9in#a posicionada na impressãonFlsCol Coluna posicionada na 6eração em planil#anFlsRoJ 9in#a posicionada na 6eração em planil#anFlsSt1le &stilo utiliado na 6eração em planil#an&4cel 8Bmero do arqui?o na 6eração em planil#anColumnPos Posicionamento no arqui?o 6erado em planil#ao-rd-ottom (b3eto TR-order com a borda :nferioro-rd9eft (b3eto TR-order com a borda Q esquerdao-rdRi6#t (b3eto TR-order com a borda Q direita
o-rdTop (b3eto TR-order com a borda superioro>-rd-ottom (b3eto TR-order com a borda :nferior no cabeçal#oo>-rd9eft (b3eto TR-order com a borda Q esquerda no cabeçal#oo>-rdRi6#t (b3eto TR-order com a borda Q direita no cabeçal#oo>-rdTop (b3eto TR-order com a borda superior no cabeçal#ooClr-ac (b3eto T-rus# com a cor de /undoo/ont-od1 (b3eto T/ont com a fonte do relat!rioo/ont>eader (b3eto T/ont com a fonte do cabeçal#oo<eter (beto T<eter com a r%6ua de pro6ressãoo<s6 (b3eto TSAO com a mensa6em apresentada durante aimpressão do
relat!riooPa6e (b3eto TRPa6e com a con6uração da pá6ina de impressão
oParamPa6e (b3eto TRParamPa6e com a con6uração da pá6ina deparGmetrosoPrint (b3eto T<SPrinter
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 4/56
oReport Componente de impressãooFlsCell Compatibilidade 8ão utiliadooFlsRoJ Compatibilidade 8ão utiliadooFlsSt1les Compatibilidade 8ão utiliadooFlsors#eet Compatibilidade 8ão utiliadouParam ParGmetros do relat!rio cadastrado no Dicionário de
Per6untas "SF2$ Tamb%m pode ser utiliado bloco de c!di6o para parGmetroscustomiados.
MÉTODOS
AddBreak(oBreak)Adiciona a quebra de impressão na propriedade a-reao-rea (b3eto TR-rea
AddCollection(oCollection)Adiciona o totaliador na propriedade aCollectionoCollection (b3eto TRCollection
AddFunction(oFunction,oParent)Adiciona o totaliador na propriedade a/unctiono/unction (b3eto TR/unctionoParent (b3eto TRSecion que aponta a seção que pertence ototaliador
AddeaderPa!e(oSection)Adiciona a seção que imprime cabeçal#o no topo da pá6inaoSection (b3eto TRSection
AddSection(oSection)
Adiciona a seção na propriedade aSectionoSection (b3eto TRSection
Border(uBorder,leader)Retorna a borda do relat!riou-order Tipo Caracter' T(P,-(TT(<,9&/T,R:=>T,A99
Tipo 8um%rico' 2+Superior,@+:nferior,+&squerda,M+Direita,N+Todasl>eader -orda do cabeçal#o
Retorno (b3eto do tipo TR-order
Bo"(nRo#,nCol,nBotto$,nRi!%t,oPen)Desen#a uma cai4a, utiliando as especicações do ob3eto TPen
nRoJ 9in#a no qual inicia o desen#o da cai4anCol Coluna no qual inicia o desen#o da cai4an-ottom 9in#a no qual nalia o desen#o da cai4anRi6#t Coluna no qual nalia o desen#o da cai4aoPen (b3eto da classe TPen
Cancel()Retorna se o usuário cancelou a impressão do relat!rio
CancelPrint()Cancela a impressão do relat!rio
C%ar&Pi"(nSi'e,cFont,nFontSi'e)
Retorna o taman#o de acordo com a fonte informadanSie Tipo Caracter' Te4to a ser considerado no cálculo
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 5/56
Tipo 8um%rico' Halor a ser considerado no cálculoc/ont /onte do relat!rion/ontSie Taman#o da fonte
Retorno Taman#o calculado em pi4el
C%kncRo#(nnc,line)Herica a necessidade de inicialiar uma no?a pá6ina antes da inclusão da lin#an:nc Iuantidade de lin#as a serem impressasl9ine Considera o taman#o da lin#a no cálculo
Retorno 9!6ico
Class*a$e()Retorna o nome da classe. &4emplo' TR&P(RT
ClrBack(lO+ect)Retorna a cor de fundo do relat!riol(b3ect Aponta que de?e ser retornado o ob3eto T-rus#
Retorno Caso o parGmetro l(b3eto se3a ?erdadeiro o retorno será o ob3eto T-rus#, caso
contrário será o nBmero da cor R=-.
ClrFore()Retorna a cor de fonte do relat!rioRetorno 8Bmero da cor R=-
Col()Retorna a coluna posicionada na impressão
ColSpace()Retorna o espaçamento entre as colunas
Description()Retorna a descrição do relat!rio
Disa+le()Desabilita a impressão do relat!rio
Disa+leOrientation()Desabilita a seleção da orientação "RetratoPaisa6em$
Ena+le()
>abilita a impressão do relat!rioEna+led()Retorna se a impressão do relat!rio esta #abilitada
EndPa!e(lFooter)/inalia a pá6ina na impressãol/ooter :mprime rodap% na naliação da pá6ina
E-alBreak(lForce,lPrinteader,oSection)&4ecuta a quebra na impressão do relat!riol/orce /orça a e4ecução do m%todo (n-rea da classe TR-rea
lPrint>eader :mprime cabeçal#o da seçãooSection Seção considerada na quebra
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 6/56
Retorno 9!6ico. Se ?erdadeiro, quebrou a impressão
EndReport()Retorna se imprime o total 6eral do relat!rio
Fatine()
Desen#a uma lin#a com altura 6rossa, iniciando posição da lin#a atual de impressãocom a lar6ura da pá6ina
FillRect(aRect,oBrus%)Preenc#e um retGn6ulo na impressão utiliando as especicações do ob3eto T-rus#aRect Hetor com coordenadas no formato' lin#a inicial, coluna inicial, lin#anal,
coluna nalo-rus# (b3eto da classe T-rus#
Finis%()/inalia a impressão do relat!rio, imprime os totaliadores, fec#a as quer1s e0ndices temporários, entre outros tratamentos do componente.
8ão % necessário e4ecutar o m%todo /inis# se for utiliar o m%todo Print, 3á que estefa o controle de inicialiação e naliação da impressão.
FreeAllO+s()&limina os ob3etos da mem!ria no ser?idor
FunctionBe.ore(lFunctionBe.ore)Dene se a impressão dos totaliadores do tipo TR/unction será realiada antes dostotaliadores do tipo TRCollection
/etAction()Retorna o bloco de c!di6o denido para a propriedade bAction
/etBreak(uBreak)Retorna a quebra do relat!riou-rea Tipo Caracter' 8ome da quebra
Tipo 8Bmerico' 8Bmero da quebra no arra1 a-rea
Retorno (b3eto TR-rea
/etD0na$ic()Retorna se o relat!rio % do tipo dinGmico
Retorno 9!6ico/etEdit()
Retorna se % permitida a con6uração do relat!rio pelo usuárioRetorno 9!6ico
/etFontSi'e(cFont,nFontSi'e,lBold,ltalic,l1nderline)Retorna o taman#o da fontec/ont /onte a ser considerada no cálculon/ontSie Taman#o da fontel-old Aponta se a fonte % ne6rital:talic Aponta se a fonte % itálical*nderline Aponta se a fonte % sublin#ada
Retorno Arra1 com informações do taman#o da fonte. &lementos' 2+/onte, @+
Taman#o, +Taman#o em pi4el
/etFunction(uFunction)
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 7/56
Retorna ob3eto da classe TR/unction "totaliadores$u/unction Tipo Caracter' 8ome da /unction
Tipo 8um%rico' ndice do ob3eto se6undo a ordem de criação doscomponentes TR/unction
Retorno (b3eto da classe TR/unction "totaliadores$
/etOrder()Retorna a ordem de impressão selecionada
Retorno (rdem selecionada
/etOrientation()Retorna a orientação de pá6ina "Retrato ou Paisa6em$ selecionada pelo usuário
Retorno 25Retrato ou @5Paisa6em
/etPara$()Retorna a per6unta ou bloco de c!di6o utiliado como parGmetros do relat!rio
/etPass#ord()8ão utiliado
/et2idt%()Retorna a lar6ura da pá6ina
ideFooter()Dene que não será impresso o rodap% padrão da pá6ina
ideeader()Dene que não será impresso o cabeçal#o padrão da pá6ina
idePara$Pa!e()Dene se será permitida a alteração dos parGmetros do relat!rio
ncMeter(nnc):ncrementa a r%6ua de pro6ressão do relat!rion:nc Iuantidade a incrementar na r%6ua. Padrão' 2
ncRo#(nnc):ncrementa lin#as na impressãon:nc Iuantidade de lin#as que de?erão ser incrementadas
Retorno 9in#a atualiada
nit():nicialia as con6urações e dene a primeira pá6ina do relat!rio.8ão % necessário e4ecutar o m%todo :nit se for utiliar o m%todo Print, 3á que estesfaem o controle de inicialiação e naliação da impressão.
e.tMar!in(lPi"el,lForce)Retorna o taman#o da mar6em Q esquerda do relat!riolPi4el Considera cálculo em pi4ell/orce /orça o recalculo da mar6em Q esquerda
Retorno Taman#o da mar6em Q esquerda
ine(nTop,ne.t,nBotto$,nRi!%t,oPen)Desen#a uma lin#a, utiliando as especicações da classe TPennTop 9in#a no qual inicia o desen#o da lin#a
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 8/56
n9eft Coluna no qual inicia o desen#o da lin#an-ottom 9in#a no qual nalia o desen#o da lin#anRi6#t Coluna no qual nalia o desen#o da lin#aoPen (b3eto da classe TPen
ineei!%t()
Retorna a altura da lin#a
Retorno Altura da lin#a
oadDe.ault()Carre6a o relat!rio padrão para personaliação
oada0out(ca0out)Carre6a um la1out customiado para impressãoc9a1out 9a1out a ser carre6ado
*e#(cReport,cTitle,uPara$,+Action,cDescription,landscape,uTotalTe"t,lTotalnine,
cPa!eTTe"t,lPa!eTnine,lTPa!eBreak,nColSpace)<%todo construtor da classe TReportcReport 8ome do relat!rio. &4emplo' <ATRE2EcTitle T0tulo do relat!riouParam ParGmetros do relat!rio cadastrado no Dicionário de Per6untas"SF2$
Tamb%m pode ser utiliado bloco de c!di6o para parGmetroscustomiados.bAction -loco de c!di6o que será e4ecutado quando o usuárioconrmar a impressão
do relat!riocDescription Descrição do relat!riol9andscape Aponta a orientação de pá6ina do relat!rio como paisa6emuTotalTe4t Te4to do totaliador do relat!rio, podendo ser caracter ou bloco de
c!di6olTotal:n9ine :mprime as c%lulas em lin#acPa6eTTe4t Te4to do totaliador da pá6inalPa6eT:n9ine :mprime totaliador da pá6ina em lin#alTPa6e-rea Iuebra pá6ina ap!s a impressão do totaliadornColSpace &spaçamento entre as colunas
Retorno (b3eto
*o1serFilter()Desabilita a utiliação de ltros na personaliação do relat!rio
*oCell()Herica a e4istKncia de seção sem c%lulas
Retorno 9!6ico
*oPrint()Retorna se não foram impressos re6istros
Retorno 9!6ico
OnPa!eBreak(+OnPa!eBreak,lOnPa!eBreak)Atualia a propriedade b(nPa6e-rea utiliada para tratamentos na inicialiação de
cadapá6ina
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 9/56
b(nPa6e-rea -loco de c!di6o para tratamentos na inicialiação de cadapá6inal(nPa6e-reaCabeçal#o das seções impressas ap!s a quebra de pá6ina
Pa!e()Retorna o nBmero da pá6ina atual na impressão
Pa!eBreak()Retorna se e4iste quebra de pá6ina
Retorno 9!6ico
Pa!eei!%t(leaderDi3)Retorna a altura da pá6ina baseado no taman#o da fol#a "AM, Carta, etc$, conformeseleção do usuáriol>eaderDiL Desconsidera o taman#o reser?ado para impressão do cabeçal#o
Pa!eTotalBe.ore()Dene se o total da pá6ina será impresso antes do total 6eral do relat!rio
Pa!eTotalnine(lTotalnine)Dene se o total da pá6ina será impresso em lin#a ou colunalTotal:n9ine Se ?erdadeiro será impress em lin#a
Pa!eTotalTe"t(cTe"t)Dene o te4to do totaliador da pá6inacTe4t Te4to do totaliador da pá6ina
Pa!e2idt%()Retorna a lar6ura da pá6ina baseado no taman#o da fol#a "AM, Carta, etc$,conforme seleção do usuário
Para$ReadOnl0(lPara$ReadOnl0)Dene se o usuário terá acesso aos parGmetros do relat!riolParamRead(nl1 .T. 8ão permite acesso aos parGmetros
./. Permite acesso aos parGmetros
Pre-ie#()Apresenta a ?isualiação do relat!rio antes da impressão f0sica
Print(lDl!)&4ecuta a impressão do relat!rio conforme o bloco de c!di6o da propriedade
bActionlDl6 Aponta se de?erá apresentar a tela de con6uração do relat!rio ou seimprime
em se6undo plano.
PrintCollection(lPrinteader,lFinis%):mprime os totaliadores do tipo Collections
lPrint>eader :mprime cabeçal#o da seçãol/inis# Aponta que % o encerramento do relat!rio
Retorno 9!6ico. Se ?erdadeiro, o total foi impresso
PrintDialo!(+Action)&4ibe a tela de con6uração para a impressão do relat!rio.
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 10/56
bAction -loco de c!di6o que será e4ecutado quando usuário conrmara impressão do
relat!rio
Retorno 9!6ico
PrintFooter():mprime o rodap% do relat!rio
PrintFunction(lPrinteader):mprime os totaliadores do tipo TR/unctionslPrint>eader :mprime cabeçal#o da seção
Print/rap%ic():mprime os 6rácos do relat!rio
Printeader(leaderSection,lPa!e):mprime o cabeçal#o padrão do relat!riol>eaderSection :mprime cabeçal#o da seção
lPa6e :mprime :nformações sobre a pá6ina, como por e4emplo,nBmero da
pá6ina
Printin!()Retorna se relat!rio esta em processo de impressão.( status de impressão % denido pelos m%todos :nit"$, que indica o in0cio daimpressão, e o m%todo /inis#, que indica a naliação.
PrintSeader():mprime o cabeçal#o da seção
PrintTe"t(cTe"t,nRo#,nCol,nClrTe"t,cSt0le,nCells,l1pdateRo#):mprime um te4to no relat!riocTe4t Te4to que será impressonRoJ 9in#a em que o te4to será impresso. Caso não informada, seráconsiderada a
lin#a posicionada na impressãonCol Coluna em que o te4to será impresso. Caso não informada, seráconsiderada a
coluna posicionada na impressãonClrTe4t Cor do te4tocSt1le *tiliado internamente para 6eração do relat!rio em planil#anCells *tiliado internamente para 6eração do relat!rio em planil#al*pdateRoJ Atualia o posicionamento da lin#a quando informado o parGmetro
nRoJ
PrintTeader(n2idt%,nCells):mprime o cabeçal#o dos totaliadoresnidt# 9ar6ura do cabeçal#onCells Iuantidade de c%lulas considerada na 6eração em planil#a
PrintTotal(lFinis%):mprime os totaliadores do relat!riol/inis# Aponta que % o m do relat!rio
Retorno Se ?erdadeiro, os totaliadores foram impressos
PrtCenter(cTe"t):mprime um te4to centraliado
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 11/56
cTe4t Te4to a ser centraliado
Prte.t(cTe"t):mprime um te4to Q esquerdacTe4t Te4to a ser impress Q esquerda
Prto!o():mprime o lo6o da empresalial
PrtRi!%t(cTe"t):mprime um te4to Q direitacTe4t Te4to a ser impress Q direita
Report*a$e()Retorna o nome do relat!rio. &4emplo' <ATRE2E
Ro#()Retorna a lin#a posicionada na impressãoSa-eAsTM()
Sal?a o relat!rio em >T<9
Sa-eDe.ault()Sal?a o relat!rio padrão sem as customiações do usuário
Sa0(nRo#,nCol,cTe"t,oFont,n2idt%,nClrTe"t,nBkMode,nPad):mprime um te4to no relat!rionRoJ 9in#a para impressão do te4tonCol Coluna para impressão do te4tocTe4t Te4to que sera impressoo/ont (b3eto da classe T/ontnidt# Taman#o em pi4el do te4to para impressãonClrTe4t Cor da fonten-<ode Compatibilidade 8ão utiliadonPad Compatibilidade 8ão utiliado
Sa0Bit$ap(nRo#,nCol,cBit$ap,n2idt%,nei!%t,nRaster):mprime uma ima6em no relat!rionRoJ 9in#a para impressão da ima6emnCol Coluna para impressão da ima6emc-itmap 8ome da ima6em, podendo ser pat# de um arqui?o ou resourcecompilado no
reposit!rionidt# 9ar6ura da ima6emn>ei6#t Altura da ima6em
nRaster Compatibilidade 8ão utiliadoSection()Retorna ob3eto da classe TRSection "seção$uSection Tipo Caracter' T0tulo da seção
Tipo 8um%rico' ndice da seção se6undo a ordem de criação doscomponentes TRSection
SendMail()&n?ia o relat!rio atra?%s do e+mail
SendToPrinter()Direciona o relat!rio para o tipo de impressão selecionada
SetAction(+Action)
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 12/56
Dene o bloco de c!di6o que será e4ecutado ao usuário conrmar a impressão dorelat!riobAction -loco de c!di6o que será e4ecutado na conrmação
SetBorder(uBorder,n2ei!%t,nColor,leader)Dene as bordas do relat!rio
u-order Tipo Caracter' T(P,-(TT(<,9&/T,R:=>T,A99 Tipo 8um%rico' 2+Superior,@+:nferior,+&squerda,M+Direita,N+Todasnei6#t 9ar6ura da bordanColor Cor da bordal>eader Aponta se % borda de cabeçal#o
Retorno (b3eto do tipo TR-orderSetClrBack(nClrBack)Dene a cor de fundo do relat!rionClr-ac 8Bmero da cor de fundo no format R=-
SetClrFore(nClrFore)Dene a cor da fonte do relat!rio
nClr/ore 8Bmero da cor da fonte no format R=-
SetCol(nCol)Dene a coluna de impressão
SetColSpace(nColSpace,lPi"el)Dene o espaçamento entre as colunasnColSpace Taman#o do espaçamentolPi4el Aponta se o taman#o será calculado em pi4el
SetCusto$Te"t(uCusto$Te"t)Dene que a impressão do cabeçal#o padrão será customiadouCustomTe4t Tipo Arra1' Arra1 contendo a customiação para impressão docabeçal#o
padrão.&lementos' 25Te4to a ser impresso, no qual, um elemento por lin#a.
&4istemal6umas strin6s que pode au4iliar na criação do cabeçal#o'
778(9:8&-R&A;77 + 8ão quebra lin#a 778(TRA8S/(R<77 + :mprime sem nen#um tratamento 779(=(&<P77 + :mprime o lo6o da empresa 77/AT9:8&77 + :mprime um lin#a 6rossa 77T>:89:8&77 + :mprime uma lin#a na
Tipo -loco de c!di6o' Contendo :nformações para 6eração do arra1descrito
acimaSetDescription(cDescription)Dene a descrição detal#ada do relat!riocDescription Descrição do relat!rio
SetDe-ice(nDe-ice)Dene o tipo de impressão selecionado. (pções' 2+Arqui?o,@+:mpressora,+email,M+Planil#a e N+>tmlnDe?ice Tipo de impressão selecionada
SetD0na$ic()Dene que o relat!rio será do tipo dinGmico, no qual, permite imprimir as seções
conforme aordem de impressão selecionada
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 13/56
SetEdit(lEdit)Dene se o relat!rio poderá ser con6urado pelo usuário no caso de ?erdadeiro
SetEn-iron$ent(nEn-)Dene o ambiente para impressão.n&n? Ambiente' 2+Ser?er e @+Cliente
SetFile()Dene o nome do arqui?o temporário utiliado para 6eração dos relat!riosSetandscape()Dene orientação de pá6ina do relat!rio como paisa6em
Sete.tMar!in(ne.tMar!in)Dene a mar6em Q esquerda do relat!rion9eft<ar6in Taman#o da mar6em Q esquerda
Setineei!%t(nineei!%t)Dene a altura da lin#a na impressãon9ine>ei6#t Altura da lin#a
Seto!o()Dene o lo6o da empresa na impressão do cabeçal#o padrão
SetMeter(nTotal)Dene o limite da r%6ua de pro6ressão do relat!rionTotal 9imite da r%6ua
SetMs!Print(cMs!)Dene a mensa6em apresentada durante a 6eração do relat!rioc<s6 Te4to da mensa6em
SetOnPa!e*u$+er(+On*u$+erPa!e)Dene o bloco de c!di6o utiliado para manipular o nBmero da pá6ina atual
SetPa!e*u$+er(nPa!e)Dene o nBmero da pá6ina atual
SetPa!eFooter(ninesFooter,+Pa!eFooter,lFooterBe.ore)
n9ines/ooter 9in#as reser?ada para impressão do rodap%bPa6e/ooter -loco de c!di6o utiliado para imprimir :nformações customiadas, noqual,
de?erá ser utiliado m%todos do TReport para impressão. &4emplo'Sa1,
PrintTe4t.l/ooter-efore :mprime rodap% antes dos totaliadores
SetPara$(uPara$)Dene os parGmetros que serão utiliados pelo usuáriouParam ParGmetros do relat!rio cadastrado no Dicionário de Per6untas"SF2$.
Tamb%m pode ser utiliado bloco de c!di6o para parGmetroscustomiados
SetPortrait()Dene orientação de pá6ina do relat!rio como retrato
SetPre-ie#()Dene se será apresentada a ?isualiação do relat!rio antes da impressão f0sica
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 14/56
SetP"e.tMar!in(nP"e.tMar!in)Dene a mar6em Q esquerda em pi4el do relat!rionP49eft<ar6in Taman#o da mar6em Q esquerda em pi4el
SetRo#()
Dene a lin#a de impressão
SetStartPa!e(lStartPa!e)Dene que de?erá ser 6erada uma no?a pá6ina no relat!riolStartPa6e Se ?erdadeiro, aponta a necessidade de uma no?a pá6ina
SetTitle(cTitle)Dene o t0tulo do relat!riocTitle T0tulo do relat
SetTotalnine(lTotalnine)Dene se os totaliadores serão impressos em lin#a ou coluna
SetTotalPa!eBreak(lTPa!eBreak)Dene que será quebrada pá6ina ap!s a impressão do totaliadorlTPa6e-rea Se ?erdadeiro, aponta a quebra de pána ap!s a impressão dototaliador
SetTotalTe"t(uTe"t)Dene o te4to que será impresso antes da impressão dos totaliadoresuTe4t Te4to a ser impresso no formato caracter ou bloco de c!di6o
S%o#Footer()Dene que será impresso o rodap% do relat!rio
S%o#eader()Dene que será impresso o cabeçal#o do relat!rio
S%o#Para$Pa!e()Dene que será impressa a pá6ina de parGmetros do relat!rio
Skipine(nSkip)Salta lin#as na impressãonSip Iuantidade de lin#as a serem saltadas
StartPa!e():nicialia um no?a pá6ina para impressão
T%inine()Desen#a uma lin#a simples, iniciando posição da lin#a atual de impressão com alar6ura da pá6ina
Title()Retorna o t0tulo do relat!rio
TotalTe"t()Retorna o te4to que será impresso no totaliador 6eral do relat!rio
Totalnine()Retorna se a impressão dos totaliadores será em lin#a
4$load(c4$l)Carre6a um la1out personaliado pelo usuário
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 15/56
cFml Arqui?o do tipo F<9 com as personaliações do usuário
4$lSa-e()Sal?a um la1out personaliado pelo usuário
4ls*e#Cell(c,lnde",nCol,cSt0le,nCells,n2idt%,cT0pe)
Adiciona uma c%lula na 6eração em planil#ac :nformação a ser inserido na c%lulal:nde4 Controla numeração de colunas na planil#anCol Coluna posicionadacSt1le &stilo da c%lulanCells Iuantidade de c%lulas utiliadas para a informação " <esclar $nidt# 9ar6ura da c%lulacT1pe Tipo de dado. C+Caracter, 8+8um%rico, 9+9!6ico
4ls*e#Col(nCol,n2idt%)Adiciona uma coluna na 6eração em planil#anCol Coluna posicionadanidt# 9ar6ura da coluna
4ls*e#Ro#(lncRo#)Adiciona uma lin#a na 6eração em planil#al:ncRoJ Aponta se de?erá ser adicionada uma lin#a
4ls*e#St0le(cD,c*a$e,nAli!n,aFont,aBorder,l2rapTe"t,cT0pe)Cria um estilo para utiliar nas criações das c%lulasc:D :D do estiloc8ame 8ome do estilonAli6n Tipo de alin#amento. 2+&squerda, @+Centraliado e +Direitaa/ont Arra1 contendo a fonte. &lementos' 2+/onte e @+Taman#oa-order Arra1 contendo a borda. &lementos'2+U-ottom,9eft,Ri6#t,Center e
@59ar6ura da boralrapTe4t Aponta quebra de lin#a automáticacT1pe Tipo de dado. C+Caracter, 8+8um%rico, 9+9!6ico
4lsSa-e()Compatibilidade 8ão utiliado
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 16/56
TSECTO*
Seção de um relat!rio que utilia a classe TReport
A classe TRSection pode ser entendida como um la1out do relat!rio, por conterc%lulas, quebras e totaliadores que darão um formato para sua impressão.
Com a classe TRSection % poss0?el denir uma quer1, ltro ou 0ndice com ltro":ndRe6ua$ que será utiliada por ela para processamento do relat!rio, atra?%s dom%todo Print e utiliando as c%lulas de posicionamento "TRPosition$ e componentede posicionamento de seção "TRPosSection$, sem a necessidade de escre?er umfonte para processar os resultados da quer1, ltro ou 0ndice com ltro.
&sta classe #erda as propridades e m%todos da classe TR&P(RT
Propriedades
aCell Arra1 contendo as c%lulas da seção. &lemento' 2+(b3eto TRCellaCellPos Arra1 contendo as c%lulas reposicionadas da seção. &lemento'2+(b3eto
TRCella/ilter Arra1 contendo os ltros da seção' &lementos' 2+Tabela, @+/iltro, +
C#a?e de ndice, M+(rdema(rder Arra1 contendo as ordens do relat!rio' &lementos' 2+(b3eto TR(rderaPosCell Arra1 com as c%lulas da seção na ordem de impressãoaTable Arra1 com as tabelas utiliadas na seçãoaTC/ields Arra1 com os campos que possuem o tipo de dados diferentede
caracter e que de?em ser tratados para apresentar os
resultados naquer1. &lementos' 2+Campo, @+Tipo, + Taman#o e M+DecimalaTC<emo Arra1 com os campos do tipo de dados <emo a seremdesconsiderados
na quer1aTCTables Arra1 com as tabelas utiliadas na quer1a9oadCells Arra1 com as tabelas que e4ecutaram o carre6amento de:nformações
das c%lulas atra?%s do Dicionário de Dados "SF$a*ser/ilter Arra1 com os ltros de usuários' &lementos' 2+Tabela, @+&4pressão
ADHP9, +&4pressão SI9 e M+/iltro adicionado na quer1principal
a8o/ilter Arra1 com as tabelas que não poderão aplicar ltros deusuário.&lemento' 2+Tabela
aSection Arra1 com as seções l#as. &lemento' 2+(b3eto TRSectionbCompIuer1 -loco de c!di6o utiliado na monta6e da quer1 atra?%s decompilação
em tempo realb9ineCondition -loco de c!di6o utiliado na ?alidação do re6istrob(nPrint9ine -loco de c!di6o com os tratamentos a serem realiados antesda
impressão do re6istro da seçãobParent/ilter -loco de c!di6o com a re6ra para sa0da do loopbParentParam -loco de c!di6o com a e4pressão que retorna o ?alor que %
en?iadocomo parGmetro para a re6ra de sa0da do loop da seção
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 17/56
bRealIuer1 -loco de c!dico utiliado para montar a quer1 da seçãocAlias Tabela principal da seçãocAd?pl&4p /iltro do usuário em forma de e4pressão ADHP9cD1namic;e1 C#a?e que identica a seção na impressão dinGmicac/ilter /iltro da tabela principal da seçãoc:d4/ile :ndice temporário utiliado na ltro da tabela principal
c8ame 8ome da seçãocIuer1 Iuer1 da seção com os tratamentos de adição decampos e ltroscReal/ilter /iltro da tabela principal da seçãocRealIuer1 Iuer1 sem os tratamentos de adição de campos e ltroscC#arSeparator Caracter que separa as :nformações na impressão emlin#acSql&4p /iltro do usuário em forma de e4pressão SI9lAutoSie A3usta o taman#o das c%lulas para que caiba emu ma pá6inalCellPos A3usta o cabeçal#o das c%lulaslC#an6eIuer1 Tratamento para utiliar a quer1 em di?ersos -anco deDadoslC#/ilters Compatibilidade 8ão utiliado
l&dit Aponta se a seção poderá ser personaliada pelo usuáriol&ditCell Aponta se o usuário poderá personaliar as c%lulas da seçãol/orce9ineSt1le /orça a impressão em lin#al>eader-rea :mprime cabeçal#o da seção na quebra de impressão"TR-rea$l>eaderPa6e :mprime cabeçal#o da seção no topo da pá6inal>eaderSection :mprime cabeçal#o da seção na quebra de seçãol:d4(rder *tilia ordem do Dicionário de ndices "S:F$ na impressão daseçãol:nit Aponta que a impressão da seção não foi iniciadal:nit/ilter Aponta que os ltros da seção não foram inciadosl9ine-rea Aponta que a impressão da seção quebra lin#as no caso dascolunas
não couberem em um lin#al9ineSt1le :mpressão em lin#aslSipped Aponta que a seção saltou o re6istro da seção pailParentIuer1 *tilia :nformações da quer1 da seção pai para impressão dosre6istroslParentRecno *tilia :nformações do re6istro da seção pailPrint>eader Aponta impressão do cabeçal#o da seçãolPrint9a1out Aponta que % impressão de ?isualiação do la1outlRead(nl1 Dene se o usuário pode personaliar informações da seçãolTC/ields Dene que de?erá ser efetuado tratamento na quer1 decampos com
tipo de dados diferente de caracter
lHisible Aponta que a seção será impressal*serHisible Aponta que a seção será impressa na personaliação dousuáriolCell*seIuer1 *tilia quer1 na impressão de c%lulas da seçãonCols Iuantidade de colunas a serem impressasn:d4(rder :ndice utiliado na impressão da seçãon9ineCount Iuantidade de lin#as a serem impressas para o re6istron9ines-efore Iuantidade de lin#as a serem saltadas antes da impressão daseçãon(rder (rdem de impressão da seçãonPercenta6e Percentual da lar6ura da pá6ina a ser consideradanRoJ 9in#a posicionada na impressão da seçãonidt# 9ar6ura da seção
oC-rd-ottom (b3eto TR-order com a borda :nferioroC-rd9eft (b3eto TR-order com a borda Q esquerdaoC-rdRi6#t (b3eto TR-order com a borda Q direita
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 18/56
oC-rdTop (b3eto TR-order com a borda superioroParent Seção paioRelation (b3eto TRRelation com informações do relacionamento entreas seções
MÉTODOS
AddCell(oCell)Adiciona a c%lula na propriedade aCell da seçãooCell (b3eto TRCell
AddOrder(oOrder)Adiciona a ordem da seção na propriedade a(rdero(rder (b3eto TR(rder
AddPosCell(oCell)Adiciona a c%lula, na sequKncia de impressão da seção, na propriedade aPosCelloCell (b3eto TRCell
AddTa+le(cTa+le)Adiciona a tabela, que será utiliada na impressão da seção, na propriedade aTablecTable Tabela utiliada na impressão da seçãoAlias()Retorna o alias da tabela utiliado pela quer1 da seção, denida pelo &mbeddedSI9 com os m%todos -e6inIuer1 e &ndIuer1
Retorno Alias da tabela posicionada
AutoSi'e()Retorna se a impressão da seção será a3ustada automaticamente
Retorno Se ?erdadeiro, a3usta automaticamente a impressão das c%lulas daseção
Be!in5uer0():ndica que será utiliado o &mbedded SI9 para criação de uma quer1 para a seção
Cell(uCell)Retorna o ob3eto da classe TRCell "c%lula$ baseadouCell Tipo Caracter' 8ome ou t0tulo do ob3eto
Tipo 8um%rico' ndice do ob3eto se6undo a ordem de criação doscomponentes TRCell
Retorno (b3eto da classe TRCell
CellBorder(uBorder,leader)Retorna a borda do seçãou-order Tipo Caracter' T(P,-(TT(<,9&/T,R:=>T,A99
Tipo 8um%rico' 2+Superior,@+:nferior,+&squerda,M+Direita,N+Todasl>eader -orda do cabeçal#o
Retorno (b3eto do tipo TR-order
CellPos(lReset)(rdena as c%lulas para impressão
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 19/56
lReset /orça a inicialiação do taman#o das c%lulas
C%arSeparator()Retorna o caracter que separa as :nformações na impressão das c%lulas em lin#a
Retorno Caracter utiliado para separar as informações
C%eckFields(aTa+les,aMe$o,lEna+led,aasArea,nTotCell,cSelect)Retorna as c%lulas que poderão ser adicionadas na quer1, ou se3a, retira os camposdo tipo <emo e as c%lulas que não foram selecionadas pelo usuárioaTables Tabelas utiliadas na quer1a<emo Campos memo da tabelal&nabled Dene se considera as c%lulas selecionadas pelo usuárioa>asArea Halida se as tabelas utiliadas na quer1 são padrão do sistemanTotCell Iuantidade ma4ima de c%lulas a serem consideradascSelect Te4to contendo a select da quer1
Retorno Campos a serem considerados na quer1
C%kMainFilter(cAlias)Retorna o ltro da tabelacAlias Tabela que cont%m o ltro
Retorno /iltro da tabela
C%kTcMe$o(aTa+les,aMe$o)Retorna os campos do tipo <emo das tabelasaTables Tabelas a serem ?ericadasa<emo Arra1 contendo os campos do tipo <emo
Retorna Arra1 contendo os campos do tipo <emo
C%eck2idt%(n2idt%)Retorna a lar6ura da seçãonidt# Caso a lar6ura da seção for inferior a lar6ura informada, aseção assume a
informada no parGmetro
Retorno 9ar6ura da seção
CloseFilter()/inalia todos os ltros da seção
Close5uer0(lSections)/inalia todas as quer1s da seçãolSections /inalia as quer1s de todas seções
Del1serCell()&4clui as c%lulas adicionadas pelo usuário
End5uer0(aPara$)
:ndica a quer1 criada utiliando o &mbedded SI9 para a seção.
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 20/56
( m%todo &ndIuer1 ira 3untar na quer1 as c%lulas selecionadas e o ltro criado pelousuário, mais a e4pressão das per6untas do tipo Ran6e, que foram con?ertidasanteriormente pela função <aeSI9&4pr.
Ap!s sua e4ecução, a quer1 esta pronta para ser utiliada tanto pela classe TRSection como para o pro6rama que esta criando os componentes, sem a
necessidade de utiliar TC=enIuer1, C#an6eIuer1 e TCSet/ield.
aParam Tipo Caracter' Per6unta. &4emplo' m?7parE2 do tipo Ran6e Tipo Arra1' 9ista de per6untas. &4emplo' Vm?7parE2, m?7parE@W do
tipo Ran6e
EndBorder()/inalia a impressão das bordas
E-alCell()Atualia o conteBdo de todas as c%lulas da seção
E-alFunction()
Atualia o conteBdo dos totaliadores da seção
E-alPosition()Atualia o conteBdo das c%lulas utiliadas na impressão da seção
E"ecS6l()&4ecuta a quer1 da seção
E"1serFilter()&4ecuta os ltros denidos pelo usuário
Retorno Retorno da e4ecução do ltro " Herdadeiro ou /also $
Finis%()/inalia a impressão da seção, imprime os totaliadores, tratamentos de quebrasdas seções, entre outros tratamentos do componente.8ão % necessário e4ecutar o m%todo /inis# se for utiliar o m%todo Print, 3á que estefa o controle de inicialiação e naliação da impressão.
ForceineSt0le()/orça a impressão da seção em lin#as
/etAd-plE"p(cAlias)Retorna o ltro do usuário em forma de e4pressão ADHP9cAlias Tabela a ser consultada
Retorno /iltro do usuário em forma de e4pressão ADHP9
/etD0na$ic7e0()Retorna a c#a?e dinGmica utiliada para 6eração de relat!rios dinGmicos
Retorno C#a?e dinGmica
/etd"Order()Retorna o 0ndice utiliado pela tabela principal da seção
Retorno ndice utiliado pela tabela principal
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 21/56
/etOrder()Retorna a ordem selecionadaRetorno (rdem selecionada pelo usuário/etParent5uer0()Atualia as :nformações de quer1 da seção atual com as :nformações da seção pai
/et5uer0()Retorna a quer1, que foi denida pelo &mbedded SI9 com os m%todos -e6inIuer1e &ndIuer1, com as c%lulas selecionadas, o ltro criado pelo usuário e as per6untasdo tipo Ran6e inclusas.
Retorno Strin6 com a quer1
/etS6lE"p()Retorna o ltro do usuário em forma de e4pressão SI9cAlias Tabela a ser consultada
Retorno /iltro do usuário em forma de e4pressão SI9
/et1se5uer0()Retorna se a seção utilie quer1 para impressão
Retorno Se ?erdadeiro, a quer1 % utiliada impressão
/et1serE"p()Retorna o ltro de usuário
Retorno /iltro do usuário
/et1serFilter()Retorna os ltros de usuário
Retorno Arra1 contendo os ltros da seção
/et2idt%()Retorna a lar6ura da seção
Retorno 9ar6ura da seção
eaderBreak()Retorna se o cabeçal#o das c%lulas será impresso ap!s uma quebra "TR-rea$
Retorno Se ?erdadeiro, aponta que será impresso o cabeçal#oeaderSection()
Retorna se o cabeçal#o das c%lulas será impresso na quebra de seçãoRetorno Se ?erdadeiro, aponta que será impresso o cabeçal#o
ide()Desabilita a impressão da seção, por%m todas as lin#as serão processadas, somentenão aparecerão no relat!rio.
nit()&4ecuta as quebras de seções, imprime cabeçal#os entre outras con6urações dorelat!rio.8ão % necessário e4ecutar o m%todo :nit se for utiliar o m%todo Print, 3á que estesfaem o controle de inicialiação e naliação da impressão.
niRo#():nicialia a lin#a posicionada nas seções
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 22/56
ineCount()Iuantidade de lin#as a serem impressas para cada re6istro da seção
Retorno Iuantidade de lin#as a serem impressas
oadCells(cTa+le,aCells,lDisa+leAll,lMarkAs1ser)Carre6a campos do Dicionário de Campos "SF$ como c%lulas da seção, respeitandon0?el, uso e conte4to do campocTable Tabela que será utiliada para carre6ar os campos. Se não forinformada será
utiliado todas as tabelas informadas no m%todo 8eJaCells Arra1 com nome dos campos que serão carre6ados como c%lulas daseçãolDisableAll Desabilita todas as c%lulasl<arAs*ser Aponta que as c%lulas foram denidas pelos usuários
oadOrder()Carre6a 0ndices do Dicionário de ndices "S:F$ como ordem da seção
lReadOnl0()Retorna se o usuário pode personaliar informações da seção(b3eto Caso ?erdadeiro, aponta que o usuário não pode alterar informaçõesda seção
*a$e()Retorna o nome da seção
Retorno 8ome da seção
*e#(oParent,cTitle,uTa+le,aOrder,loadCells,loadOrder,uTotalTe"t,lTotalnine,leaderPa!e,leaderBreak,lPa!eBreak,lineBreak,ne.tMar!in,lineSt0le,nColSpace,lAutoSi'e,cC%arSeparator,ninesBe.ore,nCols,nClrBack,nClrFore,nPercenta!e)<%todo construtor da classe TRSection
8o parGmetro onde % informado as tabelas utiliadas pela seção, a primeira será aprincipal, sendo utiliada para o processamento pelo m%todo Print. As outrastabelas serão utiliadas para que o usuário possa incluir os campos como c%lula.( relacionamento entre as tabelas poderá ser feito pela quer1 ou então pelo usodos ob3etos da classe TRPosition.
Dos elementos do parametro onde são informadas as ordens utiliada pela seçãoserão criados os ob3etos da classe TR(rder automaticamente, utiliando como
0ndice da tabela principal a ordem do elemento no ?etor.oParent (b3eto da classe TReport ou TRSection que será o pai da classe TRSectioncTitle T0tulo da seçãouTable Tipo Caracter' Tabela que sera utiliada pela seção
Tipo Arra1' 9ista de tabelas que serão utiliadas pela seçãoa(rder Arra1 contendo a descrição das ordens. &lemento' 2+Descrição, comopor
e4emplo, /ilialXC!di6ol9oadCells Carre6a os campos do Dicionário de Campos "SF$ das tabelas daseção como
c%lulas
l9oad(rder Carre6a os 0ndices do Dicionário de ndices "S:F$uTotalTe4t Te4to do totaliador da seção, podendo ser caracter ou bloco dec!di6o
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 23/56
lTotal:n9ine :mprime as c%lulas em lin#al>eaderPa6e Cabeçal#o da seção no topo da pá6inal>eader-rea :mprime cabeçal#o na quebra da seçãolPa6e-rea :mprime cabeçal#o da seção na quebra de pá6inal9ine-rea Iuebra a lin#a na impressão quando as :nformações não caber napá6ina
n9eft<ar6in Taman#o da mar6em Q esquerda da seçãol9ineSt1le :mprime a seção em lin#anColSpace &spaçamento entre as colunaslAutoSie A3usta o taman#o das c%lulas para que caiba emu ma pá6inacC#arSeparator Dene o caracter que separa as :nformações na impressão emlin#an9ines-efore Aponta a quantidade de lin#as a serem saltadas antes da impressãoda seçãonCols Iuantidade de colunas a serem impressasnClr-ac Cor de fundo das c%lulas da seçãonClr/ore Cor da fonte das c%lulas da seçãonPercenta6e Taman#o da pá6ina a ser considerada na impressão em percentual
*oCell()Herica se não e4istem c%lulas con6uradas npara a seção
Retorno Se ?erdadeiro, não e4istem c%lulas con6uradas
OnPrintine(+OnPrintine)Permite efetuar tratamentos antes da impressão do re6istro da seçãob(nPrint9ine -loco de c!di6o com os tratamentos a serem realiados antes daimpressão do
re6istro da seção
Order(uOrder)Retorna ob3eto da classe TR(rder "ordem$u(rder Tipo Caracter' 8icname da ordem
Tipo 8um%rico' ndice do ob3eto se6undo a ordem de criação doscomponentes
TR(rder
Retorno (b3eto da classe TR(rder
Pa!eBreak()Retorna se salta a pá6ina na quebra de seção
Retorno Se ?erdadeiro, aponta que quebra pá6ina na seção
Pa!e2idt%()Retorna a lar6ura da pá6ina
Retorno 9ar6ura da pá6ina
Parent()Retorna o ob3eto pai da classe TRSection
Retorno (b3eto TRSection ou TReport
Print(lFro$Parent)Realia a impressão baseada na tabela ou quer1 principal, e4ecutando o m%todoPrint9ine para cada lin#a e o m%todo Print de todas as seções l#as. 8as seções
l#as, o posicionamento inicial pode ser baseado na quer1 da seção pai "atra?%s dom%todo SetParentIuer1$ ou atra?%s da re6ra informada pelo m%todo SetRelation,
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 24/56
3unto com a re6ra informada pelo m%todo SetParent/ilter que controla o m daimpressão.
l/romParent Aponta que % impressão de uma seção l#a
Printeader(lCellPos,l8isi+le,cSt0le,lE"cel)
:mprime o cabeçal#o da seçãolCellPos A3usta o cabeçal#o das c%lulaslHisible Aponta que a seção está #abilitada para impressãocSt1le *tiliado internamente para 6eração do relat!rio em planil#al&4cel =eração em planil#a
Printine(lE-alPosition,lPara$Pa!e,lE"cel):mprime a lin#a baseado nas c%lulas e4istentesl&?alPosition /orça a atualiação do conteBdo das c%lulaslParamPa6e Aponta que % a impressão da pá6ina de parGmetrosl&4cel Aponta que % 6eração em planil#a
ResetCellPos(lResetAll)
Dene que as c%lulas de?erão ser a3ustadas para impressãolResetAll Rea?alia o posicionamento das c%lulas
Report()Retorna o ob3eto da classe TReport que a classe TRSection pertence
Retorno (b3eto TReport
SetAutoSi'e(lAutoSi'e)Dene que as c%lulas serão a3ustadas automaticamente na seçãolAutoSie A3uste automatic das c%lulas
SetCellBorder(uBorder,n2ei!%t,nColor,leader)Dene a borda da seçãou-order Tipo Caracter' T(P,-(TT(<,9&/T,R:=>T,A99
Tipo 8um%rico' 2+Superior,@+:nferior,+&squerda,M+Direita,N+Todasnei6#t 9ar6ura da bordanColor Cor da bordal>eader -orda do cabeçal#o
Retorno (b3eto do tipo TR-order
SetC%arSeparator(cC%arSeparator)
Retorna o caracter que separa as :nformações na impressão das c%lulas em lin#acC#arSeparator Caracter utiliado para separar as informações
SetCols(nCols)Dene a quantidade de colunas a serem impressasnCols Iuantidade de colunas a serem impressas
SetD0na$ic7e0(cD0na$ic7e0)Dene a c#a?e que identica a seção na impressão dinGmicacD1namic;e1 C#a?e que identica a seção na impressão dinGmica
SetEdit(lEdit)Dene se a seção poderá ser personaliada pelo usuário
l&dit Se ?erdadeiro, o usuário poderá personaliar a seção
SetEditCell(lEditCell)
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 25/56
Dene se o usuário poderá personaliar as c%lulas da seçãol&ditCell Se ?erdadeiro, o usuário poderá personaliar as c%lulas
SetFilter(cFilter,cnde"7e0,cOrde$,cAlias,nd"Order)Dene um ltro para a tabela principal da seção.
Se não informado o parametro com a c#a?e de 0ndice, será e4ecutado S&T /:9T&R T( com o primeiro parGmetro, senão será criado um 0ndice com ltro ":ndRe6ua$c/ilter &4pressão do ltro no format ADHP9c:nde4;e1 C#a?e de 0ndicec(rdem (rdem para a criação do 0ndicecAlias Tabela a ser ltradan:d4(rder (rdem no Dicionário de ndices "S:F$
SeteaderBreak(leaderBreak)Dene se imprime cabeçal#o das c%lulas ap!s uma quebra "TR-rea$l>eader-rea Se ?erdadeiro, aponta que salta pá6ina na quebra
SeteaderPa!e(leaderPa!e)
Dene que imprime cabeçal#o das c%lulas no topo da pá6inal>eaderPa6e Se ?erdadeiro, aponta que imprime o cabeçal#o no topo da pá6ina
SeteaderSection(leaderSection)Dene que imprime cabeçal#o das c%lulas na quebra de seçãol>eaderSection Se ?erdadeiro, aponta que imprime cabeçal#o na quebra daseção
Setd"Order(nd"Order)Dene uma ordem de 0ndice para a tabela principaln:d4(rder (rdem de 0ndice para a tabela principal
SetineBreak(lineBreak)Dene que a impressão poderá ocorrer emu ma ou mais lin#as no caso das colunase4ederem o taman#o da pá6inal9ine-rea Se ?erdadeiro, imprime em uma ou mais lin#as
SetineCondition(+ineCondition)Permite ?alidar a impressão do re6istrob9ineCondition -loco de c!di6o utiliado na ?alidação
SetineSt0le(lineSt0le)Dene se imprime as c%lulas da seção em lin#asl9ineSt1le :mprime as c%lulas da seção em lin#as
SetinesBe.ore(ninesBe.ore)Dene a quantidade de lin#as que serão saltadas antes da impressão da seçãon9ines-efore Iuantidade de lin#as
Set*a$e()Compatibilidade 8ão utiliado
Set*oFilter(cAlias)Dene que a tabela não poderá ser receber ltros de usuáriocAlias Tabela a ser considerada
Set1se5uer0(lCell1se5uer0)Dene que a seção utilie quer1 na impressão
lCell*seIuer1Se ?erdadeiro, utilia quer1 na impressão
SetOrder(nOrder)
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 26/56
Dene a ordem "TR(rder$ que será utiliada pela seçãon(rder (rdem da seção
SetPa!eBreak(lPa!eBreak)Dene se salta a pá6ina na quebra de seçãolPa6e-rea Se ?erdadeiro, aponta que salta pá6ina na quebra de seção
SetParentFilter(+Filter,+Para$)Dene a re6ra de sa0da do loop de impressão das seções l#asb/ilter -loco de c!di6o com a re6ra para sa0da do loopbParam -loco de c!di6o com a e4pressão que retorna o ?alor que %en?iado como
parGmetro para a re6ra de sa0da do loop
SetParent5uer0()Dene que a seção l#a utilia a quer1 da seção pain a impressão da seção
SetParentRecno(lParentRecno)Dene se a seção utilia o re6istro da seção pai
lParentRecno *tilia o re6istro da seção paiSetPercenta!e(nPercenta!e)Dene o taman#o da pá6ina a ser considerada na impressão em percentualnPercenta6e Taman#o da pá6ina a ser considerada na impressão em percentual
SetPrinta0out()Compatibilidade 8ão utiliado
Set5uer0(cAlias,c5uer0,lC%an!e5uer0,aPara$,aTCFields)Aplica os tratamentos necessários para e4ecução das quer1s, tais como, adicionarc%lulas de usuários, aplicação de ltros entre outros.cAlias Tabela principal da quer1cIuer1 Iuer1 da seçãolC#an6eIuer1 Se ?erdadeiro, realia tratamentos para outros bancos dedadosaParam ParGmetros do tipo Ran6e a serem utiliados no ltro da quer1aTC/ields 9ista de campos com tipo de dados diferente de c#aracter que de?emser
tratados para apresentar os resultados na quer1. &lementos' 2+Campo, @+Tipo,
+ Taman#o e M+Decimal
SetReadOnl0(lReadOnl0)Dene que o usuário não poderá alterar informações da seção, ou se3a, não poderáremo?er as c%lulas pr%+denidas.
lRead(nl1 Se ?erdadeiro, aponta que o usuário não poderá alterar :nformaçõesda seção
SetRelation(+For$ula,cAlias,uOrder,lSeek)Dene a f!rmula de relacionamento de uma seção l#a com sua seção pai, casonão utilie a quer1 da seção pai atra?%s do m%todo SetParentIuer1.b/ormula -loco de c!di6o com a e4pressão para relacionamento entre asseçõescAlias Tabela utiliada pela f!rmulau(rder (rdem utiliada na tabela
Tipo Caracter' 8icname da ordem de 0ndice Tipo 8um%rico' (rdem do 0ndice
lSee :ndica se será e4ecutado DbSee com o conteBdo da f!rmula
SetRo#(nRo#)Dene a lin#a de impressão
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 27/56
nRoJ 9in#a atual
Set2idt%(n2idt%)Dene a lar6ura da seçãonidt# 9ar6ura da seção
S%o#()>abilita a impressão da seção
1seFilter()Retorna se e4istem c%lulas personaliadas pelo usuário
Retorno Se ?erdadeiro, e4iste c%lula personaliada
8isi+le()Retorna se a seção esta #abilitada para impressãoRetorno Caso ?erdadeiro, a seção está #abilitada4$load(o4$l)Carre6a uma seção do la1out personaliado pelo usuário
oFml (b3eto do tipo F<9 com as personaliações da seção
4$lSa-e()Sal?a a seção no la1out personaliado pelo usuário
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 28/56
TRCEC%lula de impressão de uma seção "TRSection$ de um relat!rio que utilia a classe TReport
&sta classe #erda as propridades e m%todos da classe TRS&CT:(8
Propriedades
aC-o4 Arra1 com os poss0?eis te4tos a serem impressos na c%lula. &lemento'2+
ConteBdo. &4emplo' 25Sima/ormatCond Arra1 com as condições do usuário para impressão de forma ?ariá?elda cor da
c%lula' &lementos' 2+Condição, @+Cor de fundo e +Cor da fontebCanPrint -loco de c!di6o que ?alida a impressão da c%lulabCell-loc -loco de c!di6o que retornará o conteBdo de impressão da c%lulac/ormula /!rmula para impressão da c%lulac(rder (rdem de impressão da c%lulacPicture <ascara da c%lulacReal/ormula /!rmula em forma de e4pressão ADHP9cT1pe Tipo de dado da c%lulac*ser/unction Tipo de acumulador' U<:8 <enor ?alor, U<AF <aior ?alor,US*< Soma,
UC(*8T Contador ou UAH&RA=& + <%diacFls>St1le &stilo do cabeçal#o padrão utiliado na 6eração da planil#acFlsSt1le &stilo utiliado na 6eração da planil#al-old Aponta que a c%lula será impressa em ne6ritol>eaderSie Aponta que o taman#o a ser considerado na impressão % docabeçal#olPi4elSie Aponta que o taman#o da c%lula está calculada em pi4ellPrintCell Aponta que a c%lula está #abilitada para impressão
lCell-rea Compatibilidade 8ão utiliadol*ser&nabled Aponta que a c%lula foi #abilitada para impressão pelo usuáriol*ser/ield Aponta que a c%lula foi personaliada pelo usuáriol*serAccess Aponta que o usuário tem acesso a impressão desta c%lula, no casode falso, o
usuário não possui o n0?el de campo ou acesso denido no cadastrode
usuários.nAli6n Alin#amento da c%lula. 2+&squerda, @+Center ou +DireitanAutoidt# 9ar6ura 6erada automaticamente quando e4cedida a lar6ura dapá6inanCellPi4el 9ar6ura da c%lula em pi4eln>eaderAli6n Alin#amento do cabeçal#o 2+&squerda, @+Center ou +Direita
n>eaderPi4el Taman#o do cabeçal#o da c%lula em pi4eln>eaderSie Taman#o do cabeçal#o da c%lulan9ineStart Aponta a primeira lin#a da c%lula a ser impressa no caso de quebrade lin#an8e6ati?e 8Bmero do item de sinal ne6ati?e no arra1 a8e6ati?enPi4elSie Taman#o da c%lula em pi4elnRoJDiL Iuantidade de lin#as a serem consideradas na impressão das bordasnSie Taman#o da c%lulanT1pe Tipo da c%lula. 2+Celula, @+/ormula, +Acumulador ou M+C%lula deusuárion*serHalue Au4ilia no controle do totaliador do tipo <AF e <:8n*serCount Contador de itens impressos quando utiliado totaliadoresn9e?el 80?el de campo da c%lula
uHalue Halor da c%lula a ser impressouPrint ConteBdo da c%lula a ser impresso
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 29/56
o/ont-od1 (b3eto T/ont com :nformações da fonte da c%lula
MÉTODOS
CanPrint()
Halida se a c%lula pode ser impressa
Col()Retorna a coluna da c%lula
ColPos()Retorna a coluna que a c%lula será impressa pelo m%todo Print9ine da seção que ac%lula pertenceRetorno Coluna da c%lula na impressão
CellBreak()Compatibilidade 8ão utiliado
ClrBack(lO+ect)Retorna a cor de fundo do relat!riol(b3ect Aponta que de?e ser retornado o ob3eto T-rus#
Retorno Caso o parGmetro l(b3eto se3a ?erdadeiro o retorno será o ob3eto T-rus#, caso
contrário será o nBmero da cor R=-.
ClrFore(lPrinteader)Retorna a cor de fonte do relat!riolPrint>eader Aponta impressão do cabeçal#o da c%lula
Retorno 8Bmero da cor R=-Disa+le()Desabilita a impressão da c%lula
Ena+le()>abilita a impressão da c%lula
Ena+led()Retorna se a c%lula está #abilitada para impressão
Retorno Se ?erdadeiro, a c%lula está #abilitada
E-alFunction()Atualia o conteBdo dos totaliadores da seção
E"ecute(lPrinta0out)Atualia o conteBdo da c%lula a ser impressolPrint9a1out Aponta ?isualiação de la1out
Retorno ConteBdo a ser impresso
/etCBo"()
Retorna o conteBdo da lista de dado a ser impresso. &4emplo' 25Sim ou @58ão
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 30/56
Retorno ConteBdo da lista
/etCellSi'e()Retorna o taman#o da c%lula
Retorno Taman#o da c%lula
/etCell2idt%()Retorna a lar6ura da c%lula
Retorno 9ar6ura da c%lula
/etFieldn.o(cField)Carre6a informações "t0tulo, picture, taman#o, etc$ do campo baseado no Dicionáriode Campos "SF$c/ield Campo a ser consultado no dicionário
Retorno Se ?erdadeiro, conse6uiu coletar informações do dicionário
/eteaderSi'e()Retorna o taman#o do cabeçal#o da c%lula
Retorno Taman#o do cabeçal#o
/eteader2idt%()Retorna a lar6ura do cabeçal#o da c%lula
Retorno 9ar6ura do cabeçal#o
/etSi'e()Retorna o taman#o da c%lula considerando o maior taman#o entre a c%lula e ocabeçal#o da c%lula
Retorno Taman#o da c%lula
/etTe"t()Retorna o te4to que será impresso
Retorno ConteBdo da c%lula a ser impresso
/et8alue()Retorna o ?alor a ser impresso na c%lula
Retorno Halor da c%lula
/et2idt%(lAuto2idt%)Retorna a lar6ura da c%lulalAutoidt# 9ar6ura automática
Retorno 9ar6ura da c%lula
ide()Desabilita a impressão da c%lula, por%m calcula o posicionamento da c%lula
ineCount(leader)Iuantidade de lin#as a serem impressas para a c%lula
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 31/56
l>eader Se ?erdadeiro, ?erica as lin#as do cabeçal#o
Retorno Iuantidade de lin#as
*e#(oParent,c*a$e,cAlias,cTitle,cPicture,nSi'e,lPi"el,+Block,cAli!n,lineBreak,ceaderAli!n,lCellBreak,nColSpace,lAutoSi'e,nClrBack,nClrFore,lBold
)<%todo construtor da classe TRCell
Se o nome da c%lula informada for encontrada no Dicionário de Campos "SF$, asinformações do campo serão carre6adas para a c%lula, respeitando os parGmetrosde t0tulo, picture e taman#o. Dessa forma o relat!rio sempre estará atualiado comas informações do Dicionário de Campos "SF$.
( nome da c%lula será utiliado 3unto ao alias informado pelo parGmetro comoconteBdo para a impressão da c%lula, como por e4emplo a impressão do campoA27C(D da tabela SA2.Se for informado o parGmetro com o bloco de c!di6o, o retorno deste será utiliadocomo conteBdo para impressão da c%lula, com a picture, taman#o e t0tulo denidos
para a c%lula. Assim sendo, % poss0?el criar c%lulas calculadas com formato deimpressão baseada no Dicionário de Campos "SF$
oParent (b3eto da classe TRSection que a c%lula pertencec8ame 8ome da c%lulacAlias Tabela utiliada pela c%lulacTitle T0tulo da c%lulacPicture <ascara da c%lulanSie Taman#o da c%lulalPi4el Aponta se o taman#o foi informado em pi4elb-loc -loco de c!di6o com o retorno do campocAli6n Alin#amento da c%lula. U9&/T, UR:=>T e UC&8T&Rl9ine-rea Iuebra lin#a se o conteBdo estourar o taman#o do campoc>eaderAli6n Alin#amento do cabeçal#o da c%lula. U9&/T, UR:=>T e UC&8T&RlCell-rea Compatibilidade 8ão utiliadonColSpace &spaçamento entre as c%lulaslAutoSie A3usta o taman#o da c%lula com base no taman#o da pá6ina e as:nformações
impressasnClr-ac Cor de fundo da c%lulanClr/ore Cor da fonte da c%lulal-old :mprime a fonte em ne6rito
Picture()Retorna a mascara de impressão da c%lula
Retorno <ascará de impressão
Print(lCanPrint,n4lsCol,lE"cel):mprime o conteBdo da c%lulalCanPrint Halida impressão da c%lulanFlsCol 8Bmero da coluna na 6eração em planil#al&4cel =eração em planil#a
Printeader(nSkipine,leader2idt%,c4lsSt0le,lE"cel):mprime o cabeçal#o da c%lula
nSip9ine Compatibilidade 8ão utiliadol>eaderidt# Considera a lar6ura do cabeçal#o na impressãocFls>St1le &stilo do cabeçal#o na 6eração em planil#a
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 32/56
l&4cel =eração em planil#a
Reset2idt%():nicialia o taman#o e lar6ura da c%lula
ResetineStart()
:nicialia a lin#a que indica a primeira lin#a da c%lula a ser impressa no caso dequebra de lin#a
Sa0(cTe"t,nAli!n,nSa02idt%,lPrinteader):mprime um te4to na c%lula ou o conteBdo da c%lulacTe4t Te4to que será impressonAli6n Alin#amento do te4to. 2+&squerda, @+Centro ou +DireitanSa1idt# 9ar6ura do te4tolPrint>eader :mpressão do cabeçal#o
SetAli!n(uAli!n)Dene o alin#amento da c%lula na impressão.uAli6n Tipo Caracter' 9&/T esquerda, R:=>T direita e C&8T&R +
centro Tipo 8Bmerico' 2 esquerda, @ centro e + direita
SetAuto2idt%(nAuto2idt%)Aponta a lar6ura da c%lula 6erada automaticamente pelo calculo de posicionamentodas c%lulas que atin6irem a lar6ura ma4ima da pá6inanAutoidt# 9ar6ura da c%lula
SetBlock(+Block)Dene o bloco de c!di6o que retornará o conteBdo de impressão da c%lula.
Denindo o bloco de c!di6o para a c%lula, esta não utiliara mais o nome mais oalias para retornar o conteBdo de impressão.b-loc -loco de c!di6o que retorna o conteBdo
SetBorder(uBorder,n2ei!%t,nColor,leader)Dene as bordas da c%lulau-order Tipo Caracter' T(P,-(TT(<,9&/T,R:=>T,A99
Tipo 8um%rico' 2+Superior,@+:nferior,+&squerda,M+Direita,N+Todasnei6#t 9ar6ura da bordanColor Cor da borda
l>eader Aponta se % borda de cabeçal#oRetorno (b3eto do tipo TR-order
SetCanPrint(+CanPrint)Dene o bloco de c!di6o que será utiliado para ?alidar se a c%lula poderá serimpressabCanPrint -loco de c!di6o com a ?alidação da c%lula
SetCBo"(cBo")Dene que a c%lula irá imprimir a descrição do item de um campo que ten#a oformato Combo-o4, utiliado no Dicionário de Campos "SF$c-o4 ( formato do parametro % o mesmo utiliado no Dicionário de
Campos "SF$, como no e4emplo abai4o'oCell'SetC-o4"Y25Sim)@58ãoY$.
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 33/56
8a impressão será utiliado a descrição do item. 8o e4emplo acima seo
conteBdo da c%lula for Y2Y, será impresso YSimY, sendo que o m%todo 3áira
calcular o taman#o da c%lula baseado na maior descrição informada
SetCellBreak()Compatibilidade 8ão utiliado
SeteaderAli!n(uAli!n)Dene o alin#amento do cabeçal#o da c%lula na impressão.uAli6n Tipo Caracter' 9&/T esquerda, R:=>T direita e C&8T&R +centro
Tipo 8Bmerico' 2 esquerda, @ centro e + direita
Set*e!ati-e(c*e!ati-e)Dene o sinal de ne6ati?o utiliado na impressãoc8e6ati?e Tipo Caracter' PAR&8T>&S&S " $ ou S:=8A9
SetPicture(cPicture)Dene a mascara de impressão da c%lulacPicture <ascara da c%lula
SetPrintCell(lPrintCell)Dene se a c%lula será impressalPrintCell Se ?erdadeiro, imprime a c%lula
SetRo#(nRo#)Iuantidade de lin#as para impressão das bordasnRoJ Iunatidade de lin#as
SetRo#Di3(nRo#Di3)Iuantidade de lin#as a serem consideradas na impressão das bordasnRoJDiL Iuantidade de lin#as
SetSi'e(nSi'e,lPi"el)Dene o taman#o da c%lulanSie Taman#o da c%lulalPi4el Aponta se o taman#o % calculado em pi4el
SetTitle(cTitle)Dene o t0tulo da c%lulacTitle T0tulo da c%lula
SetT0pe(cT0pe)Dene o tipo de dado da c%lulacT1pe Tipo de dado
Set8alue(u8alue)Dene um ?alor constante para a c%lula.uHalue Halor constante
Denindo um ?alor constante para a c%lula, esta não utiliara o nomemais o alias para impressão do conteBdo, ou se3a, a c%lula passará ase comportar como um ?ária?el de um pro6rama.Se o parametro não for informado "8ulo$, então a c%lula dei4ará deusar o ?alor constante, ?oltando a imprimir seu conteBdo utiliandonome mais alias.
4$load(o4$l)Carre6a uma c%lula do la1out personaliado pelo usuário
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 34/56
oFml (b3eto do tipo F<9 com as personaliações da c%lula
4$lSa-e()Sal?a a c%lula no la1out personaliado pelo usuário
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 35/56
TRPOSTO*
C%lula de posicionamento de uma seção de um relat!rio que utilia a classe TReport.
As c%lulas de posicionamento são e4ecutas em toda e4ecução do m%todo Print9ine
da seção que elas pertencem, para posicionar as tabelas secundárias da seção queo usuário pode utiliar para incluir c%lulas baseadas em seus campos.
Propriedades
cAlias Tabela que será utiliada para posicionamentocClass8ame 8ome da classe. "TRP(S:T:(8$c8ic8ame 8icname da ordem do 0ndice da tabelalSee Se ?erdadeiro, &4ecutar o DbSee com o conteBdo retornado pelaf!rmulan(rder (rdem a ser utiliada na pesquisau/ormula /!rmula de posicionamento
uHalue ConteBdo retornado ap!s a e4ecução da f!rmulaoReport (b3eto TReportoParent (b3eto da classe TRSection que a c%lula pertence
MÉTODOS
Class*a$e()Retorna o nome da classe. &4emplo' TRP(S:T:(8
E"ecute()&4ecuta a f!rmula de posicionamento
*e#(oParent,cAlias,uOrder,uFor$ula,lSeek)
oParent (b3eto da classe TRSection que a c%lula pertencecAlias Tabela que será utiliada para posicionamentou(rder Tipo Caracter' 8icname da ordem do 0ndice da tabela
Tipo 8um%rico' (rdem do 0ndice da tabelau/ormula /!rmula de posicionamento
Tipo Caracter' &4pressão ADHP9 para macro e4ecução Tipo -loco de C!di6o' -loco de C!di6o com a e4pressão ADHPl para
e4ecuçãolSee Se ?erdadeiro, &4ecutar o DbSee com o conteBdo retornado pelaf!rmula
Retorno (b3eto do tipo TRPosition
SetFor$ula(uFor$ula,lSeek)Dene a f!rmula de posicionamentou/ormula /!rmula de posicionamento
Tipo Caracter' &4pressão ADHP9 para macro e4ecução Tipo -loco de C!di6o' -loco de C!di6o com a e4pressão ADHPl para
e4ecuçãolSee Se ?erdadeiro, &4ecutar o DbSee com o conteBdo retornado pelaf!rmula
Set*ick*a$e(c*ick*a$e)Dene a ordem do 0ndice pelo seu nicnamec8ic8ame 8ic8ame da ordem de 0ndice da tabela
SetOrder(nOrder)
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 36/56
Dene a ordem do 0ndice para o posicionamenton(rder (rdem do 0ndice
SetTa+le(cAlias)Dene a tabela que será utitlia pela f!rmula para o posicionamentocAlias Tabela que será utiliada na formula
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 37/56
TRF1*CTO*
Totaliador de uma quebra, seção ou relat!rio que utilia a classe TReport.
*m totaliador pode e4ecutar uma das se6uintes funções abai4o, utiliando comoreferKncia uma c%lula da seção ou o retorno de uma f!rmula denida para ele'
S*< SomarC(*8T Contar<AF Halor má4imo<:8 Halor m0nimoAH&RA=& Halor m%dio(8PR:8T Halor atual T:<&S*< Somar #oras T:<&AH&RA=& Halor medio de #oras T:<&S*- Subtrai #oras
8a criação do totaliador sempre % informado uma seção "TRSection$ a qual elepertence, e automaticamente o totaliador será incluido no relat!rio "TReport$ que aseção pertence.
&sta classe #erda as propridades e m%todos da classe TRC&99
Propriedades
bCondition -loco de c!di6o com a condição de atualiação dos ?alores dototaliadorb(nPrint -loco de c!di6o para tratamentos antes da impressão do totaliadorc/unction c/unction /unção que será utiliada pelo totaliador. &4emplo'S*<,
C(*8T, <AF, <:8
lCollection Se ?erdadeiro, aponta que o totaliador % do tipo Collectionl&ndPa6e Se ?erdadeiro, aponta que o totaliador será impresso no nal dapá6inal&ndReport Se ?erdadeiro, aponta que o totaliador será impresso no nal dorelat!riol&ndSection Se ?erdadeiro, aponta que o totaliador será impresso no nal daseçãolPa6eHalue Se ?erdadeiro, aponta que % impressão do total da pá6inalPrint9a1out Se ?erdadeiro, aponta que % ?isualiação do la1outlReportHalue Se ?erdadeiro, aponta que % impressão do total 6erallSectionHalue Se ?erdadeiro, aponta que % impressão do total da seçãolPrintCollection Se ?erdadeiro, aponta que % impressão de totaliador do tipoCollection
nCount Contador de re6istros impressosnCountPa6e Contador de re6istros impressos para a pá6inanCountReport Contador 6eral de re6istros impressosnCountSection Contador de re6istros impressos para a seçãooCell (b3eto da classe TRCell que o totaliador se refereoTotal (b3eto da classe TR/unction ou TRCollectionu/ormula Tipo Caracter' &4pressão ADHP9 para macro e4ecução
Tipo -loco de c!di6o' -loco de C!di6o com a e4pressão ADHP9 parae4ecução
u9astHalue Zltimo ?alor atualiado no totaliadoruPa6e Total acumulado por pá6inauReport Total acumulado 6eral do relat!riouSection Total acumulado por seção
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 38/56
MÉTODOS
ClrBack(lO+ect)Retorna a cor de fundo do relat!riol(b3ect Aponta que de?e ser retornado o ob3eto T-rus#
Retorno Caso o parGmetro l(b3eto se3a ?erdadeiro o retorno será o ob3eto T-rus#, caso
contrário será o nBmero da cor R=-.
ClrFore()Retorna a cor de fonte do relat!riolPrint>eader Aponta impressão do cabeçal#o da c%lula
Retorno 8Bmero da cor R=-
Col()Retorna a posição da coluna do totaliador
Retorno Posição da coluna do totaliador
Ena+led()Retorna se o totaliador está #abilitado
Retorno Se ?erdadeiro, aponta que o totaliador está #abilitado
EndPa!e()Retorna se o totaliador será impresso no nal de cada pá6ina
Retorno Se ?erdadeiro, o totaliador será impresso
EndReport()Retorna se o totaliador será impresso no nal do relat!rio
Retorno Se ?erdadeiro, o totaliador será impresso
EndSection()Retorna se o totaliador será impresso na quebra de seção
Retorno Se ?erdadeiro, o totaliador será impresso
E-alFunction()*tiliado pelo m%todo &4ecute"$, ele e4ecuta a função do totaliador, utiliando a
f!rmula denida pelo m%todo 8eJ ou pelo m%todo Set/ormula.
E"ecute()&4ecuta a função do totaliador, utiliando a f!rmula denida pelo m%todo 8eJ oupelo m%todo Set/ormula.
( m%todo &4ecute % e4ecutado para cada lin#a impressa pelo m%todo Print9ine daseção que o totaliador pertence.For$ula()Retorna a f!rmula do totaliador
Retorno Tipo Caracter' &4pressão ADHP9 para macro e4ecução Tipo -loco de c!di6o' -loco de C!di6o com a e4pressão ADHP9 para
e4ecução
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 39/56
FullD()Retorna o identicador do totaliador mais o identicador da c%lula
Retorno :denticador do totaliador mais o identicador da c%lula
/etFunction(uFunction)
Retorna a função utiliada pelo totaliador. &4emplo' S*<, C(*8T, <AF, <:8,AH&RA=&u/unction :denticador do totaliador
Retorno Caso informado o identicador do totaliador o retorno será o ob3eto,caso
contrário será a função
/et8alue()Retorna o ?alor do totaliador
Retorno Halor do totaliador
/etast8alue()Retorno o Bltimo ?alor atualiado no totaliador
Retorno Zltimo ?alor atualiado no totaliador
/et2idt%(lAuto2idt%)Retorna a lar6ura da c%lulalAutoidt# Aponta que a lar6ura será calculada automaticamente
Retorno 9ar6ura da c%lula do totaliador
/etPrintCollection()Retorna se % impressão de totaliador do tipo Collection
Retorno Se ?erdadeiro, aponta impressão de totaliador do tipo Collection
*e#(oCell,c*a$e,cFunction,oBreak,cTitle,cPicture,uFor$ula,lEndSection,lEndReport,lEndPa!e,oParent,+Condition,lDisa+le,+CanPrint)<%todo construtor da classe TR/unction.
oCell (b3eto da classe TRCell que o totaliador se referec8ame :denticação do totaliadorc/unction /unção que será utiliada pelo totaliador. &4emplo' S*<, C(*8T,<AF, <:8o-rea (b3eto da classe TR-rea que dene em qual quebra o totaliador
será impressocTitle T0tulo do totaliador. Se não informado será utiliado o t0tulo da c%lulaque o
totaliador se referecPicture <áscara de impressão do totaliador. Se não informado seráutiliado a máscara
da c%lula que o totaliador se refereu/ormula Tipo Caracter' &4pressão ADHP9 para macro e4ecução
Tipo -loco de c!di6o' -loco de C!di6o com a e4pressão ADHP9 parae4ecução
l&ndSection Se ?erdadeiro. :ndica se totaliador será impresso na quebra de seçãol&ndReport Se ?erdadeiro. :ndica se totaliador será impresso no nal do relat!rio
l&ndPa6e Se ?erdadeiro. :ndica se totaliador será impresso no nal de cadapá6inaoParent (b3eto da classe TRSection que o totaliador se refere
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 40/56
bCondition -loco de c!di6o com a condição de atualiação dos ?alores dototaliadorlDisable Se ?erdadeiro. Dene que não irá atualiar os ?alores dototaliadorbCanPrint -loco de c!di6o com a condição de impressão dos ?alores dototaliador
Pa!e8alue()Retorna o ?alor atual do totaliador para a pá6ina
Retorno Halor atual da pá6ina
Print(u8alue):mprime o total atualuHalue Se informado, dene o ?alor a ser impresso e altera o ?alor do total,caso
contrario imprime o ?alor atual
PrintPa!e()
:mprime o totaliador da pá6ina
PrintReport():mprime o totaliador 6eral do relat!rio
PrintSection():mprime o totaliador da seção
Report8alue()Retorna o ?alor 6eral do totaliador para o relat!rio
Retorno Halor 6eral do relat!rio
Reset()Reinicia ?alor do totaliador
ResetPa!e()Reinicia ?alor do totaliador da pá6ina
ResetReport()Reinicia ?alor do totaliador 6eral do relat!rio
ResetSection()Reinicia ?alor do totaliador da seção
Section8alue()Retorna o ?alor atual do totaliador para a seção
Retorno Halor atual da seção
SetBreak(oBreak)Dene a quebra "TR-rea$ que o totaliador será impressoo-rea (b3eto TR-rea
SetCollection(lCollection)Dene que o totaliador % do tipo collectionlCollection Se ?erdadeiro, aponta que o totaliador % do tipo collection
SetCondition(+Condition)Dene o bloco de c!di6o com a condição de atualiação dos ?alores do totaliador
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 41/56
bCondition -loco de c!di6o com a condição de atualiação dos ?alores dototaliador
SetEndPa!e(lEndPa!e)Dene se o totaliador será impresso na quebra de cada pá6inal&ndPa6e Se ?erdadeito, aponta que imprime o totaliador
SetEndReport(lEndReport)Dene se o totaliador será impresso no nal do relat!riol&ndReport Se ?erdadeito, aponta que imprime o totaliador
SetEndSection(lEndSection)Dene se o totaliador será impresso na quebra de seçãol&ndSection Se ?erdadeito, aponta que imprime o totaliador
SetFor$ula(uFor$ula)Dene a f!rmula utiliada pelo totaliador no lu6ar de utiliar o conteBdo da c%lulaque ele se refereu/ormula Tipo Caracter' &4pressão ADHP9 para macro e4ecução
Tipo -loco de c!di6o' -loco de c!di6o com a e4pressão ADHP9 parae4ecução
SetFunction(cFunction)Dene a função que será utiliada pelo totaliador. &4emplo' S*<, C(*8T, <AF,<:8c/unction /unção do totaliador
SetTotalnine(lTotalnine)Dene que a impressão dos totaliadores serão em lin#alTotal:n9ine Se ?erdadeiro, imprime os totaliadores em lin#a
SetPrintCollection(lPrintCollection)Dene que % impressão de collectionslPrintCollection Se ?erdadeiro, aponta que % impressão de collections
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 42/56
TRBREA7
Iuebra de uma seção de um relat!rio que utilia a classe TReport.
A classe TR-rea % utiliada quando #á a necessidade de impressão dostotaliadores da seção antes do nal da seção ou do relat!rio, dependendo da re6ra
de quebra informada.
&sta classe #erda as propridades e m%todos da classe TRS&CT:(8
Propriedades
b(n-rea -loco de c!di6o com tratamentos a serem realiados antes da quebrab(nPrintTotal -loco de c!di6o com tratamentos a serem realiados ap!s a quebrau-rea Re6ra para quebra
Tipo (b3eto' (b3eto da classe TRCell Tipo Caracter' &4pressão ADHP9 para macro e4ecução Tipo -loco de C!di6o' -loco de c!di6o com e4pressão que será
e4ecutadauContent Zltimo ?alor atualiado no controle da quebra
MÉTODOS
E"ecute(lForce)&4ecuta a re6ra e indica se #ou?e a quebra.( m%todo &4ecute % e4ecutado para cada lin#a impressa pelo m%todo Print9ine daseção que a quebra pertence.l/orce /orça a e4ecução da quebra
Retorno Se ?erdadeiro, aponta que #ou?e quebra
/etast8alue()Retorno o Bltimo ?alor atualiado no controle da quebra
Retorna Zltimo ?alor atualiado
*e#(oParent,uBreak,uTitle,lTotalnine,c*a$e,lPa!eBreak)<%todo construtor da classe TR-reaoParent (b3eto da classe TRSection que a quebra pertenceu-rea Re6ra para quebra
Tipo (b3eto' (b3eto da classe TRCell Tipo Caracter' &4pressão ADHP9 para macro e4ecução Tipo -loco de C!di6o' -loco de c!di6o com e4pressão que será
e4ecutada
uTitle T0tulo da quebralTotal:n9ine Se ?erdadeiro, aponta que os totaliadores serão impressos em lin#ac8ame 8ome e identicador da quebralPa6e-rea Se ?erdadeiro, aponta salta de pá6ina ap!s a quebra
Retorno (b3eto da classe TR-rea
OnBreak(+OnBreak)Dene o bloco de c!di6o que será e4ecutado antes da impressão da quebrab(n-rea -loco de c!di6o com tratamentos a serem realiados antes na quebra
OnPrintTotal(+OnPrintTotal)Dene o bloco de c!di6o que será e4ecutado ap!s a impressão da quebrab(nPrintTotal -loco de c!di6o com tratamentos a serem realiados ap!s a quebra
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 43/56
Print()&4ecuta a impressão da quebra
PrintTotal():mprime a quebra e e4ecuta os tratamentos denidos no m%todo (nPrintTotal
ResetBreak():nicialia o ?alor utiliado para controlar a quebra
SetBreak(uBreak)Dene a re6ra para a quebrau-rea Re6ra para quebra
Tipo (b3eto' (b3eto da classe TRCell Tipo Caracter' &4pressão ADHP9 para macro e4ecução Tipo -loco de C!di6o' -loco de c!di6o com e4pressão que será
e4ecutada
SetTitle(uTitle)Dene o t0tulo que será impresso antes da impressão dos totaliadores
uTitle Te4to a ser impresso no formato caracter ou bloco de c!di6o
Title()Retorna o t0tulo que será impresso antes da impressão dos totaliadores
Retorno T0tulo da quebra
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 44/56
TRORDER(rdena a seção de um relat!rio que utilia a classe TReport.
&sta classe #erda as propridades e m%todos da classe TRP(S:T:(8
Propriedades
cTitle T0tulo da ordem
MÉTODOS
E"ecute()(rdena a tabela
/etOrder()Retorna a ordem da tabela
Retorno Posição da ordem no dicionário de indices + S:F
*e#(oParent,uOrder,cTitle,cAlias)<%todo construtor da classe TR-reaoParent (b3eto da classe TRSection que a ordem pertenceu(rder Tipo Caracter' 8ic8ame da ordem no dicionário de indices S:F
Tipo 8um%rico' Posição da ordem no dicionário de indices + S:FcTitle T0tulo da ordemcAlias Tabela que será ordenada
Retorno (b3eto da classe TR(rder
SetTitle(cTitle)Dene o t0tulo da ordem
cTitle T0tulo da ordem
Title()Retorna o t0tulo da ordem
Retorno T0tulo da ordem
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 45/56
TRREATO*Relacionamento entre as seções que utilia a classe TReport.
&sta classe #erda as propridades e m%todos da classe TRP(S:T:(8
MÉTODOS
*e#(oParent)oParent (b3eto da classe TRSection que o relacionamento pertence
E"ecute()&4ecuta f!rmula de relacionamento
SetFor$ula(uFor$ula,lSeek)Dene a f!rmula de posicionamentou/ormula /!rmula de posicionamento
Tipo Caracter' &4pressão ADHP9 para macro e4ecução Tipo -loco de C!di6o' -loco de C!di6o com a e4pressão ADHPl para
e4ecuçãolSee Se ?erdadeiro, &4ecutar o DbSee com o conteBdo retornado pelaf!rmula
Set*ick*a$e(c*ick*a$e)Dene a ordem do 0ndice pelo seu nicnamec8ic8ame 8ic8ame da ordem de 0ndice da tabela
SetOrder(nOrder)Dene a ordem do 0ndice para o posicionamenton(rder (rdem do 0ndice
SetTa+le(cAlias)
Dene a tabela que será utitlia pela f!rmula para o posicionamentocAlias Tabela que será utiliada na formula
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 46/56
TRPA/EDenição da pá6ina para relat!rio que utilia a classe TReport.
&sta classe #erda as propridades e m%todos da classe TR&P(RT
Propriedades
bPa6e/ooter -loco de c!di6o utiliado para imprimir :nformações customiadas, noqual,
de?erá ser utiliado m%todos do TReport para impressão. &4emplo'Sa1,
PrintTe4t.l&ndPa6e Aponta que de?erá quebrar pá6inal/irstPa6e Aponta que % primeira pá6ina do relat!riol/ooter-efore Aponta que o rodap% será impresso antes dos totaliadoresl/ooterDiL Aponta que % considerado a altura da lin#a no rodap% para cálculo doaltura da
pá6inal9andscape Aponta a orientação de pá6ina do relat!rio como paisa6emlPa6eDiL Aponta que % considerado o taman#o da borda e rodap% para cálculoda altura
da pá6inalPa6e/ooter Aponta que está sendo impresso o rodap% da pá6inalPa6eTotal Aponta que está sendo impresso o total da pá6inalPortrait Aponta a orientação de pá6ina do relat!rio como retratolTotalAfter Aponta que o totaliador será impresso ap!s a impressão do rodap%lTotalDiL Aponta que será considerada a quantidade de lin#as a seremimpressas no
rodap% n o cálculo da altura da pá6inan/ooterDiL Iuantidade de lin#as a serem impressas no rodap% considerando aaltura da
lin#an>orRes Resolução #oriontal da impressora con6uradan9ines/ooter Iuantidade de lin#as reser?adas para impressão do rodap%nPa6e Pá6ina atualnPaperSie Taman#o da pá6inanTotalDiL Iuantidade de lin#as a serem impressas no rodap% considerando otaman#o da
lin#a e bordasnidt# 9ar6ura da pá6inanHertRes Resolução ?ertical da impressora con6uradaoParent (b3eto da classe TRSection que a pá6ina pertenceoReport (b3eto da classe TR&P(RT que a pá6ina pertence
MÉTODOS
EndPa!e(lFooter):mprime os totaliadores, rodap% e salta a pá6inal/ooter Aponta que o rodap% será impresso
FooterDi3()Retorna a quantidade de lin#as do rodap% considerando a altura da lin#a
Retorno Iuantidade de lin#as
sandscape()Aponta que a orientação do relat!rio % paisa6em
Retorno Se ?erdadeiro, % orientação paisa6em
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 47/56
sPortrait()Aponta que a orientação do relat!rio % retrato
Retorno Se ?erdadeiro, % orientação retrato
*e#(oParent,uTotalTe"t,lTotalnine)
<%todo contrutor da classe TRPa6eoParent (b3eto da classe TRSection que a pá6ina pertenceuTotalTe4t Te4to do totaliador da pá6inalTotal:n9ine :mprime os totaliadores em lin#as
Retorno (b3eto da classe TRPa6e
Pa!e()Retorna a pá6ina atual
Retorno Pá6ina atual
Pa!eDi3()
Retorna a quantidade de lin#as utiliadas na impressão do rodap%
Retorno Iuantidade de li#as do rodap%
Pa!eei!%t()Retorna a altura da pá6ina
Retorno Altura da pá6ina
Pa!e2idt%()Retorna a lar6ura da pá6ina
Retorno 9ar6ura da pá6ina
PaperSi'e()Retorna a taman#o do papel selecionado
Retorno Taman#o do papel
PrintPa!eFooter(nDi3):mprime o rodap% da pá6inanDiL Iuantidade de lin#as reser?adas para o rodap%
PrintTotal(nDi3,lSetPos):mprime os totaliadores da pá6ina
nDiL Iuantidade de lin#as reser?adas para o rodap%lSetPos Posiciona a lin#a de imprressão na primeira lin#a reser?adapara o rodap%
ResetFooterDi3():nicialia os ?alores referente a quantidade de lin#as reser?adas para o rodap%,utiliados no cálculo da altura da pá6ina
ResetPa!e():nicialia as ?ariá?eis da pá6ina, indicando como impressão da primeira pá6ina.
ResetTotalDi3()
:nicialia os ?alores referente a quantidade de lin#as reser?adas para o rodap%
Setandscape()
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 48/56
Dene a orientação de pá6ina do relat!rio como paisa6em
SetPa!eDi3(lPa!eDi3)Dene que será considerada a quantidade de lin#as a serem impressas no rodap%para o cálculo da altura da pá6ina
SetPa!eFooter(ninesFooter,+Pa!eFooter,lFooterBe.ore)Dene a con6uração para impressão do rodap% da pá6inan9ines/ooter Iuantidade de lin#as reser?adas para impressão do rodap%bPa6e/ooter -loco de c!di6o utiliado para imprimir :nformações customiadas, noqual,
de?erá ser utiliado m%todos do TReport para impressão. &4emplo'Sa1,
PrintTe4t.l/ooter-efore :mprime rodap% antes da impressão dos totaliadores
SetPa!e*u$+er(nPa!e)Dene o nBmero da pá6ina atualnPa6e 8Bmero da pá6ina
SetPaperSi'e(nPaperSi'e)Dene o taman#o da pá6inanPaperSie Taman#o da pá6ina
SetPortrait()Dene a orientação de pá6ina do relat!rio como retrato
SetTotalBe.ore(lTotalBe.ore)Dene que o total da pá6ina será impressa antes do ropap%lTotal-efore Total da pá6ina antes do rodap%
StartPa!e():nicialia a impressão de uma no?a pá6ina
TotalDi3()Retorna a quantidade total de lin#as reser?adas para impressão do rodap%
Retorno Iuantidade total de lin#as reser?adas
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 49/56
TRPARAMPA/E:mprime pá6ina de parGmetros para relat!rio que utilia a classe TR&P(RT
&ste m%todo #erda as propridades e m%todos da classe TRS&CT:(8
Propriedades
nSie Taman#o da c%lula
MÉTODOS
*e#(oParent,cPara$)<%todo construtor da classe TRParamPa6eoParent (b3eto da classe TR&P(RTcParam =rupo de per6untas
Retorno (b3eto da classe TRParamPa6e
Print():mprime a pá6ina de parGmetros
PrintFilter():mprime as :nformações de usuário e ltros
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 50/56
TRCOECTO*
Acumulador de uma quebra, seção e relat!rio que utilia a classe TReport.
*m Acumulador pode e4ecutar uma das se6uintes funções abai4o, utiliando comoreferKncia uma c%lula da seção ou o retorno de uma f!rmula denida para ele'
S*< SomarC(*8T Contar<AF Halor má4imo<:8 Halor m0nimoAH&RA=& Halor m%dio(8PR:8T Halor atual T:<&S*< Somar #oras T:<&AH&RA=& Halor medio de #oras T:<&S*- Subtrai #oras
8a criação do acumulador sempre % informado uma seção "TRSection$ a qual elepertence, e automaticamente o acumulador será incluido no relat!rio "TReport$ quea seção pertence.
&sta classe #erda as propridades e m%todos da classe TR/*8CT:(8
Propriedades
b:temPrint Compatibilidade 8ão utiliadob:temReset Compatibilidade 8ão utiliadob:temHalue Compatibilidade 8ão utiliadoc=8ame T0tulo do 6ráco personaliadoc=Serie T0tulo da s%rie do 6ráco personaliadoc:temPicture <áscara de impressão do acumulador
l=&ndReport Aponta impressão do 6ráco no nal do relat!riol=rap#ic Aponta a e4istKncia de 6rácos no relat!riolPrint9a1out Aponta que % impressão de ?isualiação do la1outl*serAccess Se ?erdadeiro, permite o usuário utiliar acumuladores personaliadosn=T1pe Tipo do 6ráco personaliado.
2 9in#as@ Area PontosM -arra[ Pia2@ 9in#as Rápidas
uContent Re6ra com o ?alor acumulado Tipo Caracter' &4pressão ADHP9 para macro e4ecução
Tipo -loco de c!di6o' -loco de C!di6o com a e4pressão ADHP9 parae4ecução
MÉTODOS
Col()Compatibilidade 8ão utiliado
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 51/56
E-alFunction()Atualia o conteBdo dos acumuladores
*e#(c*a$e,cFunction,oBreak,uTitle,cPicture,uFor$ula,lEndSection,lEndReport,oParent,+Condition,uContent)<%todo constructor da classe TRCollection
c8ame :denticação do acumuladorc/unction /unção que será utiliada pelo acumulador. &4emplo' S*<, C(*8T,<AF, <:8o-rea (b3eto da classe TR-rea que dene em qual quebra o acumuladorserá
impressouTitle T0tulo do acumulador. Te4to a ser impresso no formato caracter oubloco de
c!di6o
cPicture <áscara de impressão do acumuladoru/ormula Re6ra para acumulo dos ?alores
Tipo Caracter' &4pressão ADHP9 para macro e4ecução Tipo -loco de c!di6o' -loco de C!di6o com a e4pressão ADHP9 para
e4ecuçãol&ndSection Se ?erdadeiro. :ndica se o acumulador será impresso na quebra deseçãol&ndReport Se ?erdadeiro. :ndica se op acumulador será impresso no nal dorelat!riooParent (b3eto da classe TRSection que o acumulador se referebCondition -loco de c!di6o com a condição de atualiação dos ?alores doacumuladoruContent Re6ra com o ?alor acumulado
Tipo Caracter' &4pressão ADHP9 para macro e4ecução Tipo -loco de c!di6o' -loco de C!di6o com a e4pressão ADHP9 para
e4ecução
Retorno (b3eto da classe TRCollection
Reset():nicialia o acumulador atual
ResetPa!e():nicialia o acumulador da pá6ina
ResetReport():nicialia o acumulador do relat!rio
ResetSection():nicialia o acumulador da seção
ResetSi'e(nT0pe):nicialia o taman#o da c%lula de impressão do acumuladornT1pe Aponta o tipo de collection a ser ?ericado
E Acumulador atual2 Acumulador do relat!rio@ Acumulador da seção Acumulador da pá6ina
SetBreak(oBreak)
Dene a quebra "TR-rea$ que o acumulador será impressoo-rea (b3eto da classe TR-rea
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 52/56
SetPicture(cPicture)Dene a máscara de impressão do acumuladorcPicture <áscara do acumulador
SetTitle(uTitle)Dene o t0tulo que será impresso antes da impressão dos acumuladores
uTitle Te4to a ser impresso no formato caracter ou bloco de c!di6o
SetTotalnine(lTotalnine)Dene que o acumulador será impress em lin#aslTotal:n9ine Se ?erdadeiro, aponta que o acumulador erá impresso em lin#as
Title()Retorna o t0tulo do acumulador
Retorno T0tulo do acumulador
4$load(o4$l)Carre6a um acumulador do tipo collection do la1out personaliado pelo usuário
oFml (b3eto do tipo F<9 com as personaliações do acumulador
4$lSa-e()Sal?a o acumulador do tipo collection no la1out personaliado pelo usuário
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 53/56
TRBORDER
nCol Coluna da bordanColor 8umero da cor R=-n&d6e Tipo da borda. 2 Topo, @ /im, &squerda, M Direita e N Tudon9ineSt1le &stilo da borda. E Sem borda, 2 -orda continua, @ -orda da
classesuperior, -orda do cabeçal#o da classe superior, M -orda da
c%lula, \ -orda do totaliador e ] -orda da seçãonRoJ 9in#a inicial da bordanRoJDiL Iuantidade de lin#as a serem saltadas antes da impressão da bordanei6#t 9ar6uraAltura da bordaoParent (b3eto da classe que irá utiliar a bordaoReport (b3eto da classe TR&P(RT que a borda pertenceoPrint (b3eto T<SPrinter da classe TR&P(RToReal-order (b3eto da classe TR-order
C%eckBorder(n2ei!%t,nColor,nineSt0le)Herica se a borda foi criada e caso contrário dene com as :nformações doparGmetronei6#t 9ar6uraAltura da bordanColor 8umero da cor R=-n9ineSt1le &stilo da borda. E Sem borda, 2 -orda continua, @ -orda daclasse
superior, -orda do cabeçal#o da classe superior, M -orda dac%lula, \ -orda do totaliador e ] -orda da seção
Col()Retorna a coluna em que a borda será impressa
Retorno Coluna da borda
Color()Retorna a cor da borda
Retorno 8Bmero da cor R=-
ineSt0le()Retorna o estilo de borda utiliado
Retorno &stilo da bordaE Sem borda, 2 -orda continua, @ -orda da classe superior,
-orda docabeçal#o da classe superior, M -orda da c%lula, \ -orda do
totaliador e ]
-orda da seção
*e#(oParent,nEd!e,n2ei!%t,nineSt0le,nColor)<%todo constructor da classe TR-orderoParent (b3eto da classe que irá utiliar a bordan&d6e Tipo da borda. 2 Topo, @ /im, &squerda, M Direita e N Tudonei6#t 9ar6uraAltura da bordan9ineSt1le &stilo da borda. E Sem borda, 2 -orda continua, @ -orda daclasse
superior, -orda do cabeçal#o da classe superior, M -orda dac%lula, \ -orda do totaliador e ] -orda da seção
nColor 8Bmero da cor R=-
Retorno (b3eto da classe TR-orderPrint()
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 54/56
:mprime a borda
RealBorder()Retorna a borda atual
Retorno (b3eto da classe TR-order
SetCol(nCol)Dene a coluna da bordanCol Coluna da borda
SetColor(nColor)Dene a cor da bordanColor 8Bmero da cor R=-
SetineSt0le(nineSt0le)Dene o estilo da bordan9ineSt1le E Sem borda
2 -orda continua
@ -orda da classe superior -orda do cabeçal#o da classe superiorM -orda da c%lula\ -orda do totaliador] -orda da seção
SetRo#(nRo#)Dene a lin#a inicial a ser impressa a bordanRoJ 9in#a inicial da borda
SetRo#Di3(nRo#Di3)Dene a quantidade de lin#as que de?erão ser saltadas antes da impressão dabordanRoJDiL Iuantidade de lin#as a serem saltadas
Set2ei!%t(n2ei!%t)Dene a lar6uraaltura da bordanei6#t 9ar6uraaltura da borda
2ei!%t()Retorna a lar6uraAltura da borda
Retorno 9ar6uraAltura da borda
4$load(o4$l)
Carre6a as bordas do la1out personaliado pelo usuáriooFml (b3eto do tipo F<9 com as personaliações das bordas
4$lSa-e()Sal?a as bordas no la1out personaliado pelo usuário
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 55/56
Relat9rios do tipo lista!e$ co$ TREPORT
=era um relat!rio de lista6em simples utiliando a classe de impressão TReport.
A função <PReport substitui o uso da função :mpCadast para os relat!rios delista6em simples.
Sinta"e
<PReport " ^ cReport _ , ^ cAlias _ , ^ cTitle _ , ` cDescription , ` a(rder ,` l9oad(rder $
cReport 8ome do relat!rio "e4emplo' <ATRE@E$cAlias Tabela utiliada pelo relat!riocTitle T0tulo do relat!riocDescription Descrição do relat!rioa(rder Hetor com as descrições das ordens utiliadas do pelo relat!riol9oad(rder Se ?erdadeiro, carre6a os 0ndices do Dicionário de ndices "S:F$
E"e$plo
include prot#eus.c#
:nformando o ?etor com as ordens utiliadas pelo relat!rio*ser /unction <1Report2"$
<PReport"<OR&P(RT2,SA2,Relacao de Clientes,&ste relat!rio irá imprimir arelação de clientes,VPor Codi6o,Alfabetica,Por XRTrim"RetTitle"A27C=C$$W$
Return
:nformando para função carre6ar os 0ndices do Dicionário de ndices "S:F$ databela*ser /unction <1Report@"$
<PReport"<OR&P(RT@,SA2,Relacao de Clientes,&ste relat!rio irá imprimir arelacao de clientes,,.T.$
Return
7/17/2019 t Report
http://slidepdf.com/reader/full/t-report 56/56
E4EMPOS
:nserir e4emplos dos m%todos principais do TR&P(RT
&4emplo de en?io de relat!rio por e+mail sem utiliar sc#edule ou remote.