Remover campos de View de modelo herdado

Prezados, estou reutilizando a Model de um fonte que desenvolvi, para reutilizar em uma nova View com um conceito diferente da original. Porém mesmo instanciando uma nova View na ViewDef, é carregada a view do fonte original, mas preciso de que seja carregada a view criada em que vou remover alguns campos e adicionar mais painéis. Segue Model e View.


Static Function ModelDef()
    //Array com a estrutura de relação ZA5 x ZA6
    Local aZA6Rel := {}
    // Cria a estrutura a ser acrescentada no Modelo de Dados
    Local oStruZA5 := FwFormStruct(1, "ZA5")
    Local oStruZA6 := FWFormStruct( 1, 'ZA6', /*bAvalCampo*/,/*lViewUsado*/ )

    // Inicia o Model com um Model ja existente
    Local oModel := FWLoadModel( 'ESTA42M' )

    // Adiciona a nova FORMFIELD
    //oModel:AddFields( 'ZA6DETAIL', 'ZA0MASTER', oStruZA6 )
    oModel:AddFields("ZA5MASTER", NIL,oStruZA5)
    oModel:AddGrid("ZA6DETAIL", "ZA5MASTER",oStruZA6)

    // Faz relacionamento entre os compomentes do model
    aAdd(aZA6Rel, {'ZA6_FILIAL' ,'xFilial("ZA6")'} )
    aAdd(aZA6Rel, {'ZA6_NUM'    ,'ZA5_NUM'})
    aAdd(aZA6Rel, {'ZA6_SEQUEN'    ,'ZA5_SEQUEN'})
    //IndexKey -> quero a ordenação e depois filtrado
    oModel:SetRelation('ZA6DETAIL', aZA6Rel, ZA6->(IndexKey(2))) //Produto

    // Adiciona a descricao do novo componente
    oModel:GetModel( 'ZA6DETAIL' ):SetDescription( 'Digitação de Inventário' )
Return oModel


Static Function ViewDef()
    // Cria um objeto de Modelo de Dados baseado no ModelDef do fonte informado
    Local oModel := FWLoadModel( 'ESTA42M' )

    // Cria a estrutura a ser acrescentada na View
    Local oStruZA5 := FWFormStruct( 2, 'ZA5' )
    Local oStruZA6 := FWFormStruct( 2, 'ZA6' )

    //Removendo campos não necessarios
    oStruZA5:RemoveField('ZA5_PROD')
    oStruZA5:RemoveField('ZA5_DESCPR')
    oStruZA5:RemoveField('ZA5_QUANT')
    oStruZA5:RemoveField('ZA5_LOCAL')
    oStruZA5:RemoveField('ZA5_LOCLIZ')
    oStruZA5:RemoveField('ZA5_OBS')

    // Instanciando uma nova View
    oView := FWFormView():New()
    oView:SetModel(oModel)

    // Adiciona no nosso View um controle do tipo FormFields(antiga enchoice)
    oView:AddField("VIEW_ZA5", oStruZA5, "ZA5MASTER",,)
    oView:AddGrid("VIEW_ZA6", oStruZA6, "ZA6DETAIL",,/* bFocusZA6 */)

    // Criando Boxes
    oView:CreateVerticallBox( 'MAIN' , 100, 'SCREEN' )
    // Novos Sub-Boxes
    oView:CreateHorizontalBox( 'SUPERIOR' , 50, 'MAIN' )
    oView:CreateHorizontalBox( 'INFERIOR' , 50, 'MAIN' )

    // Relaciona o identificador (ID) da View com o "box" para exibicao
    oView:SetOwnerView( 'VIEW_ZA5', 'SUPERIOR' )
    oView:SetOwnerView( 'VIEW_ZA6', 'INFERIOR' )
Return oView

LEandro, como está a chamada do menudef?

Estava chamando com o nome do fonte original, alterei aqui e resolveu, muito obrigado Felipe, não tinha reparado nisso.

Blz Leandro, vou colocar como resposta aqui no blog

Bom dia Leandro.

Verifique o MenuDef se está chamando a view do fonte original ou do novo fonte.

Abraço,