Usina BRGuía AdvPL
Ingresar
← Todos los temas
COMANDOPublicado

FUNCTION

[STATIC] FUNCTION <cNome>( [<uParam1>, <uParam2>, ...] )

Declara una función AdvPL, con parámetros locales y finalización obligatoria mediante RETURN.

DeclaraciónFuncionesRutinasParámetrosRETURN
01 · DESCRIPCIÓN GENERAL

Descripción general

FUNCTION es el comando utilizado para declarar una función en AdvPL. La función recibe un nombre, puede recibir parámetros y debe finalizar su ejecución con RETURN. Cuando se declara como STATIC FUNCTION, queda visible solo dentro del propio archivo fuente; cuando se publica como USER FUNCTION, pasa a ser una rutina llamable externamente según las convenciones del entorno Protheus.

02 · SINTAXIS

Sintaxis

[STATIC] FUNCTION <cNome>( [<uParam1>, <uParam2>, ...] )

Parámetros

STATIC
ModificadorOpcional

Restringe la visibilidad de la función al archivo fuente donde fue declarada.

cNombre
IdentificadorObligatorio

Nombre de la función declarada. Debe ser estable cuando se usa en menús, puntos de entrada o llamadas externas.

uParamN
Cualquier tipo AdvPLOpcional

Parámetros recibidos por la función. Cada parámetro funciona como variable local en el ámbito de la función.

RETURN
ComandoObligatorio

Finaliza la función y, opcionalmente, devuelve un valor al llamador.

03 · EJEMPLO PRÁCTICO

Función con parámetros y retorno

#Include "TOTVS.ch"

User Function ExFunction()
    Local nResultado := SomaValores(10, 5)

    MsgInfo(CValToChar(nResultado), "Resultado")
Return

Static Function SomaValores(nValorA, nValorB)
Return nValorA + nValorB
Resultado esperado

La User Function es el punto de entrada. La Static Function recibe parámetros locales, calcula el resultado y devuelve el valor al llamador.

04 · EJEMPLO PRÁCTICO

Retorno lógico para validación

#Include "TOTVS.ch"

User Function ExValida()
    Local cCodigo := "A001"

    If CodigoValido(cCodigo)
        MsgInfo("Código aceito", "Validação")
    EndIf
Return

Static Function CodigoValido(cCodigo)
Return !Empty(AllTrim(cCodigo))
Resultado esperado

La función auxiliar devuelve .T. o .F., dejando explícito el contrato de validación.

BUENAS PRÁCTICAS
  • Cada parâmetro declarado entre parênteses é criado como variável local da função.
  • A execução da função deve ser finalizada com RETURN, com ou sem valor de retorno.
  • Use STATIC FUNCTION para rotinas auxiliares internas do fonte.
  • Use USER FUNCTION quando a rotina precisar ser chamada externamente pelo ambiente, menu, ponto de entrada ou outra integração.
  • O TDN registra que uma função pode ser chamada diretamente pelo nome ou pelo operador de alias, conforme o contexto.
ERRORES COMUNES
  • No confundas FUNCTION con una llamada de función: FUNCTION declara la rutina; usar el nombre la ejecuta.
  • Parámetros omitidos o en orden incorrecto cambian el comportamiento de la rutina llamada.
  • Funciones sin contrato claro de retorno dificultan pruebas y mantenimiento.
  • Exponer como USER FUNCTION algo que debería ser solo auxiliar aumenta el acoplamiento del fuente.

Contenido relacionado

REFERENCIAS
  1. TOTVS. FUNCTION. TDN Framework. Disponível em: https://tdn.totvs.com/display/public/framework/FUNCTION. Conteúdo consultado em 25/08/2026 e adaptado para guia de referência.
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