Rotinas automáticas com modelos MVC
Executa regras do modelo com validação e persistência explícitas.
Visão geral
Prepare o ambiente somente quando o chamador não o fornecer. Carregue o modelo, defina a operação, ative, atribua valores pelos IDs corretos e execute VldData antes de CommitData. Confira cada retorno relevante, obtenha GetErrorMessage em falha e conclua o ciclo de desativação e destruição segundo o contrato do objeto. As mensagens podem conter valores de campos: registre apenas o necessário. O laboratório mostra um validador em bloco, sem gravar dados; a chamada de CommitData fica comentada para tornar explícita a etapa ainda não executada. (Fontes: refs. 1–2.)
Exemplo comentado
#Include "Protheus.ch"
User Function Ed634()
// Requer modelo ativo e preenchido; bloco nao invocado.
Local bValidar := {|oModelo| oModelo:VldData()}
// Depois de validar e somente no fluxo autorizado: oModelo:CommitData()
ConOut(ValType(bValidar))
Return NilCria B, sem validar ou gravar um objeto real. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.
- Não confunda VldData com commit. Não use LoadValue como substituto geral de SetValue para pular validação.
- 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.