ModelDefCria e devolve o modelo de dados, suas entidades, relações, validações e persistência.
AdvPL GuiaModelDef() · ViewDef() · MenuDef()Organize regras de negócio, apresentação e operações de uma rotina Protheus com o padrão MVC.
No MVC do Framework AdvPL, ModelDef define o modelo e as regras de negócio, ViewDef constrói a interface ligada ao modelo e MenuDef declara as operações disponíveis. O controller é tratado pelo framework. Essa separação permite reutilizar o modelo em interfaces, rotinas automáticas e integrações. O manual estudado também documenta modelos com uma ou várias entidades, validações, grids, estruturas, pontos de entrada, Web Services e reutilização de componentes.
ModelDef() · ViewDef() · MenuDef()ModelDefCria e devolve o modelo de dados, suas entidades, relações, validações e persistência.
ViewDefCria e devolve a interface, associa o modelo e organiza formulários, grids e contêineres.
MenuDefDevolve as operações da rotina; FWMVCMenu() pode gerar o conjunto padrão.
#Include "TOTVS.ch"
#Include "FWMVCDef.ch"
User Function CadCliente()
Local oBrowse := FWMBrowse():New()
oBrowse:SetAlias("SA1")
oBrowse:SetDescription("Cadastro de clientes")
oBrowse:Activate()
Return
Static Function ModelDef()
Local oStruct := FWFormStruct(1, "SA1")
Local oModel := FWFormModel():New("CADCLIENTEM")
oModel:AddFields("CLIENTE", NIL, oStruct)
oModel:SetDescription("Modelo de clientes")
Return oModel
Static Function ViewDef()
Local oModel := FWLoadModel("CADCLIENTE")
Local oStruct := FWFormStruct(2, "SA1")
Local oView := FWFormView():New()
oView:SetModel(oModel)
oView:AddField("VIEW_CLIENTE", oStruct, "CLIENTE")
oView:CreateHorizontalBox("TELA", 100)
oView:SetOwnerView("VIEW_CLIENTE", "TELA")
Return oView
Static Function MenuDef()
Return FWMVCMenu("CADCLIENTE")O browse inicia a rotina; ModelDef concentra o modelo, ViewDef liga a interface ao submodelo e MenuDef fornece as operações padrão. Ajuste alias, IDs e regras ao seu projeto.
© 2026 Usina.BR. Todos os direitos reservados. TOTVS, Protheus, Microsiga e seus respectivos logotipos são marcas de titularidade da TOTVS S.A. AdvPL é uma linguagem de programação desenvolvida pela TOTVS. O AdvPL Guia é um projeto independente, sem vínculo, representação, patrocínio ou afiliação com a TOTVS S.A., suas franquias ou representantes.