Obtenção e atribuição de valores no modelo MVC
oModel:GetValue(cIdForm,cIdField); oModel:SetValue(cIdForm,cIdField,xValue)Lê campos e atribui valores com a validação do Model.
Visão geral
No modelo principal, GetValue recebe ID do submodelo e campo; SetValue recebe também o novo valor e retorna lógico. A operação configurada no modelo influencia as validações. No objeto de grid, a assinatura é diferente e atua na linha corrente. LoadValue não é alternativa genérica: exige SetValue na pilha e dispensa a validação do campo. Um SetValue bem-sucedido não confirma a gravação; VldData e CommitData são etapas posteriores do fluxo controlado. (Fontes: refs. 1–2.)
Sintaxe
oModel:GetValue(cIdForm,cIdField); oModel:SetValue(cIdForm,cIdField,xValue)Exemplo comentado
#Include "Protheus.ch"
User Function Ed560()
// Modelo, IDs e operacao devem estar preparados; blocos nao invocados.
Local bLer := {|oModelo,cFormulario,cCampo| oModelo:GetValue(cFormulario,cCampo)}
Local bAlterar := {|oModelo,cFormulario,cCampo,xValor| oModelo:SetValue(cFormulario,cCampo,xValor)}
ConOut(ValType(bLer)+ValType(bAlterar))
Return NilImprime BB. Ao integrar, conferir o lógico de SetValue e as mensagens do modelo. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.
- Usar campos/IDs da estrutura real, inspecionar erros e não contornar validações com gravação direta. Em grids, preservar posição e validar a linha e o modelo antes de persistir.
- Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Comentários
Ainda não há comentários aprovados.
Entre com Google ou Microsoft para comentar.