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

MVC com uma entidade

MPFormModel():New(); AddFields(); SetPrimaryKey()

Define um modelo para uma tabela do dicionário.

MVC com uma entidadeAdvPL
01 · VISÃO GERAL

Visão geral

Uma entidade é representada por um submodelo Field, criado com AddFields. FWFormStruct(1,alias) fornece os metadados do Model; o tipo 2 serve à View. O exemplo comunitário usa SBM, enquanto esta adaptação mostra uma tabela fictícia ZZ1 com chave ZZ1_FILIAL+ZZ1_COD. A função auxiliar é um esboço de ModelDef, não uma aplicação completa: exige SX2/SX3 preparados e ainda precisa ser ligada à ViewDef e às ações. O bloco não é invocado na demonstração. (Fontes: refs. 1–5.)

02 · SINTAXE

Sintaxe

MPFormModel():New(); AddFields(); SetPrimaryKey()
03 · EXEMPLO PRÁTICO

Exemplo comentado

#Include "Protheus.ch"
#Include "FWMVCDef.ch"

User Function Ed553()
    // Exige dicionario de teste ZZ1.
    Local bConstruir := {|| BuildModel()}
    ConOut(ValType(bConstruir))
Return Nil

Static Function BuildModel()
    Local oModelo := MPFormModel():New("ED553M")
    Local oEstrutura := FWFormStruct(1,"ZZ1")
    oModelo:AddFields("ZZ1MASTER",Nil,oEstrutura)
    oModelo:SetPrimaryKey({"ZZ1_FILIAL","ZZ1_COD"})
Return oModelo
Resultado esperado

Imprime B; o helper não é avaliado e não cria nem grava tabelas. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

BOAS PRÁTICAS
  • Conferir tipos e tamanhos de campos, chave primária, relação e índice real antes de ativar. Testar validação, cancelamento e persistência separadamente; a View deve apontar para os IDs dos submodelos corretos.
  • 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. MPFormModel. TDN. Consulta em 2026-10-27.
  2. TOTVS. FWFormModel. TDN. Consulta em 2026-10-27.
  3. TOTVS. FWFormView. TDN. Consulta em 2026-10-27.
  4. TOTVS. FWFormStruct. TDN. Consulta em 2026-10-27.
  5. Atilio. zMVCMd1.prw; commit 7d275a7. 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