numericValores numéricos inteiros ou decimais, positivos ou negativos.
AdvPL GuiaLocal <variável> As <tipo> · Function <nome>(<parâmetro> As <tipo>) As <tipo>Declare tipos de variáveis, parâmetros, retornos, propriedades e métodos para tornar inconsistências mais visíveis.
AdvPL possui tipagem dinâmica, mas permite declarar tipos explicitamente em fontes .PRW. Essas anotações ajudam o compilador e o AppServer a identificar atribuições, parâmetros e retornos incompatíveis. Os tipos documentados são numeric, character, date, codeblock, logical, array, object e variadic. A tipagem de TLPP possui recursos próprios e deve ser consultada separadamente.
Local <variável> As <tipo> · Function <nome>(<parâmetro> As <tipo>) As <tipo>numericValores numéricos inteiros ou decimais, positivos ou negativos.
character / charCadeias de caracteres.
dateValores de data.
codeblock / blockBlocos de código que podem ser avaliados em execução.
logicalValores lógicos verdadeiro (.T.) ou falso (.F.).
arrayMatrizes que podem reunir valores e estruturas.
objectInstâncias de classes ou objetos de interface.
variadicParâmetros de quantidade variável em funções.
User Function ExTipos()
Local cMensagem As Character
Local nQuantidade As Numeric
Local dHoje As Date
Local lAtivo As Logical
Local aItens As Array
cMensagem := "Cadastro disponível"
nQuantidade := 3
dHoje := Date()
lAtivo := .T.
aItens := {"A", "B", "C"}
If lAtivo
MsgInfo(cMensagem + " - itens: " + CValToChar(nQuantidade))
EndIf
ReturnCada variável declara o tipo esperado, facilitando a leitura e a identificação de atribuições incompatíveis.
User Function TotalPedido(nValor As Numeric, nQuantidade As Numeric) As Numeric
Local nTotal As Numeric
nTotal := nValor * nQuantidade
Return nTotalO protótipo documenta que os dois parâmetros e o retorno são numéricos.
Class Pedido
Data nTotal As Numeric
Method New(nValor As Numeric) As Object
EndClass
Method New(nValor As Numeric) Class Pedido
::nTotal := nValor
Return SelfA propriedade, o parâmetro e o retorno do construtor têm seus tipos declarados.
User Function ExIncompativel()
Local cCodigo As Character
Local nTotal As Numeric
nTotal := "ABC"
cCodigo := 10
ReturnO compilador pode emitir o aviso W0015 para as conversões incompatíveis entre C e N. O correto é ajustar a origem ou converter o valor conscientemente.
© 2026 Usina.BR. Todos os direitos reservados. TOTVS, Protheus, Microsiga e seus respectivos logotipos são marcas de titularidade da TOTVS S.A. AdvPL é uma linguagem de programação desenvolvida pela TOTVS. O AdvPL Guia é um projeto independente, sem vínculo, representação, patrocínio ou afiliação com a TOTVS S.A., suas franquias ou representantes.