Usina BRGuía AdvPL
Ingresar
← Todos los temas
FUNCIóNEn revisión

BuildExpr

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

Abre constructor visual de expresión de filtro por diccionario.

BuildExprAdvPL
01 · DESCRIPCIÓN GENERAL

Descripción general

BuildExpr usa SX2/SX3 para ofrecer campos y construir expresión de filtro. Ficha histórica lista 14 posiciones; cAlias y cFilter son necesarios en contrato descrito: ejemplo pasa string vacía en tercera posición y Nil para ventana. Texto devuelto no es consulta ejecutada. aUsado/aCampo restringen campos; no convertir libremente texto en código ni suponer autorización de acceso. Requiere sesión interactiva y alias registrado y abierto. (TOTVS, s.f., ref. 1)

02 · SINTAXIS

Sintaxis

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

Parámetros

cAlias
CarácterObligatorio

Alias SX2/SX3.

oWnd
ObjetoOpcional

Ventana de referencia.

cFilter
CarácterObligatorio

Expresión inicial, puede estar vacía.

lTopFilter
LógicoOpcional

Permite expresión TOP; predeterminado falso.

bOk
Bloque de códigoOpcional

Validación, condicionada a oDlg.

oDlg
ObjetoOpcional

Diálogo relacionado con procesamiento.

aUsado
ArrayOpcional

Campos usados/restringidos según ficha.

cDesc
CarácterOpcional

Descripción de expresión.

nRow
NuméricoOpcional

Fila de posición.

nCol
NuméricoOpcional

Columna de posición.

aCampo
ArrayOpcional

Configuración de campos.

lVisibleTopFilter
LógicoOpcional

Visibilidad filtro TOP.

lExpBtn
LógicoOpcional

Control de botón de expresión.

cTopFilter
CarácterOpcional

Expresión TOP inicial.

Retorno

Carácter con expresión de filtro; ejemplo solo consulta tamaño si tipo es C.

03 · EJEMPLO PRÁCTICO

Ejemplo comentado

#Include "Protheus.ch"

User Function EdBuildex()
    Local cFiltro := ""
    // SA1 debe estar abierta en sesion interactiva de pruebas.
    If Select("SA1") > 0
        cFiltro := BuildExpr("SA1", Nil, cFiltro, .F.)
        If ValType(cFiltro) == "C"
            ConOut(cValToChar(Len(cFiltro)))
        EndIf
    EndIf
Return Nil
Resultado esperado

Longitud depende de interacción; no aplica filtro, ejecuta consulta ni graba registros. En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

BUENAS PRÁCTICAS
  • Comprobar 14 argumentos con versión instalada. Preservar contexto y validar campos y expresión antes de aplicar.
  • En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

Contenido relacionado

REFERENCIAS
  1. TOTVS. BuildExpr. TDN. Consulta el 2026-10-26.
Estado
En revisión
Página creada el
Última revisión el
Idioma original
Portugués
Revisión
Usina.BR
0 comentario(s) aprobado(s)

Comentarios

Todavía no hay comentarios aprobados.

Inicia sesión con Google o Microsoft para comentar.

Desarrollado con Usina Docs · Alpha