Versão atual:

Alterar Título da Enchoice no MVC

Boa noite!

Prezados, gostaria de saber se é possível estar alterando o título da Enchoice em rotinas criadas com o MVC.

Verifiquei que o título sempre é o nome do SX2 da tabela utilizado no modelo de dados.

Sempre utilizo a variável cCadastro para exibição dos títulos em Enchoice e em outros componentes gráficos, porém no caso do MVC, percebi que está ocorrendo essa substituição pelo nome do X2.

Segue em anexo um exemplo da tela e segue abaixo parte do código:

ZT8 - Cabeçalho de Pasta de Venda ZT9 - Itens de Pasta de Venda

User Function ELFATA19
Local aArea         := GetArea() 
Local oBrowse         := FwMBrowse():New()
Private cCadastro     := 'Cadastro de Pasta de Venda'
Private aRotina     := MenuDef() 

    oBrowse:SetAlias('ZT8')
    oBrowse:SetDescription(cCadastro)
    oBrowse:Activate()

    RestArea(aArea)

Return

Static Function MenuDef
Local aRotina := {}

    aAdd( aRotina, { 'Pesquisar' , 'PesqBrw'         , 0, 1, 0, NIL } )
    aAdd( aRotina, { 'Visualizar', 'VIEWDEF.ELFATA19', 0, 2, 0, NIL } )
    aAdd( aRotina, { 'Incluir'   , 'VIEWDEF.ELFATA19', 0, 3, 0, NIL } )
    aAdd( aRotina, { 'Alterar'   , 'VIEWDEF.ELFATA19', 0, 4, 0, NIL } )
    aAdd( aRotina, { 'Excluir'   , 'VIEWDEF.ELFATA19', 0, 5, 0, NIL } )
    aAdd( aRotina, { 'Imprimir'  , 'VIEWDEF.ELFATA19', 0, 8, 0, NIL } )

Return(aRotina)

Static Function ModelDef
Local oModel     := Nil
Local oStruHead    := FwFormStruct(1,'ZT8', {|cCampo| Alltrim(cCampo) $ 'ZT8_CODIGO|ZT8_DESCRI|'})
Local oStruGrid := FwFormStruct(1,'ZT9', {|cCampo| Alltrim(cCampo) $ 'ZT9_CODIGO|ZT9_CODFAB|ZT9_DSCFAB|'})

    //Monta o modelo principal
    oModel    := MpFormModel():New('PVEMVC',/*PreValidacao*/,/*Validação*/,{|oModel| fCommit(oModel)})
    oModel:SetDescription(cCadastro)    

    //Monta os dados do cabeçalho
    oModel:AddFields('ModelHead',,oStruHead)
    oModel:SetPrimaryKey({'ZT8_FILIAL','ZT8_CODIGO','ZT8_DESCRI'})

    oModel:GetModel('ModelHead'):SetDescription('Informações Gerais')

    //Monta os dados dos itens
    oModel:AddGrid('ModelGrid','ModelHead',oStruGrid,,/*bLinOk*/,/*bPreGrid*/,/*bProsGrid*/)
    oModel:SetRelation('ModelGrid',{ {'ZT9_FILIAL','ZT8_FILIAL'},{'ZT9_CODIGO','ZT8_CODIGO'} }, ZT9->(IndexKey(1)) )

    oModel:GetModel('ModelGrid'):SetDescription('Fabricantes')        
    oModel:GetModel('ModelGrid'):SetDelAllLine(.T.)
    oModel:GetModel('ModelGrid'):SetOptional(.F.)    
    oModel:GetModel('ModelGrid'):SetUniqueLine({'ZT9_CODFAB'})

Return oModel

Static Function ViewDef
Local oView        := Nil
Local oModel    := FwLoadModel('ELFATA19') 
Local oStruHead    := FwFormStruct(2,'ZT8', {|cCampo| Alltrim(cCampo) $ 'ZT8_CODIGO|ZT8_DESCRI|'})
Local oStruGrid := FwFormStruct(2,'ZT9', {|cCampo| Alltrim(cCampo) $ 'ZT9_CODIGO|ZT9_CODFAB|ZT9_DSCFAB|'})

    //Não exibe o folder visual caso algum campo esteja inserido em um
    oStruHead:SetNoFolder()

    oView:= FwFormView():New() 
    oView:SetModel(oModel)              

    //Crio o cabeçalho e os grids de acordo com o modelo
    oView:AddField('ViewHead', oStruHead, 'ModelHead')
    oView:AddGrid ('ViewGrid', oStruGrid, 'ModelGrid')

    //Crio uma layer com 20% da tela e outra com 80% da tela, similar a FwLayer
    oView:CreateHorizontalBox('MAIN',20)
    oView:CreateHorizontalBox('GRID',80)

    //Informo os devidos títulos das telas
    oView:EnableTitleView('ViewHead','Informações Gerais')
    oView:EnableTitleView('ViewGrid','Fabricantes')

    //Informo a porcentagem da tela que cada view deve ocupar
    oView:SetOwnerView('ViewHead','MAIN')
    oView:SetOwnerView('ViewGrid','GRID')

Return(oView)

Agradeço desde já pela atenção.

Versão (1):

Ver a versão formatada

Alterar Título da Enchoice no MVC

Comentário

new question