cFieldNome existente do campo no alias.
AdvPL GuiaFieldBlock( cField ) --> bRetCria um bloco para consultar ou atribuir um campo.
O bloco de FieldBlock lê quando avaliado sem valor e atribui quando recebe valor. Portanto, não tratar todo Eval como leitura inofensiva. Campo inexistente pode permitir criar o bloco e falhar apenas na avaliação. A adaptação do exemplo GitHub verifica nome e posição do registro e avalia sem argumento de escrita, mantendo o contexto de EDTRB na criação e avaliação. Exibe apenas o tipo do valor, não conteúdo de cadastro. EDTRB é um alias próprio de teste já aberto; ED_COD, quando usado, é campo caractere de tamanho 10 do esquema didático. (TOTVS, s.d., ref. 1)
FieldBlock( cField ) --> bRetcFieldNome existente do campo no alias.
Bloco de acesso ao campo; erro na definição pode devolver Nil.
#Include "Protheus.ch"
User Function Ed383()
Local bLeitura
Local xValor
If Select("EDTRB") > 0
If EDTRB->(FieldPos("ED_COD")) > 0 .And. !EDTRB->(Eof())
bLeitura := EDTRB->(FieldBlock("ED_COD"))
// Sem segundo argumento: nao atribuir valor ao campo.
xValor := EDTRB->(Eval(bLeitura))
ConOut(ValType(xValor))
EndIf
EndIf
Return NilCom o esquema/registro preparados, tipo esperado C, sem alteração. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.
© 2026 Usina.BR. Todos os direitos reservados. TOTVS, Protheus, Microsiga e seus respectivos logotipos são marcas de seus titulares. O AdvPL Guia é independente e utiliza citações limitadas, atribuídas e justificadas por finalidade educativa. Consulte os Termos de Uso. Termos de Uso
Comentários
Ainda não há comentários aprovados.
Entre com Google ou Microsoft para comentar.