Você está na página 1de 6

12/3/2014

BlackTDN: Protheus :: Advpl :: Dicas do Robson :: Usando UniqueKey() para filtrar registros

BlackTDN
Reverberando: programao avanada em ADVPL; dicas; truques; tutoriais; downloads; pensamentos; psicografias e viagens astrais alm de uma "boa msica" para relaxar. Incio Tools CheckOut (GitHub) GitHub Externos Harbour SoundTrack Os Mulheres Negras Back To Black O GRITO Doaes XPERIA ROMs

Visitantes

BlackTDN Search

468,392
Seguidores
Participar deste site
Google Friend Connect

tera-feira, 11 de outubro de 2011

Membros (291) Mais

Protheus :: Advpl :: Dicas do Robson :: Usando UniqueKey() para filtrar registros


Funo: UniqueKey( <uFields> , <cAlias>, <lResetKeys>, <nMaxRec> ) Objetivo: Verificar se a chave passada nica de acordo com o campo ou campos passados nos parmetros. Esta funo ajuda a apresentar um nico registro quando houver vrios semelhantes, por exemplo: Fazer consulta SXB na tabela SC7, porm apresentando um registro por pedido de compra independente de quantos itens existam. Parmetros:

J um membro? Fazer login

uFields String contendo o campo ou Array unidimensional com as strings dos campos que que sero considerados para pesquisa da chave nica. cAlias Alias do arquivo para pesquisa. lResetKeys Reinicializa as chaves. nMaxRec Nmero mximo de elementos.

Essa mesma dica poder, por extenso, servir ao fitro do MPSDU/APSDU como abaixo: !Deleted().and.C7_EMISSAO>=FirstDate(Date()).and.C7_EMISSAO<=LastDate(Date()).and. UniqueKey({"C7_FILIAL","C7_NUM"}) Ir retornar todos os primeiros n registros da tabela SC7, no deletados, com a data de emisso dentro do ms corrente. Dada a caracterstica da Funo UniqueKey() o intervalo de dados no poder ser muito grande por dois motivos

Reverbere BlackTDN

Performance; Tamanho mximo da Pilha de armazenamento; Logo, para tabela com muitos registros, uma condio complementar dever ser utilizada como filtro primrio e excludente.

< d i va l i g n = " c e n t e r " i d = " B l a c k T D N " > < a h r e f = h t t p : / / w w w . b l a c k t d n . c o m . b r t a r g e t = " _ b l a n k " > < i m gb o r d e r = " 0 " BlackTDN :: Donations t i t l e = " B l a c k T D N " a l t = " B l a c k T D N " s r c = " h t t p : / / g o o . g l / K t C J N " / > < / a > < / d i v >

Exemplo:

Comentrios Recentes Casadei Claudio commented on Blacktdn Consumindo Webservice Do: ola. naldo. vc tem condicoes de exemplos como consumir o webservice da vtex.com.br em php? TopTVZ commented on Protheus Advl Tsocketclient: estou atras de documentacao para comunicacao com henry para importar direto para o protheus. alguem TopTVZ commented on Protheus Advl Tsocketclient:

http://www.blacktdn.com.br/2011/10/protheus-advpl-dicas-do-robson-usando.html

1/6

12/3/2014
consegui! no final da string tinha que colocar +chr(0) Gleydson Hudson commented on E Ai Galera Beleza Entao: Gostaria de saber como fao para utilizar as funes AxAltera, AxDeleta na funo mBrowse. Quando Anonymous commented on Para Quem Precisar Desenvolver Uma: Salvou minha vida.... ameiiiObrigadaLuciana
Recent Comments Widget

BlackTDN: Protheus :: Advpl :: Dicas do Robson :: Usando UniqueKey() para filtrar registros

Postagens Populares Protheus :: Desvendando o sigapss.spf Atendendo a uma reivindicao antiga, comearei a postar neste blog algumas dicas respeito dos segredos do Protheus. E o primeiro artigo n... Protheus :: Recuperando o Usurio Administrador no Protheus 10 So muitos os motivos que levam a "perda" da senha do Administrador do Protheus. Esquecimento, sada do Administrador da empresa, ... Protheus :: Advpl :: Dica :: Robson Luiz :: Texto ntegro das opes do controle de acessos de usurios Hoje precisei listar todas as opes do controle de acessos do usurios, esta lista fica na configurao por usurio no configurador, por... Protheus :: Exemplo de WebService para Consulta ao CEP A dica de hoje um exemplo de WebService em advpl para a consulta ao CEP (Cdigo de Endereamento Postal) baseado no site Republica V... Protheus :: "Integrando o Totvs Development Studio (IDE) ao TortoiseSVN" Hoje postarei uma dica de como integrar o Totvs Development Studio (IDE) ao SVN (Subversion) utilizando o "client" TortoiseSVN p... BlackTDN :: Customizando a interface de Login no Protheus e by You A publicao BlackTDN :: By You e sua nova tela de login de nosso amigo OBona deu o que falar e, em funo disso, esse que a muito no... BlackTDN :: By You e sua nova tela de login Atualmente a TOTVS liberou uma atualizao para seu produto, enfatizando sua rede social by you. A semelhana entre o portal by you e a tel... Protheus :: MSSQL :: Retornando o contedo de campo Memo em uma

Filtrando com: !Deleted().and.C7_EMISSAO>=FirstDate(Date()).and.C7_EMISSAO<=LastDate(Date()).and. UniqueKey({"C7_FILIAL","C7_NUM"}) teremos:

http://www.blacktdn.com.br/2011/10/protheus-advpl-dicas-do-robson-usando.html

2/6

12/3/2014
Consulta s vezes precisamos consultar o contedo armazenado em um campo memo e, um simples SELECT no ir nos ajudar pois o contedo retornado ser ... Protheus :: Advpl :: Dicas do Robson :: Como criar uma consulta especfica utilizando os recursos do dicionrio SXB Robson Luiz nos passou mais uma dica: Como criar uma consulta especfica utilizando os recursos do dicionrio SXB Consulta padro. O exem... Protheus :: Opes de Filtro na mBrowse Algumas maneiras de Filtrar os registros a serem apresentados na mBrowse Opo 1: Usando a Funo FilBrowse() para filtrar os registros an...

BlackTDN: Protheus :: Advpl :: Dicas do Robson :: Usando UniqueKey() para filtrar registros

Uma outra dica, para melhorar a performance do filtro usando UniqueKey() selecionar uma Chave de ndice que corresponda ao filtro de C7_FILIAL+C7_NUM

Marcadores
__ClsArr() (1) __FunArr() (1)

E, como bem dito pelo Robson, alm de podermos utilizar UniqueKey() para Filtrar informaes via MPSDU/APSDU podemos utiliz-la para filtra Observe: Sem o Filtro

_SetNamedPrvt (2) _SetOw nerPrvt (1) A unio faz a fora (2) ABSTRAO (2) Acesso (2)
AddStackParameters (1)

advpl

(228)

aEval (2) agcap (1) Agent

(2) alarmClock (1) alexandre gonalves


(1) Allow FailParam (1) Anlise Forense (1) apconnxcontrol.ocx (4) APD (1)

appserver

(15) APSDU (3) Arquivo INI (2) ArrayCompare (1) aScan (1) AuditTrail (1) Autenticao HTTP (2) Avaliao e Pesquisa de Desempenho (1) BaseDic (1) Batch (2) Begin Sequence (3) Bjarne
Stroustrup (1)

BlackTDN

(174)

BlackTDN Shell (1) BlackTDS

(1) Boas Prticas (1) Break (2) BTDNdoc2pdf (1) bug (2) by you

Studio (2) by ld dj (20) byYou (11) CAST (1) catch (2) CEP (2) cGetFile (1) ChkFile (2) Cincias (4) Class (9) Class FWDBAccess (1) Class TMathFloatStr (4) Class TMathIntegerStr (6) Class TRandom
(1) class TSQLite (1) Classe Advpl (20) Classe fT (1) Classe fTdb (2) Classe TDialog (1) ClassMethArr (2) clipper (2) clonar (1) cmd (1) code google (1) comandos (1) ComboBox (1) CompaDic (1) Compatibilizao de Cdigo (5) Compilador (1) Compilar Script Pow erShell (1) confluence (1) CONJUNTO (1) Connection String (1) ConOut (1) Contabiliao Folha RM (1) controle de atualizaes do protheus (1) CONVERT (1) Coordinator (2) Criao de Empresa (1) CTB (1) CTBCTASup (1) CTBDigCont (1) Culinria (1) curiosidades (5) Customizao de Softw are (1) cVersao (1) Clculo de Horas (1) D_E_L_E_T_ (1) DANFE (1)

Daniel Kahneman (2) dbAccess

(10)
(1)

dbChangeAlias (1) dbCloseArea dbGoTop (1) dbSelectArea (1)

dbTree (3) dbUseArea Decode64 (2) decremento


Descanso Semanal Remunerado

(2)
(1) (1)

Devaneio (3) Dica de Leitura (3) Dicas (101) Diretivas (4)


Diretrio Virtual (1) disco rgido (1) doc2pdf (1) DSR (1) ECHO (1) Economia (1) ElapTime (1) Embedded SQL (3) EmpOpenFile (1) Encode64 (2) End Sequence (2) Entrada de Dados ao Estilo Calculadora (1) ERR0032 (1) ErrorBlock (4) Erros (1) ESC (1) Escopo de Variveis (1) Excel (14)

http://www.blacktdn.com.br/2011/10/protheus-advpl-dicas-do-robson-usando.html

3/6

12/3/2014
Excel Consultas Parametrizadas (2) Excel QueryTables (1) exception (5) Executando Aplicao no Server (2) Exemplo Modelo 3 (2)

BlackTDN: Protheus :: Advpl :: Dicas do Robson :: Usando UniqueKey() para filtrar registros

exemplo webservice advpl (13)


ExistBlock (1) exploit (1) ExporDic (1) Expresses Regulares (2) F530QRY (1) FA050UPD (1) FA50ALT (1) falha (1) FileIO (1) Filtro (2) Filtro na mBrow se (1) Filtro Otimizado (2) FINA050 (1) Final (1) FINR530 (1) FINR550 (1) Folha de Pagamento (1) Formulas (1) FOXPRO (1) FoxPro VFP Driver (2) FSBitMap (1) FSEnvMail (1) FSFontes (1) FT_F* (2) FT_FReadLn (1) fTdb (1) FTP (1) FULL OUTER JOIN (1) function (3) Funo Posicione (2) FWBrow se (1) FWMBrow se (1) FWMsExcel (1) Game15 (3) games (8) Gerenciador de Impresso Protheus (1) GetAccesList (1) GetAdv97 (1) GetApoInfo (1) GetCellRect (1) GetClientIP (1) GetDados (1) GetData (1) GetFuncArray (1) GetGlbValue (1) GetLastQuery (1) GetMv (1) GetRes (1) GetResArray (2) GetServerIP (1) GetSrvIniName (1) GetSrvProfString (1) GetStackParameters (1) GetTempPath (1) GetWndDefault (1) GetWndDefaut (1) GhostScript (2) GIF Animada (2) GlbLock (1) GlbUnLock (1) Google Maps (1) Google Translate (1) GPE (1) GPER040 (1)

GPEWORD (2) GPEWriter (3) grid (4) GridClient (2) GridServer (2)
Guess (1) Guia de Segurana (1) H_GIF89 (1) Harbour (26) Harbour

Aplicando o Filtro: C7_EMISSAO>=FirstYDate(Date()).and.C7_EMISSAO<=LastYDate(Date()).and. UniqueKey({"C7_FILIAL","C7_NUM"})

MiniGui (5) Harbour Project (11) Harbour Tutorial (7) Hash (2) hd (1)
Help (1) HelpInDark (1) Herana (1) HMG (1) Horas (1) HTML (1) HttpGet (3) HttpPost (1) IDE (2) ImageMagick (2) improper function use (2) incremento (1) INI (2) INIGetPValue (1) IniToXML (1) IPCGo (1) IPCWaitEx (1) ISNULL (1) Jogo do 15 (3) KEEP MOVING FOWARD (1) Keep-Alive (1) KeepAlive (1) Legenda (1) leitura (6) Lenda Urbana (1) lEscClose (1) License Server (1) Licenas (1) Limites (1) linux (1) ListBox (2) Load Balance (2) LoadGIF (1) Logic Basic (1) Macro do Compilador (1) MakeDir (1) Manipulao de Arquivos (1) Manuteno de Helps (1) Marca Dagua (1) MarkBrow (se) (1) MATA010 (1) MATA110 (1) MATA120 (1) Mata410 (1)

Matemtica

(5)

mBrowse

(6)

mBrow seLFilter (1) MD5 (2) Melhores Prticas de Codificao Segura (1) memoField (1) Memory Allocation

(11)

(13) Message Algorithm 5 (3) Metodo Gelosia (1) Microsoft Excel (2)
Digest
Microsoft Junction (1) Microsoft MKLink (1) Microsoft Query (1) MinGW-w 64 (1)

memtst

Minhas Idias em BlackTDN (3) Minutos (1) Miscelnea (1) Modelo3 (2) Monitoramento (1) MP710TO110 (4) MPSDU (2) MsExcel (1) MSQRY32.EXE (1) MsSpool (1) MSSQL (3) MsUnLock (1) MT110LEG (1)
MT120BRW (1) MT120COR (1) MT120LEG (1) MTA110MNU (1) Multi Thread (3) Multiplicacao (1) multithread (2) MultStr (1) MVC (2) mquina virtual (1) Mdulos Especficos (2) Mbius (1) Msica

MPB (2)

Naldo Dj (197)

NDJLIB004 (1) NDJLIB006 (2) New tonRaphson (1) NFe (4) Nota Fiscal de

Sada (3) Nota Fiscal Eletnica (2) NToL (1) Nmero Perfeito (4) Nmero Primo (1) Nmeros Interios (1) Nmeros Perfeitos (2) O Grito (1) ODBC (2) ODBC (Generic) (1) OpenOffice Writer (3) OpenSxs (1) otimizao cdigo advpl (3) Otimizao de Consulta SQL (1) OurSpool (1) OWASP (1) oWnd (2) ParamBox (2) ParamType (2) Parbola da Vaca (2) Parmetros Linha de Comando (1) PDF (3) PDFCreator (2) PDFLab (1) pdftk.exe
(1) PDFToolKit (1)

Pensamentos
Conexo (1)

(71)

Perda

de

performance (2) PHP SoapClient (2) PHP SoapFault (1) Picture (2) pilha de chamadas (2) PNMTABC01 (1) Po

http://www.blacktdn.com.br/2011/10/protheus-advpl-dicas-do-robson-usando.html

4/6

12/3/2014
(1) Ponto de Entrada Genrico (1) Ponto de Restaurao (2) Ponto Flutuante (1) Pontos de Entrada Mdulos (1) Portaria MTE/1.510 (1) Posicione (1) PostGreSQL (1) pow e (1)

BlackTDN: Protheus :: Advpl :: Dicas do Robson :: Usando UniqueKey() para filtrar registros

PowerShell
procedure (1) Proeficincia (1)

(40)

ppo

(1)

processamento (3) Processamento em Grid (3)


Projetos (1)

protheus (181)

Protheus WebService (2) PROTHEUS_REPOSIT (2) Provrbio Chins (2) PrProcessador (10) PS2EXE (2)
Psicologia (1) Psw GetMemo (1) PutGlbValue (1) PutMV (1) Prolas (1) quaizer (1) Quiz (1) R3 (2) RA_BITMAP (1) Radix Quadratum (2) Raiz Quadrada (2) random (2) Rango (1) Rational Culture (1) ReadStackParameters (1) Receitas (1) RecLock (1) Recover (1) RegEx (1) RegExp (2) Registro Eletnico de Ponto (1) ReguaTXT (1) remotamente (1) remoto (1) REP (1) RepositInDataBase (2) Repositrio de Imagens (1) Repouso Semanal Remunerado (1) Request Tracker (1)

Resource (2) Resource2File (2)


restart (1) RetIndex (1) Retratao (1) Rick Spence (1) RLeg (5) RM (1)

Robson Luiz (4) Rodrigo "OverFail" (5) ROW_NUMBER() OVER (1) RpcClearEnv (1) RpcSetEnv (1) rpo (4)
RSR (1) runDll32 (1) Salrio Hora (1) Salrio Minuto (1) SapuReca (2) Sade e bem-estar (1) scripts (4) SDU (3) SEFAZ (1) Segundos (1) segurana forense computacional (1) SELECT 1 (1) SELECT CASE (1) SendData (1) Senha Administrador (1) Senha Administrador Protheus (1) Sergio E. S. Souza (1) Service Management Engine (1) services (1) Servio FTP (1) SetCss (1) SetOnEXIT (1) SetVarNameLen (1) SGBD (1) SIGA EM FRENTE (1) SIGAADV (1) sigaadv.pss (1) sigaapd (1) SIGACTB (1)

Obteremos apenas os n Primeiros registros que atendam a condio. p/ Robson Luiz (feat ld dj) []s Postado por ld dj s 23:43:00 Marcadores: advpl, Dicas, Filtro Otimizado, protheus, Robson Luiz, totvs, UniqueKey
Recomende isto no Google

SIGAESP (2) SIGAESP1 (2) SIGAESP2 (2) SIGAMDI (3) SIGAPON (2) sigapss.spf (5) sincronismo (2) Softw are (1) SomaStr (1) SoundTrack (41) spfc (2) SQL Provider (1) SQLite (2) SQLite ODBC Driver (1) SQRT (2) SREP (1) StartJob (5) static function (2) StaticCall (2) stop (1) Stress Test (1) String size overflow (1) stringtst (2) subversion (1) sudoku (2) Sugesto (2) SuperEgo (1) svn (1) SXB (2) sxp (1) SysErrorBlock (2) SysInternals (1)
TableData (1) TableStruct (1) TableView (1) TBigNumber (6) TBitMap (1) TCAlter (1) TCCommit (1) TCF_NoDBConnection (1) TCGenQry (1) TCSqlError (1) TCustomReport (1) TDialog (1) tdn (6) TELNET (1) Template (1) teste de memria (1) TFINI (2) TFTPClient (4) TGET (1) THASH (2) Thomas Jefferson (1) Tim Maia (1) Time (1) Tips and Tricks (10) TListBox (1) Tools (4) topconnect (5)

Reaes:

Originalidade (0)

Exclusividade (0)

Referncia (0)

Clareza (0)

Abstrao (0)

Um comentrio:
Annimo 12 de outubro de 2011 21:51 Minha sala de aula! Responder

Digite seu comentrio...

Comentar como:

Conta do Google

totvs

(68)

Totvs Developer Network (5) Totvs Development Studio (7) totvs-advpl-naldodj (2)

Publicar

Visualizar

totvs/microsiga (137) totvsappserver


(1) Tracker (1) Transact-SQL

(20)

totvsdbaccess (6) TOTVSMNTLIC (1) TPaintPanel (3) TPDF (1) Trac Project
(1)

tratamento de erro em advl (2) TReport (2) try (3) tSocketClient (4) TSQLite (1) TTimer (1) TTree (1) Tutorial (4)

Links para esta postagem


Criar um link

Tutorial Advpl
(1)

(170) Tutorial Excel (2) Tutorial


PowerShell (6) Tutorial SDU Tutorial SQL (4) TVarInfo TWBrowse (2) U_EvalPrg U_NDJUPDDIC (2) U_PDFToJPG (5)

Postagem mais recente

Incio
Assinar: Postar comentrios (Atom)

(1) (1) u_TcLinkData (1) ubtdnTView (1) UDC (1) UniqueKey (1) usabilidade (1) Using Outer Joins (1) Utilidade Publica (2) vagas (2) Validao (6) ValidPerg (1) VARBINARY (1) VARCHAR (1) VarInfo

Colaboradores
Regazzo

http://www.blacktdn.com.br/2011/10/protheus-advpl-dicas-do-robson-usando.html

5/6

12/3/2014
(2)
vdi (1) Versos (2) Vetor Associativo (1) VFP (2) Virtual Link (2) virtualbox (1) Vitor (1) VK_ESCAPE (1) VT100 (1) Vdeos Dance (1) Vdeos

BlackTDN: Protheus :: Advpl :: Dicas do Robson :: Usando UniqueKey() para filtrar registros
Rleg Rodrigo "OverFail" Marcus Sullivan Alexandre Gonalves Luiz Fernando Altran Nando ld dj

MPB

(10)

WaitRun

(9)

WaitRunSrv (7) Walt Disney (2)

WebService (15)

WGetTickCount (1) Window s Internals (1) WinExec (2) w ireshark (1) world community grid (2) WSMAT410 (1) XML (7) XSD (2) Zilhardrio (1)

ld

dj

(223) ld dj history (3)


Arquivo do blog
Arquivo do blog

OBona Murilo J. de Oliveira Sergio Fernandez

diHITT

Vitor Emanuel Batista ld dj Beraldo

Inscrever-se
Postagens Comentrios

Technology Solving Problems


ClimatePrediction Einstein@Home Folding@Home GIMPS SETI@Home World Community Grid

BlackTDN. Modelo Awesome Inc.. Tecnologia do Blogger.

http://www.blacktdn.com.br/2011/10/protheus-advpl-dicas-do-robson-usando.html

6/6