MVC con una entidad
MPFormModel():New(); AddFields(); SetPrimaryKey()Define modelo para tabla del diccionario.
Descripción general
Una entidad usa submodelo Field creado con AddFields. FWFormStruct(1,alias) da metadatos del Model; tipo 2 para View. Ejemplo comunitario usa SBM; adaptación usa ZZ1 ficticia con clave ZZ1_FILIAL+ZZ1_COD. Auxiliar es esbozo ModelDef, no aplicación completa: requiere SX2/SX3 y conexión con ViewDef/acciones. Bloque no se invoca. (Fuentes: refs. 1–5.)
Sintaxis
MPFormModel():New(); AddFields(); SetPrimaryKey()Ejemplo comentado
#Include "Protheus.ch"
#Include "FWMVCDef.ch"
User Function Ed553()
// Exige diccionario de prueba ZZ1.
Local bConstruir := {|| BuildModel()}
ConOut(ValType(bConstruir))
Return Nil
Static Function BuildModel()
Local oModelo := MPFormModel():New("ED553M")
Local oEstructura := FWFormStruct(1,"ZZ1")
oModelo:AddFields("ZZ1MASTER",Nil,oEstructura)
oModelo:SetPrimaryKey({"ZZ1_FILIAL","ZZ1_COD"})
Return oModeloImprime B; no evalúa auxiliar ni crea/graba tablas. En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.
- Verificar tipos/anchos, clave primaria, relación e índice antes de activar. Probar validación, cancelación y persistencia por separado; View debe usar IDs correctos.
- En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

Comentarios
Todavía no hay comentarios aprobados.
Inicia sesión con Google o Microsoft para comentar.