Usina BRAdvPL Guia
Entrar
← Todos os tópicos
FUNçãOEm revisão

BuildExpr

BuildExpr( <cAlias>, [oWnd], <cFilter>, [lTopFilter], [bOk], [oDlg], [aUsado], [cDesc], [nRow], [nCol], [aCampo], [lVisibleTopFilter], [lExpBtn], [cTopFilter] ) --> cRet

Abre um construtor visual de expressão de filtro pelo dicionário.

BuildExprAdvPL
01 · VISÃO GERAL

Visão geral

BuildExpr usa SX2/SX3 para oferecer campos e construir uma expressão de filtro. A ficha histórica apresenta 14 posições; cAlias e cFilter são necessários no contrato descrito, por isso o exemplo passa uma string vazia explicitamente na terceira posição, mantendo Nil para o objeto de janela. O texto retornado não equivale a uma consulta executada. Restrições de campos podem ser configuradas por aUsado/aCampo; não converter livremente texto recebido em código nem supor que o construtor autorize acesso aos dados. Exige sessão interativa e alias registrado e aberto. (TOTVS, s.d., ref. 1)

02 · SINTAXE

Sintaxe

BuildExpr( <cAlias>, [oWnd], <cFilter>, [lTopFilter], [bOk], [oDlg], [aUsado], [cDesc], [nRow], [nCol], [aCampo], [lVisibleTopFilter], [lExpBtn], [cTopFilter] ) --> cRet

Parâmetros

cAlias
CaractereObrigatório

Alias SX2/SX3.

oWnd
ObjetoOpcional

Janela de referência.

cFilter
CaractereObrigatório

Expressão inicial, podendo ser vazia.

lTopFilter
LógicoOpcional

Permite expressão TOP; padrão falso.

bOk
Bloco de códigoOpcional

Validação, condicionada ao uso de oDlg.

oDlg
ObjetoOpcional

Diálogo relacionado ao processamento.

aUsado
ArrayOpcional

Campos usados/restritos conforme contrato da ficha.

cDesc
CaractereOpcional

Descrição da expressão.

nRow
NuméricoOpcional

Linha de posicionamento.

nCol
NuméricoOpcional

Coluna de posicionamento.

aCampo
ArrayOpcional

Configuração de campos.

lVisibleTopFilter
LógicoOpcional

Visibilidade de filtro TOP.

lExpBtn
LógicoOpcional

Controle do botão de expressão.

cTopFilter
CaractereOpcional

Expressão TOP inicial.

Retorno

Caractere com expressão de filtro; o exemplo somente consulta seu tamanho se o tipo for C.

03 · EXEMPLO PRÁTICO

Exemplo comentado

#Include "Protheus.ch"

User Function EdBuildex()
    Local cFiltro := ""
    // SA1 deve estar aberta em sessao interativa de homologacao.
    If Select("SA1") > 0
        cFiltro := BuildExpr("SA1", Nil, cFiltro, .F.)
        If ValType(cFiltro) == "C"
            ConOut(cValToChar(Len(cFiltro)))
        EndIf
    EndIf
Return Nil
Resultado esperado

Comprimento depende da interação; não aplica filtro, executa consulta ou grava registros. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

BOAS PRÁTICAS
  • Conferir os 14 argumentos na referência da versão instalada. Preservar contexto do chamador e validar campos e expressão antes de qualquer aplicação posterior.
  • Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. BuildExpr. TDN. Consulta em 2026-10-26.
Situação
Em revisão
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR
0 comentário(s) aprovado(s)

Comentários

Ainda não há comentários aprovados.

Entre com Google ou Microsoft para comentar.

Powered by Usina Docs · Alpha