t Report

56
TREPORT Classe de impressão que substitui as funções SetPrint, SetDefault, RptStatus e Cabec. A classe TReport permite que o usuário personalie as informações que serão apresentadas 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ão de totaliadores "TR/unction$) (s totaliador es 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 aCollec tion Arra1 com todos totali adores do tipo TRCollection do relat!rio. &lemento' 2+(b3eto TRCo llection aCustomTe4t Arra 1 contendo a customi açã o para impr essão do cabeçal#o padrão. &lementos' 25Te4to a ser impresso, no qual, um elemento por lin#a. &4istem al6umas 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 emp resa  77/A T9:8&77 + :mprime um lin#a 6r ossa  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 ima6em a/ontSie Arra1 com as fontes do s istema. &lementos' 2 +/onte, @+  T aman#o, +  T aman#o em pi4 el a/unction Arra1 com todos totali adores do tipo TR/unction do relat!rio. &lemento' 2+(b3eto TR/ unction a>eaderPa6e Arra1 com t od as as s eções que imprimem cabeçal#o no topo da pá6ina aSection Arra1 com todas as seções do relat!rio. &lemento' 2+(b3eto  TRSection bAction -loco de c!di6o e4ecutado quando o usuário conrmar a impressão do relat!rio bCustomTe4t -loco de c!di6o para atuali ação da propriedade aCustomTe4t b(n8umberP a6e -loco de c!d i6o par a a tua li açã o do nBmero da pá6 ina atual b(nPa6e-rea -loco de c!di6o para tratamentos na inicialiação de cada pá6ina bT otal Compatibilidade 8ão utiliado bT otalCanPrint -loco de c!di6o utiliado para ?alidar a impressão dos totaliadores

description

Métodos e parametros de todos as classes envolvidas no TReport

Transcript of t Report

Page 1: 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

Page 2: t Report

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

Page 3: t Report

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

Page 4: t Report

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

Page 5: t Report

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

Page 6: t Report

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)

Page 7: t Report

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

Page 8: t Report

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

Page 9: t Report

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.

Page 10: t Report

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

Page 11: t Report

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)

Page 12: t Report

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

Page 13: t Report

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

Page 14: t Report

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

Page 15: t Report

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

Page 16: t Report

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

Page 17: t Report

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

Page 18: t Report

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

Page 19: t Report

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.

Page 20: t Report

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

Page 21: t Report

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

Page 22: t Report

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

Page 23: t Report

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,

Page 24: t Report

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)

Page 25: t Report

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)

Page 26: t Report

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

Page 27: t Report

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

Page 28: t Report

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

Page 29: t Report

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

Page 30: t Report

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

Page 31: t Report

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

Page 32: t Report

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

Page 33: t Report

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

Page 34: t Report

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

Page 35: t Report

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)

Page 36: t Report

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

Page 37: t Report

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

Page 38: t Report

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

Page 39: t Report

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

Page 40: t Report

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

Page 41: t Report

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

Page 42: t Report

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

Page 43: t Report

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

Page 44: t Report

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

Page 45: t Report

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

Page 46: t Report

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

Page 47: t Report

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

Page 48: t Report

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

Page 49: t Report

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

Page 50: t Report

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

Page 51: t Report

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

Page 52: t Report

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

Page 53: t Report

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

Page 54: t Report

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

Page 55: t Report

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

Page 56: t Report

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.