Estou querendo desenvolver uma rotina em MVC utilizando 3 tabelas com 2 grids, ocorre erro ao executar, alguém pode me ajudar.
Static Function MenuDef()
Local aRotina := {}
ADD OPTION aRotina TITLE 'Pesquisa' ACTION 'PesqBrw' OPERATION 1 ACCESS 0
ADD OPTION aRotina TITLE 'Visualizar' ACTION 'VIEWDEF.MANUTMVC' OPERATION 2 ACCESS 0
ADD OPTION aRotina TITLE 'Incluir OS' ACTION 'VIEWDEF.MANUTMVC' OPERATION 3 ACCESS 0
ADD OPTION aRotina TITLE 'Manutenção' ACTION 'VIEWDEF.MANUTMVC' OPERATION 4 ACCESS 0
ADD OPTION aRotina TITLE 'Excluir' ACTION 'VIEWDEF.MANUTMVC' OPERATION 5 ACCESS 0
ADD OPTION aRotina TITLE 'Conclusão' ACTION 'U_CICONC' OPERATION 6 ACCESS 0
ADD OPTION aRotina TITLE 'Legenda' ACTION 'u_IOLeg' OPERATION 6 ACCESS 0
Return aRotina
Static Function ModelDef()
// Cria a estrutura a ser usada no Modelo de Dados
Local oStruZZ0 := FWFormStruct( 1, 'ZZ0')
Local oStruZZ1 := FWFormStruct( 1, 'ZZ1')
Local oStruZZ2 := FWFormStruct( 1, 'ZZ2')
Local oModel // Modelo de dados que será construÃdo
oModel := MPFormModel():New( 'MANUT_MVC')
oModel:AddFields( 'ZZ0MASTER', /*cOwner*/, oStruZZ0)
oModel:AddGrid( 'ZZ1HST' ,'ZZ0MASTER', oStruZZ1)
oModel:SetRelation( 'ZZ1HST' , { { 'ZZ1_FILIAL', 'xFilial( "ZZ1" )' },{ 'ZZ1_NUMOS', 'ZZ0_NUMOS' } }, ZZ1->( IndexKey( 1 ) ) )
oModel:AddGrid( 'ZZ2HST' ,'ZZ0MASTER', oStruZZ2)
oModel:SetRelation( 'ZZ2HST' , { { 'ZZ2_FILIAL', 'xFilial( "ZZ2" )' },{ 'ZZ2_NUMOS', 'ZZ0_NUMOS' } }, ZZ2->( IndexKey( 1 ) ) )
//oModel:GetModel( 'ZZ6HST' ):SetOptional( .T. )
oModel:SetDescription( 'Controle de Manutenção' )
oModel:SetPrimaryKey( { "ZZ0_FILIAL", "ZZ0_NUMOS" } )
oModel:GetModel( 'ZZ0MASTER' ):SetDescription( 'Controle de Manutenção' )
Return oModel
Static Function ViewDef()
// RECEBE O MODELO DE DADOS
Local oModel := FWLoadModel( 'MANUTMVC' )
// INSTANCIA AS SUBVIEWS
Local oStruZZ0 := FWFormStruct( 2, 'ZZ0' )
Local oStruZZ1 := FWFormStruct( 2, 'ZZ1')
Local oStruZZ2 := FWFormStruct( 2, 'ZZ2')
// INSTANCIA A VIEW
Local oView
oView := FWFormView():New()
// INDICA O MODELO DA VIE
oView:SetModel( oModel )
// CRIA ESTRUTURA VISUAL DE CAMPOS
oView:AddField( 'VIEW_ZZ0', oStruZZ0, 'ZZ0MASTER' )
oView:AddGrid ( 'VIEW_ZZ1', oStruZZ1, 'ZZ1HST' )
oView:AddGrid ( 'VIEW_ZZ2', oStruZZ2, 'ZZ2HST' )
// CRIA BOXES HORIZONTAIS
oView:CreateHorizontalBox( 'SUP_TELA' , 70 )
oView:CreateHorizontalBox( 'INF_TELA' , 30 )
oView:CreateHorizontalBox( 'INF2_TELA', 30 )
// RELACIONA OS BOXES COM AS ESTRUTURAS VISUAIS
oView:SetOwnerView( 'VIEW_ZZ0', 'SUP_TELA' )
oView:SetOwnerView( 'VIEW_ZZ1', 'INF_TELA' )
oView:SetOwnerView( 'VIEW_ZZ2', 'INF2_TELA' )