Usina BRGuía AdvPL
Ingresar
← Todos los temas
FUNCIóNPublicado

ExistBlock

ExistBlock( <cPontoEntrada> ) --> lExiste

Verifica si existe un punto de entrada o bloque personalizado antes de ejecutarlo.

Puntos de entradaFrameworkPersonalizaciónFunciones esenciales
01 · DESCRIPCIÓN GENERAL

Descripción general

ExistBlock() consulta si determinada personalización está disponible en el entorno. En rutinas extensibles, evita llamar ExecBlock() para un punto inexistente y hace el código más seguro entre clientes, sucursales o módulos.

02 · SINTAXIS

Sintaxis

ExistBlock( <cPontoEntrada> ) --> lExiste

Parámetros

cPontoEntrada
CaracterObligatorio

Nome do ponto de entrada, bloco ou identificador de customização a verificar.

Retorno

Lógico. Retorna .T. quando o bloco existe e .F. quando não existe.

03 · EJEMPLO PRÁCTICO

Executar ponto de entrada apenas se existir

#Include "TOTVS.ch"

User Function ExExistBlock()
    Local lValido := .T.

    If ExistBlock("MA030VLD")
        lValido := ExecBlock("MA030VLD", .F., .F.)
    EndIf

    If lValido
        MsgInfo("Validación autorizada.")
    EndIf
Return
Resultado esperado

La llamada al punto de entrada ocurre solo cuando existe en el entorno.

BUENAS PRÁCTICAS
  • Use antes de ExecBlock() quando a customização for opcional.
  • Documente o ponto de entrada esperado e o contrato de retorno.
  • É comum em fontes que precisam funcionar em vários ambientes sem exigir todas as customizações.
ERRORES COMUNES
  • ExistBlock() só informa existência; a validade dos parâmetros e do retorno continua sendo responsabilidade da rotina.
  • Evite transformar pontos opcionais em dependência invisível sem documentação.

Contenido relacionado

REFERENCIAS
  1. RXM Tecnologia. 20 funciones AdvPL esenciales que todo desarrollador Protheus usa. Mayo de 2026.
Estado
Publicado
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