Usina BRAdvPL Guia
Entrar
← Todos os tópicos
GUIA PRÁTICOEm revisão

Rotinas automáticas com modelos MVC

Executa regras do modelo com validação e persistência explícitas.

Rotinas automáticas com modelos MVCAdvPL
01 · VISÃO GERAL

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.)

03 · EXEMPLO PRÁTICO

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 Nil
Resultado esperado

Cria 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.

BOAS PRÁTICAS
  • 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.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. FWFormModel. Seções SetRelation, SetPrimaryKey, SetOperation, VldData, CommitData e GetErrorMessage. Consulta em 2026-10-27.
  2. TOTVS. FWLoadModel. Consulta em 2026-10-27.
Situação
Em revisão
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR
0 comentário(s) aprovado(s)

Comentários

Ainda não há comentários aprovados.

Entre com Google ou Microsoft para comentar.

Powered by Usina Docs · Alpha