Apostila - Datasul - Programando Progress - Grafico 1
Short Description
manual de padroes datasul - resumo....
Description
Layout de Telas TIPOS DE TELAS Janela Mestre Base dos programas chamados a partir do menu Menu de barra, régua de botões no topo da janela que disponibilizam as funções existentes naquele programa, e possuem moldura (resizeable) !x" #ela de um programa de cadastro Janela Detalhe (filhas) $hamadas a partir de janelas mestre %ealizaç&o de funções de um programa '&o possuem menu de barra, régua de botões fica na parte de baixo da tela '&o possuem moldura (resize no) !xemplo" #ela de um programa de zoom Caixas de Diáloo nterface modal funções de grande risco aos sistemas %égua de botões na parte de baixo da caixa !xemplo" *rograma de $+lculo do *reço Médio O!ser"a#$o '&o é aconselh+el salar salar uma -ialog com uma .indo/ aberta 0uando isto é feito, é poss1el que o menu da .indo/ seja copiado para a -ialog eliminando2o $aso isto aconteça é necess+rio recriar a -ialog e o menu da .indo/ O%JETOS Co&!o'!oxes Ver capítulo Como implementar campos indicadores com view-as combo-box nas telas.- TECNICAS
etnulos 3grupar a chae de acesso das telas, agrupar campos de um mesmo assunto, emoldurar itens de radio2set e emoldurar editores que necessitem de label %ot*es Botões com label" altura" 4,556 largura" 45, 47 ou 85 unidades6 %epresentarem ações" erbos no infinitio ($ancelar, ncluir ) 9:;9" confirma e sai da tela6 9$ancelar9" n&o confirma e sai da tela6 +ill'in,s 3ltura de 5,"á 7ara>6 reali=adas na tela !ase do 7rora&a? 7rora&a? $ampos alinhados formando colunas #abulaç&o de cima para baixo ? coluna a coluna menu de barra todos os botões 'oas funções" botões (régua de botões no topo) e itens no menu de barra 3lterar" n&o permite alterar a chae !liminar" confirmaç&o Menu de barra" 3rquio 3 ju d a *rimeiro 3nterior *rLximo Oltimo K+ *ara *esquisa ncluir
$trl2Dome $trl2Neft $trl2%ight $trl2!nd $trl2# $trl2J7 $trl2ns
$ontedo Cobre
$opiar 3lterar !liminar -esfazer $ancelar Calar mprimir Cair
$trl2$ $trl23 $trl2-el $trl2= $trl2JH $trl2C $trl2* $trl2P
CADASTO COMPLE@O
Cara3ter4sti3as Menu de barra" barr a" igual cadastro simples Jolders" campos n&o couberem em uma ie/er CADASTO SIMPLESCOMPLE@O ' AT8ALIBA
Cara3ter4sti3as menu de barra" apenas 3tualizar $:M*N!P:" tem folders PAI @ +ILOS AT8ALIBA +ILO
Cara3ter4sti3as Jolder" selecionar bro/sers de tabelas filho6 Manutenç&o apenas da tabela filho6 ncluirQModificar" chamam janelas semelhantes ao $adastro CQ$ sem a régua MA-8TE-.O DE +ILOS
Cara3ter4sti3as Cem painéis, folders ou n&o6 $hamado atraés de um pai x filho6 nclus&oQ3lteraç&o6 Junções dos botões PAI @ +ILOS AT8ALIBA AM%OS
Carater4sti3as gual 3tualiza Jilho, mas atualiza registro pai (botões da régua) ncluirQModificarQ$opiar" também chamam janelas semelhantes ao $adastro sem a régua MA-8TE-.O DE PAIS
Carater4sti3as gual manutenç&o filho, porem altera o pai #em funç&o copiar CO-S8LTA CADASTAL SIMPLES
Cara3ter4sti3as 3penas para consulta 3penas zoom e do 9K+ para9 n&o realizadas na tela base do programa Menu botões CO-S8LTA CADASTAL COMPLE@A
Cara3ter4sti3as Mesmas caracter1sticas $onsulta Cimples, mas tem um 9Jolder9 CO-S8LTA ELACIO-AME-TO
Cara3ter4sti3as %elacionamentos de uma tabela pai $ada p+gina um relacionamento (filho) Bro/er" bot&o detalhar consulta tabela filho (duplo2clique ou GspaceI no Bro/ser) 3cima do folderQretFngulo principais campos da tabela ELATFIOS6 CGLC8LOS E +ECAME-TOS
Cara3ter4sti3as Ranela tipo detalhe, sem barra emoldurada, simulando caixa de di+logo Bot&o !xecutar" executa parametrizaç&o realizada nos Jolders Celeç&o" tudo que é faixa6 $lassificaç&o" %adio2set com as opções6 *arFmetros" outras informações6 -igitaç&o" bro/se updatable 3 seguir, est&o demonstrados os folders de Celeç&o, $lassificaç&o, *arFmetros e -igitaç&o PAHMETOS -ICOS
Cara3ter4sti3as #ipo detalhe" sem menu de barra e moldura 2 caixa de di+logo Junç&o dos botões PAHMETOS MLTIPLOS Mesmas regras dos $adastros Cimples ou $omplexo !xemplo" *arFmetros por estabelecimento +OMA.O
Cara3ter4sti3as 'aegaç&o" programa independente Bot&o ncluir () adiciona ao bro/ser de formaç&o informaç&o de 8 tabelas6 Bot&o -eletar () remoe dados Bot&o Modifica" atualizaç&o dos atributos ($adastro sem a régua) +OMA.O SEM -A1EA.O
Cara3ter4sti3as '&o possui naegaç&o ? dependente $hamado por um programa que possua Bro/ser Jormaç&o IMPOTA.O
Cara3ter4sti3as Ranela tipo detalhe !xecutar" dispara a importaç&o parametrizada nos folders Naout" laout do arquio !ditar ? atraés de um editor de texto Celeç&o" faixa de registros *arFmetros" nome do arquio de entrada (registros a serem importados) Nog" nome do arquio de sa1da 3 seguir est&o demonstrados os folders de Naout, Celeç&o e *arFmetros" E@POTA.O
Cara3ter4sti3as Ranela tipo detalhe !xecutar " dispara a exportaç&o parametrizada nos folders Celeç&o" faixa dos registros que ser&o exportados6 *arFmetros" nome do arquio de sa1da Nog" determinaç&o de modo de execuç&o do mesmo 3 seguir s&o mostrados os folders de Naout, Celeç&o e *arFmetros" E::M -! #3B!N3C
Cara3ter4sti3as Ranela do tipo detalhe -efault2button" 9:;9 mplantar" chama o programa de cadastro da tabela (pode estar desabilitado) Botões espec1ficos" ao lado do Smplantar aplicaç&o do alor inicial e final definido pelo usu+rio Jolder" opç&o de classificaç&o La!el do 3a&7o: Talor inicialU Talor finalU '&o literais para denominar inicial e final O!ser"a#$o Kerificar se cada folder tem um bro/ser diferente ou n&o, se isto for necess+rio inerter a ordem dos campos, conforme a classificaç&o '&o tem os botões de I-;CIO e de +IM teclado" 5OME5 e 5E-D5 1G'PAA
Cara3ter4sti3as %eposicionamento r+pido do registro corrente $onhecimento da chae do registro $aixa de di+logo com botões de 9:V9 e 9$ancelar9 e 93juda9 default2button" :; O!ser"a#$o '&o salar uma -ialog com uma .indo/ aberta (*oss1el que o menu da .indo/ seja copiado para a -ialog eliminando2o) DIITA.O GPIDA
Cara3ter4sti3as #ipo -etalhe default2button 2 9:V9 *+ginas iniciais" informações genéricas Oltima p+gina" bro/ser PAI-KIS
*ainéis padr&o utilizados para naegaç&o
+8-./ES elatrios ela3ionados
Cara3ter4sti3as Bro/ser" lista relatLrios relacionados ao programa !xecutar 2 chama o relatLrio selecionado Consultas ela3ionadas
Cara3ter4sti3as Bro/ser que lista todas as consultas relacionadas !xecutar" chama a consulta selecionada
Constru#$o de Prora&as utili=ando os Estilos e suas T3ni3as O!ser"a#$o $ampos fill2inWs" trigger de AN!3K!AQAK3N=!2$D3'X!-A e sem lupa ou bt de zoom trigger de A!'#%YA %egistro para o .eb!nabler CADASTO SIMPLES 4) Celecionar o estilo" $adastro Cimples MastersQ/2cadsim/ $adastro Cimples ? 3lteraç&o MastersQ/2cadsi8/ $adastro Cimples ? nclus&o MastersQ/2cadsiZ/ 8) Kerificar se j+ existe smart0uer para a tabela 84 ? se n&o ? criar noa quer usando o $ustom0uer.izard 88 nstanciar a Cmart0uer na p+g 5 e aceitar smartNinV Z) Kerificar se existe +2para e programa de pesquisa Z4 ? Ce n&o existe, criar Z8 'o atributos de instFncia 0uer ? informar A*rograma *esquisaA e A*rograma K+[
H) $riar CmartNinV tipo C#3#! Cource" p2naega #arget" Cmart0uer6 7) $riar CmartNinV tipo C#3#! Cource" p2exihel #arget" Cmart0uer6 \) Kerificar se existe CmartKie/er \4 Ce n&o existir, criar (estilo $ustomKie/er com 3uto2Jield) \8 nstanciar a CmartKie/er na p+g5 e aceitar linV \Z %edimensionar .indo/ ? Kie/er centralizada @) Calar Cmart.indo/ LISTA DE LI-NS Te& trs 7ainis (na"ea6 3adsi& e exihel7) Sour3e
Lin Ty7e
taret
h]p2cadsim h]p2cadsim h]p2naega h]p2naega
C#3#! #3BN!: '3KX3#:' C#3#!
h]p2exihel h]ie/er h]quer h]quer
h]quer h]p2exihel
%!$:%C#3#!
h]ie/er h]quer
CADASTO COMPLE@O Passos Q a R ? igual cadastro simples -iferença" instanciar +rias ie/ers (page5 e folders) Kerificar o nome do estilo 4 Ce n&o existirem $riar 2 $ustomBro/ser ncluiQModifica6 >8 nstanciar o CmartBro/ser, aceitando os linVs6 >Z 3cessar atributos e informar" programa de atualizaç&o abela filha (Ce n&o existir, dee criar) 45) Ce necess+rio, incluir botões de Celeç&o eQou *arFmetros para a tabela do CmartBro/ser LISTA DE LI-NS Cource
NinV #pe
#arget
h]folder p2cadpai p2cadpai h]p]exihel h]p2naega h]p2naega h]quer h]quer h]quer
*3X! #3BN!: C#3#! C#3#! '3KX3#:' C#3#! %!$:%%!$:%%!$:%-
#DC2*%:$!-=%! h]ie/er h]quer h]quer h]quer h]quer h]ie/er h]bro/se4 h]bro/se8
CADASTO I-CL8IMODI+ICA PAI 4) Celecionar o estilo" .indo/ ncluiModifica *ai *assos 8 a 45
MasterQ/2incmdp/
gual programa ncluiQModifica Jilho
LISTA DE LI-NS 8&a 1ie0er Cource NinV #pe #DC2*%:$!-=%! #3BN!: h]quer %!$:%Mais de uma Viewer
#arget h]ie/er h]ie/er
Cource h]quer #DC2*%:$!-=%! h]ie/er4 h]ie/er4 h]quer h]quer
NinV #pe %!$:%#3BN!: X%:=*23CCX' X%:=*23CCX' %!$:%%!$:%-
#arget h]ie/er4 h]ie/er4 h]ie/er8 h]ie/erZ h]ie/er8 h]ie/erZ
I-CL8IMODI+ICA 4) Celecionar o estilo" .indo/ ncluiModifica *ai
MasterQ/2incmdp/
Ceguir os passos do .izard :bs" 8) ndicar tabela externa" tabela pai Z) 0uer dee conter a tabela filha H) Andexed2%epositionA marcado 7) `:ptionsA coluna A%eturnedA AJields =sedA6 toggle2box ACort2B*hraseA marcado Custo&%ro0ser BOOM IBAD 4) Celecionar o estilo" $ustom Bro/ser Eoom .izard MastersQ/br/zoo/ Ceguir os passos do .izard" 8) !xibir apenas registros entre os limites p+gina /here" G#abelaIG$amposI I fi2ini2GcampoI and G#abelaIG$amposI G fi2fin2GcampoI Z) 3lterar fill2ins faixa" nome (mesmo usado na quer), tipo, formato, tamanho e alor inicial Z4 -atabase fields indicar o campo dialog -ictionar -efaults desmarcar os toogle2boxes Nabel e -atabase Kariable6 H) Ce forem adicionados
copiar mage24 e mage28
7) #rigger bt2confirma" trocar c2inicial e c2final para nome dos campos \) *ode ser necess+rio traduzir utilizando ut2liter CO-S8LTA SIMPLES 4) Celecionar o estilo" .indo/ $onsulta Cimples MastersQ/2consim/ *assos 8 a @
gual cadastro simples
LISTA DE LINKS
Cource h]p2naega h]p2naega h]quer h]p2exihel
NinV #pe '3KX3#:' C#3#! %!$:%C#3#!
Cource h]folder h]p2naega h]quer h]quer h]quer h]quer h]ie/er24 h]ie/er24 h]ie/er24 h]p2exihel h
NinV #pe *3X! '3KX3#:' %!$:%%!$:%%!$:%%!$:%X%:=*23CCX' X%:=*23CCX' X%:=*23CCX' C#3#! C#3#!
#arget h]quer h]quer h]ie/er h]quer #arget #DC2*%:$!-=%! h]quer h]ie/er4 h]ie/er8 h]ie/erZ h]ie/erH h]ie/er28 h]ie/er2Z h]ie/er2H h]quer h
CO-S8LTA COMPLE@A 4) Celecionar o estilo" .indo/ $onsulta $omplexa MastersQ/2concom/ gual cadastro complexo LISTA DE LI-NS
CO-S8LTA ELACIO-AME-TOS 4) Celecionar o estilo" .indo/ $onsulta %elacionamento *assos 8 a \
MastersQ/2conrel/
gual cadastro simples
@) %epetir os seguintes passos para os CmartBro/sers" @4 ? Ce n&o existir, criar ($ustomBro/ser $onsulta) @8 2 Bot&o A-etalharA" chamar programa de consulta 2 detalhar" 4 $onsulta cadastral do filho 8 $onsulta relacionamento do filho Z $onsulta cadastral de uma tabela associatia ao filho6 @Z mplantar técnica de reposicionamento autom+tico com base nas ari+eis globais @H 3tributos de instancia do Bro/ser informar nome do programa ) $olocar demais objetos #ornar desabilitados e, em 3danced, marcar 9^3-M2M:-JY2J!N-C_9 45) $ustomizar N:$3N2'#3NE! para inicializar objetos (Nabels, itens para combo2boxes e radio2 sets, etc) 3ntes do dispatch padr&o 44) N:$3N2!'3BN!2J!N-C" comentar `if2adm2ne/2recordes thenA6 48) N:$3N2-C*N3Y2J!N-C" customizada alor da ari+el seja exibido 4Z) -efinir a altura (demais para a minha cabeça decorar os alores) 4H) *ropriedades da frame 9#ab :rder9 9Neft2to2%ight B $olumns96 Se& 3a&7os de ta!ela '&o inculado a uma base de dados alores alterados em tempo de execuç&o
4) $ancelar a tela de seleç&o de tabelas 8) Jazer a alteraç&o no assign2records para cadastro simples Z) Method2Nibrar" include i2auxtabi
H) -efinir uma tabela externa6 7) nserir os objetos -esabilitar \) $olocar os campos nos preprocessadores" #ipo de :bjetos *reprocessador Jinalidade $haes 3dm2create2fields Dabilitados somente na criaç&o :utras ari+eis 3dm2modif2fields Dabilitados no 3--, 3dm2assign2fields $:*Y e M:-JY @) $ustomizar N:$3N2'#3NE! para inicializar objetos (Nabels, itens para combo2boxes e radio2 sets, etc) 3ntes do dispatch padr&o 4 Kie/er principal, incluir" %=' notif (9enable2fields, X%:=*23CCX'2#3%X!#9"=) 45) N:$3N2-C3BN!2J!N-C" comentar o dispatch padr&o6 inserir as seguintes linhas" if defined(3-M2$%!3#!2J!N-C) then disable ^3-M2$%!3#!2J!N-C_ /ith frame ^frame2name_ endif 454 $aso seja uma ie/er principal colocar" %=' notif (9disable2fields, X%:=*23CCX'2#3%X!#9"=) 44) N:$3N23CCX'2C#3'#!M!'#" objetos ter&o seus alores salos" comentar o dispatch padr&o6 inserir a lLgica de graaç&o dos alores das ari+eis 48) 3lterar alturas e tamanhos, tabulaç&io 1ie0er s 3o& 3a&7os 3ha"e 4) Celecionar as tabela a serem utilizadas na ie/er 8) 0uest&o chaes estrangeiras cancel Z) Method2Nibrar" include i2auxtabi H) -esabilitar todos os campos da tela (pré2processadores conforme acima)" 7) N:$3N2'#3NE!" inicializações N:$3N2-C*N3Y2J!N-C" exibir alores N:$3N2!'3BN!2J!N-C" customizações N:$3N23CCX'2%!$:%-" salar campos
\) 3lterar alturas e tabulaç&o
1ALIDA./ES
$onferir entradas de dado fornecidas pelo usu+rio" eitar informações errneas
1alida#*es na -a"ea#$o de eistro Dabilitar ou desabilitar botões $uidado" cada ez que o usu+rio naegar
*erformance
1alida#*es Antes da Altera#$o *ermitir ou n&o alteraç&o do registro Melhora performance Nocal2!nable2Jields" condiç&o O!ser"a#$o: #écnica eitada" usu+rio tenta alterar e a mensagem ir+ interrompe2lo 1alida#*es e& Entrada de Dados Cempre no momento de sua confirmaç&o 3presentar uma mensagem (ut2msgsp) posicionar o foco 1alida#*es e& Cadastro Si&7les 3ntes do dispatch da procedure Nocal2assign2record da Kie/er 1alida#*es e& Cadastro Co&7lexo *rocedures pi2alidate das Kie/ers 1alida#*es 7ara indo0 elatrio 1alida#*es das 7áinas de Par&etros6 Sele#$o e Classifi3a#$o: pi2executar, apLs o coment+rio %ro0se de Diita#$o: eento %o/2Neae do bro/se 1alida#$o da Páina de I&7ress$o: #emplate se encarrega de confirmar os alores para essa p+gina
1alida#*es e& Triers de Di3ionário de Dados *ode acarretar mau funcionamento nos templates" replicadas nos programas APIWS %ecebe parFmetros para realizar alguma tarefa (atualizaç&o, retornar informações) Kisa facilitar a customizaç&o e a integraç&o dos mLdulos Cempre executada atraés de outro programa !itar duplicidade de cLdigo Mantendo atualizadas :utros mLdulos" independncia dos aplicatios $ustomizações $liente e outros mLdulos n&o precisam conhecer detalhes do mLdulo +un3iona&ento %eceber parFmetros e executar uma aç&os '&o dee ter tratamento com tela '*=#2:=#*=# *3%3M!#!% #!M*2#3BN!" nica forma de comunicaç&o de dados com a 3* *ode usar mais de uma tabelas tempor+ria ': utilizar ari+eis globais %etorno da 3* %!#=%'2K3N=!" :; ou ':;6 '*=#2:=#*=# *3%3M!#!% #!M*2#3BN!" pode retornar mensagem de erro ou temp2table de retorno 'omenclatura" PP3*>>>* -efiniç&o temp2tables" include nome igual ao p $ontrole pQ ers&o de integraç&o 3od'"ersao'intera3ao: fixa, programador controla 2 *rograma chamador passa ers&o como param entrada, 3* faz consistncia (diferente da ers&o do programa) %etorno de erros" 2 retornar na prLpria tt de entrada 2 tt de erros com cLd do erro e descriç&o 2 msg cadastrada no cad mensagens
-ocumentaç&o" 2 modulo respons+el" nome f1sico, ers&o, objetio, parFmetros de entrada e sa1da, include com definiç&o da tt, alidações e a ações 2 manual do modulo dee conter relaç&o de todas apis
TKC-ICAS Alterar o 3ara3ter de senha Jill2in do tipo blanV ou informaç&o n&o pode ser isualizada 4) nserir a include ^includeQi2/ini_ 8) %odar o procedimento CendMessage3 *arFmetros" atributo h.nd do fill2in, alor ^!M]Cet*ass/ord$har_, caracter (), 5 (zero) XXXXXX PAA TODAS AS TEC-ICAS A%AI@O XXXXXX 4) nserir a include ^includeQi2/ini_ 8) -efinir h2prog as handle e rodar o programa ut2utilsp persistente H) !liminar o programa ut2utilsp (delete procedure) O!s: Executar o ltimo procedimento sistema pode ficar sem recursos e traar Alterar o diretrio 3orrente Mudar o diretLrio em tempo de execuç&o Z) %odar o procedimento Cet$urrent-ir passando onoo caminho do diretLrio corrente Alterar ou 3riar u&a "ariá"el de a&!iente Ceta uma ari+el de ambiente do .'-:.C e n&o -:C Z) %odar procedimento Cet!n *arFmetros" ari+el que ser+ criada, alor da ari+el Dar fo3o a ualuer o!Yeto Z) %odar procedimento 3pplJocus *arFmetro" h.nd do objeto Deixar u&a Yanela se&7re "is4"el Z) %odar procedimento Cet#opMost *arFmetros" atributo h.nd da /indo/, alor es se dee ficar sempre is1el Exe3utar u& a7li3ati"o do indo0s Z) %odar o procedimento !xecute *arFmetros" caminho do programa, parFmetros pQ o programa Z4 %etorno A:VA operaç&o feita com sucesso then message A3 operaç&o foi feita com sucessoA O!ter as 3oordenadas do &ouse Kerificar se o mouse est+ dentro de determinada regi&o da janela no momento do clique #rigger de Celect2Mouse2$licV Z) %odar o procedimento XetMouse*os *arFmetros" handle da /indo/, ari+el integer (retorna coordenada P), ari+el integer (retorna coordenada Y) O!ter o diretrio 3orrente Z)%odar o procedimento Xet$urrent-ir *arFmetro" ari+el char (retorna diretLrio) O!ter o diretrio de siste&a do indo0s Z)%odar o procedimento XetCs-ir *arFmetro" ari+el char (retorna diretLrio do sistema) Oter o diretrio do indo0s Z) %odar o procedimento Xet.in-ir *arFmetro" ari+el char (retorna diretLrio) O!ter o no&e do 3o&7utador Z) %odar o procedimento Xet$omputer'ame *arFmetro" ari+el char (retorna nome) O!ter o "alor de u&a "ariá"el de a&!iente Z) %odar o procedimento Xet!n *arFmetros" ari+el de ambiente que deseja2se saber o alor, " ari+el char (retorna alor ari+el) Transfor&ar u&a Yanela e& !arra de ferra&entas
mplementar uma janela que esteja sempre is1el e que contenha funções de ferramentas (funções que n&o estejam ligadas a nenhum objeto ou programa) Kerificar se é poss1el deixar a barra de ferramentas sempre is1el Z) %odar o procedimento 3dd*aletteCtle *arFmetros" atributo h.nd da janela
JM Desa!ilitar adio'%uttons Cintaxe normal" -C3BN!(label2do2%B) *orem o label muda para cada idioma, ent&o" J nome2rs"-C3BN!(!'#%Y(P,(nome2rs"%3-:2B=##:'C ' J%3M! ^J%3M!2'3M!_))) #D!' :nde" P 8 (entrada desejada)24 (AstringA, 4, AstringA, 8) Corre#$o Ortoráfi3a e& Editores Bot&o ao lado direito superior (sem label6 H,55 x 4,876 Delp"A$orretor ortogr+ficoA) def ar log" l2control2spell Nocal2displa2fields (CmartKie/er) ou local2initialize da (Cmart.indo/)" apLs -ispatch" 2 i2inispli parFmetro" nome do bot&o MAIN-BL/C01 i2spelli *arFmetro" nome !ditor, nome do bot&o Exe3utar 7rora&as ue s$o Yanelas !xecutar um programa (/) a partir de um outro programa que j+ é uma janela def ar h2programa as handle no2undo *rograma executado de forma persistente f alid2handle(h2programa) then run dispatch in h2programa (9initialize9) *odem2se executar outros procedimentos (antes ou depois de sua inicializaç&o) a!ilitar ou desa!ilitar !ot*es e& 7ainis $riadas procedures para habilitarQdesabilitar 'ecess+rio linV C#3#! entre painel e .indo/ Nocal2initialize" depois do run2dispatch" %=' enable2Gfunç&oI in Ghandle do painelI (nput GlogicalI) Gfunç&oI" inclui, elimina, modifica, cLpia, zoom, etc Glo2i.al I" AesA habilita e AnoA desabilita Ca&7os indi3adores 3o& "ie0'as 3o&!o'!ox nas telas *ropriedades aançadas do combo2box marcar os 9$ustom lists9, %etirar a propriedade !nable Nocal2initialize" antes dispatch" assign Gcombo2boxI"list2items in frame ^frame2name_ ^PP'$Q>>PP>>> 5Z_ depois dispatch" assign Gariael2combo2boxI"screen2alue in frame ^frame2name_ ^PP'$Q>>PP>>> 5H GtabelaIGcampoI_ ra"a#$o do 3onteZdo do 3o&!o'!ox $adastro simples 2 apLs dispatch da local2assign2record 2 assign GtabelaIGcampoI ^PP'$Q>>PP>>> 5\ Gari+el2combo2boxI_ $adastro $omplexo 2 apLs o dispatch da local2assign2statement 2 assign input frame ^frame2name_ Gari+el2combo2boxI GtabelaIGcampoI ^PP'$Q>>PP>>> 5\ Gari+el2combo2boxI_ O!s: se n&o fizer parte da chae prim+ria" local2assign2record $hae" local2create2record Ca&7os indi3adores 3o& "ie0'as radio'set nas telas -efinir as ari+eis c2lista e i2cont Nocal2initialize 2 antes dispatch" lLgica que prepara o Alist2itemsA do i2cont 4 to num2entries(^PP'$Q>>PP>>> 5Z_)" assign c2lista c2lista entr(i,^PP'$Q>>PP>>> 5Z_) A,A string(i2cont) A,A end assign c2lista substring(c2lista,4,lenght(c2lista) 2 4) assign Gariael2radio2setI"radio2buttons in frame ^frame2name_ c2lista
$onsulta" mostrar apenas a descriç&o ar"screen2alue in frame ^PP'$Q>>PP>>> 5H Gtabela2campoI_
Ca&7os indi3adores nu& S&art%ro0ser $ampo calculado entr(alor,AlistaA) c2tipo assign c2lista2tipo ^adindQi58ad5H>i 5Z_ :nde" ^Z_ lista itens separados por tipo !ntr(contatipo, c2lista2tipo) c2tipo Mensaens 7ara o usuário $hamar o programa utpQut2cdmsgp e criar a mensagem (para espec1ficos) Mostrar a mensagem" run utpQut2msgsp (input Asho/A) := utpQut2msgsp (input AmsgA, ou help) e dar o displa input 48ZH, input AA)
Toolti7 e& u& deter&inado !ot$o Bot&o dee possuir help" include padr&o alterada para copiar o help A3o&7anha&ento (8T'ACOMP) run utpQut2acompp persistent set h2prog run pi2inicializar in h2prog(input Amportando arquiosA) run pi2acompanhar in h2prog(input string(itemit2codigo)) run pi2finalizar in h2prog Ca&7os de refern3ia 7ara 3a&7os 3ha"e estraneira :bs" campo de referencia é a descriç&o !x" nome do emitente no cadastro de nota fiscal $riar fill2in ao lado do campo com zoom local2displa2fields, antes do dispatch" alor inicial para o campo (find na tabela) Xatilho de leae do campo com zoom" ^includeQleaei tabelastate atributo2refstate2name ariael2refc2state2name /hereAstatestate input frame ^frame2name_ customerstateA_ GtabelaI" tabela que possui a chae estrangeira6 Gatrib,to-re' I" campo de referncia da tabela da chae estrangeira6 G$aria$el-re' I" ari+el criada para receber o campo de referncia6 G"!ereI" cl+usula /here para localizar o registro na tabela de referncia6 Boo& 3 partir de" $ampo chae estrangeira6 Kari+el6 $ampo chae estrangeira cujo nome n&o coincide com o nome do campo no bro/se de pesquisa Cintaxe" ^includeQzoomari prog2zoomdiretLrioQprograma campoariaelQtabelaatributo campozoomnome2atributo Tframenome2frameU Tbro/senome2bro/seU TparametrosArun pi2procedure in /h2pesquisaAU_ :nde" G pro2-zoo(I" programa de zoom G.a(poI" campoQari+el na ie/er Jormato tabelacampo G.a(pozoo(I"campo do zoom de onde o alor é buscado Cem informar tabela G'ra(eI" quando o frame é diferente de ^frame2name_ Gbro"seI" zoom é acionado a partir de uma coluna de um bro/se G par3(etrosI" procedure do zoom, que recebe os parFmetros Cha&ada de =oo& 3o& 7assae& de 7ar&etros"
'o programa de zoom" procedure que recebe e trata (parFmetro input) $hama pi2seta2inicial nos bro/ser, repassando o param 'os bro/sers, cria a pi2seta2inicial e usa a ariael para abertura da quer
Eoom chamado !xecuta o contedo parFmetros chama pi2seta2inicial (passando um alor de sistema *rocedure !nia para o bro/se recebe o alor e atribui k ari+el de filtro utilizada para abrir a quer 3lterar o ponteiro do mouse para todos os campos
thinBoo& ^methodQEoomJieldsi *rogramEoomAnome do programaA JieldEoom'Anome do campo que retornaA JieldCcreen'Anome do campo ou ari+elA Jrame'AframeA %unMethodArun procedure in h*rogramEoomA !nablemplantAesQnoA_ :nde" G4ielZoo(N I" nome do campo que dee ser G4ielS.ree#N I" nome do campo (ari+el) que dee receber o alor GE#ableI(pla#t I" bot&o mplantar ser+ habilitado ou n&o6 I&7le&entar %ot$o de +iltro e& Boo& Ce precisar reabrir as quers do bro/se choose do bot&o" %=' notif ' this2procedure e7osi3iona&ento Auto&áti3o do %ro0ser de Boo& Comente nas ari+eis inicial com tipo de dado caracter ou inteiro $riar gatilho de eento 3'Y2;!Y na ari+el inicial, com a include i'anyey9 Preprocessador ["ariá"el nome da ari+el inicial de faixa" Xatilho p ara o eento #3B" i'ta!9i9 Preprocessador ["aria"el Xatilho para o eento B3$;2#3B" i'ta!9i ["aria"el
$omo utilizar AfunctionsA no =B -esde o in1cio da utilizaç&o da ers&o
View more...
Comments