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.

compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do DevForum TOTVS!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags advpl mvc enchoice ou faça a sua própria pergunta.