Perguntas MVC - Campo Virtual para ser exibido na GRID

Mais
5 anos 6 meses atrás #32725 por denoca
Bom dia turma!
Tudo bem?

Estou desenvolvendo um cadastro modelo3 em MVC.
A minha tabela ZMU que alimenta o objeto do tipo GRID possui um campo do tipo VIRTUAL (ZMU_PERGUN).
Quando executo qualquer uma das operações (Alterar, visualizar,...) o conteúdo deste campo não é mostrado na GRID.

Existe alguma maneira (método, evento, etc...) para visualizar valores neste campo na GRID?

Segue o meu fonte abaixo.

Desde já agradeço!

#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
//#INCLUDE "TAFA414.CH"

/*/
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³ MIL0122 º Autor ³ Denis Fraga Barros º Data ³ 15/05/2019 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDescricao ³ Cadastro de Avaliacoes em MVC. º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³ Modulo: 53 - Avaliacao de Desempenho º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
/*/
User Function MIL0122()

Local oBrw as object

oBrw := FWmBrowse():New()

oBrw:SetDescription( "Cadastro de Avaliações" )
oBrw:SetAlias( ‘ZMT‘)
oBrw:SetMenuDef( ‘MIL0122‘ )

oBrw:AddLegend( "ZMT_STATUS == ‘1‘ ", "GREEN", "Avaliação Pendente" )
oBrw:AddLegend( "ZMT_STATUS == ‘2‘ ", "YELLOW","Avaliação em Andamento" )
oBrw:AddLegend( "ZMT_STATUS == ‘3‘ ", "RED", "Avaliação Encerrada" )

oBrw:Activate()

Return

/*/
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºFuncao ³ MenuDef º Autor ³ Denis Fraga Barros º Data ³ 15/05/2019 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDescricao ³ Funcao generica MVC com as opcoes de Menu. º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
/*/
Static Function MenuDef()

Local aRotina as array

aRotina := {}

//Adicionando opcoes
ADD OPTION aRotina TITLE ‘Incluir‘ ACTION ‘VIEWDEF.MIL0122‘ OPERATION MODEL_OPERATION_INSERT ACCESS 0 //OPERATION 3
ADD OPTION aRotina TITLE ‘Alterar‘ ACTION ‘VIEWDEF.MIL0122‘ OPERATION MODEL_OPERATION_UPDATE ACCESS 0 //OPERATION 4
ADD OPTION aRotina TITLE ‘Visualizar‘ ACTION ‘VIEWDEF.MIL0122‘ OPERATION MODEL_OPERATION_VIEW ACCESS 0 //OPERATION 1
ADD OPTION aRotina TITLE ‘Excluir‘ ACTION ‘VIEWDEF.MIL0122‘ OPERATION MODEL_OPERATION_DELETE ACCESS 0 //OPERATION 5

Return aRotina

/*/
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºFuncao ³ ModelDef º Autor ³ Denis Fraga Barros º Data ³ 16/05/2019 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDescricao ³ Funcao generica MVC do Model. º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
/*/
Static Function ModelDef()
Local oStruZMT as object
Local oStruZMU as object
Local oStruZMV as object
Local oModel as object

//Local bLoad := {|oModel| minhafunc(oModel)}

oStruZMT := FWFormStruct( 1, ‘ZMT‘ )
oStruZMU := FWFormStruct( 1, ‘ZMU‘,,,.T. )
oStruZMV := FWFormStruct( 1, ‘ZMV‘ )

oModel := MPFormModel():New( ‘CADZMT‘ ,,,/*{|oModel| SaveModel(oModel)}*/)

//ZMT - Tabela de Avaliacoes
oModel:AddFields(‘FORMZMT‘, /*cOwner*/, oStruZMT)
oModel:SetPrimaryKey({‘ZMT_FILIAL‘, ‘ZMT_CODIGO‘})

//Adicionando descrição ao modelo
oModel:SetDescription("Avaliação")

//Setando a descrição do formulário
oModel:GetModel("FORMZMT"):SetDescription("Avaliação")


//ZMU - Tabela de Questoes da Avaliacao
oModel:AddGrid(‘MODEL_ZMU‘, ‘FORMZMT‘, oStruZMU,,,,,)
oModel:GetModel(‘MODEL_ZMU‘):SetOptional(.T.)
oModel:GetModel(‘MODEL_ZMU‘):SetUniqueLine({‘ZMU_QUESTA‘})
oModel:GetModel(‘MODEL_ZMU‘):SetMaxLine(150)

//ZMV - Tabela de Participantes da Avaliacao
oModel:AddGrid(‘MODEL_ZMV‘, ‘FORMZMT‘, oStruZMV)
oModel:GetModel(‘MODEL_ZMV‘):SetOptional(.T.)
oModel:GetModel(‘MODEL_ZMV‘):SetUniqueLine({‘ZMV_MAT‘})
oModel:GetModel(‘MODEL_ZMV‘):SetMaxLine(99999)

oModel:SetRelation("MODEL_ZMU",{ {"ZMU_FILIAL","xFilial(‘ZMU‘)"}, {"ZMU_CODAVL","ZMT_CODIGO"} }, ZMU->(IndexKey(1)) )
oModel:SetRelation("MODEL_ZMV",{ {"ZMV_FILIAL","xFilial(‘ZMV‘)"}, {"ZMV_CODAVL","ZMT_CODIGO"} }, ZMV->(IndexKey(1)) )

Return oModel


/*/
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºFuncao ³ ViewDef º Autor ³ Denis Fraga Barros º Data ³ 17/05/2019 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDescricao ³ Funcao generica MVC do View. º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
/*/
Static Function ViewDef()

Local oModel as object
Local oStruZMT as object
Local oStruZMU as object
Local oStruZMV as object
Local oView as object
Local cCmpFil as char
Local nI as numeric
Local aCmpGrp as array
Local cGrpCom1 as char



oModel := FWLoadModel( ‘MIL0122‘ )
oStruZMT := Nil
oStruZMU := FWFormStruct( 2, ‘ZMU‘,,,.T. )
oStruZMV := FWFormStruct( 2, ‘ZMV‘ )
oView := FWFormView():New()
cCmpFil := ‘‘
nI := 0
aCmpGrp := {}
cGrpCom1 := ""

oView:SetModel( oModel )
oView:SetContinuousForm(.T.)

//Informações de Apuração/Identificação do Estabelecimento que Comercializou a Produção
cGrpCom1 := ‘ZMT_CODIGO|ZMT_NOMEAV|ZMT_DTINI|ZMT_DTFIM|‘
cCmpFil := cGrpCom1
oStruZMT := FwFormStruct( 2, ‘ZMT‘ )



/*
Esrutura da View
*/

oView:AddField( "VIEW_ZMT", oStruZMT, "FORMZMT" )
oView:AddGrid( "VIEW_ZMU", oStruZMU, "MODEL_ZMU" )
oView:AddGrid( "VIEW_ZMV", oStruZMV, "MODEL_ZMV" )

/*
Estrutura do Folder
*/
oView:CreateHorizontalBox("PAINEL",40,,.F.)
oView:CreateHorizontalBox("PAINEL2",60,,.F.)
oView:CreateFolder( ‘TABSECUN‘, ‘PAINEL2‘ )
oView:AddSheet( ‘TABSECUN‘, ‘ABA01‘, "Questões" )
oView:AddSheet( ‘TABSECUN‘, ‘ABA02‘, "Participantes" )
oView:CreateHorizontalBox ( ‘TBZMU‘, 50,,, ‘TABSECUN‘ , ‘ABA01‘ )
oView:CreateHorizontalBox ( ‘TBZMV‘, 100,,, ‘TABSECUN‘ , ‘ABA02‘ )

//////////////////////////////////////////////////////////////////////////////////

/*
Amarração para exibição das informações
*/
oView:EnableTitleView(‘VIEW_ZMT‘, ‘Dados da Avaliação‘ )
oView:SetCloseOnOk({||.T.})
oView:SetOwnerView( "VIEW_ZMT", "PAINEL")
oView:SetOwnerView( "VIEW_ZMU", "TBZMU" )
oView:SetOwnerView( "VIEW_ZMV", "TBZMV" )

//Processar Dados Automáticamente
//oView:AddUserButton( STR0017, ‘CLIPS‘, {|oView| ImportDataNF(oModel) } ) //"Buscar Docs Fiscais"

//lMenuDif := Iif( Type( "lMenuDif" ) == "U", .F., lMenuDif )

//If !lMenuDif .OR. ( FindFunction( "xTafExtmp" ) .And. xTafExtmp() )
// xFunRmFStr(@oStruT1Ma,"T1M")
// oStruT1P:RemoveField(‘T1P_IDSUSP‘)
//EndIf

oStruZMU:RemoveField(‘ZMU_CODAVL‘)
oStruZMV:RemoveField(‘ZMV_CODAVL‘)

Return oView

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.090 segundos
Joomla templates by a4joomla