Versão atual:

MVC MOD 3 TABELAS

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

Versões (2):

Ver a versão formatada

MVC MOD 3 TABELAS

Comentário

new question