Histórico da Página
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
#INCLUDE 'PROTHEUS.CH'
#INCLUDE 'FWMVCDEF.CH'
#INCLUDE 'TBICONN.CH'
#INCLUDE 'TOPCONN.CH'
#INCLUDE 'TOTVS.CH'
/*/{Protheus.doc} ${User_Function}
${Descricao}
@author ${user}
@since ${date}
@version undefined
@type function
/*/
User Function ${User_Function}()
Local oBrowse as object
//Criação do objeoto Browse
oBrowse := FWMBrowse():New()
//Seta o Alias Browse
oBrowse:SetAlias('${Alias}')
//Seta a descrição do Browse
oBrowse:SetDescription('${Descricao}')
//Adicao de legendas
//oBrowse:AddLegend( "U01_STATUS =='A'", "GREEN" , "Aluno Ativo")
//Grafico
oBrowse:SetAttach(.T.)
//Ativa o Browse
oBrowse:Activate()
Return()
//-------------------------------------------------------------------
/*/{Protheus.doc} MenuDef
${Descricao} - Menu Funcional
@author ${user}
@since ${date}
@obs Primeiro fonte em MVC
/*/
//-------------------------------------------------------------------
Static Function MenuDef()
Local aRotina as array
aRotina := {}
ADD OPTION aRotina TITLE 'Pesquisar' ACTION 'PesqBrw' OPERATION 1 ACCESS 0
ADD OPTION aRotina TITLE 'Visualizar' ACTION 'VIEWDEF.${User_Function}' OPERATION 2 ACCESS 0
ADD OPTION aRotina TITLE 'Incluir' ACTION 'VIEWDEF.${User_Function}' OPERATION 3 ACCESS 0
ADD OPTION aRotina TITLE 'Alterar' ACTION 'VIEWDEF.${User_Function}' OPERATION 4 ACCESS 0
ADD OPTION aRotina TITLE 'Excluir' ACTION 'VIEWDEF.${User_Function}' OPERATION 5 ACCESS 0
ADD OPTION aRotina TITLE 'Imprimir' ACTION 'VIEWDEF.${User_Function}' OPERATION 8 ACCESS 0
ADD OPTION aRotina TITLE 'Copiar' ACTION 'VIEWDEF.${User_Function}' OPERATION 9 ACCESS 0
Return aRotina
//-------------------------------------------------------------------
/*/{Protheus.doc} ModelDef
${Descricao} - Modelo de Dados
@author ${user}
@since ${date}
@obs Primeiro fonte em MVC
/*/
//-------------------------------------------------------------------
Static Function ModelDef()
// Cria a estrutura a ser usada no Modelo de Dados
Local oStru${Alias} as array
Local oStru${Alias2} as array
Local oModel as object
oStru${Alias} := FWFormStruct( 1, '${Alias}', /*bAvalCampo*/,/*lViewUsado*/ )
oStru${Alias2} := FWFormStruct( 1, '${Alias2}', /*bAvalCampo*/,/*lViewUsado*/ )
// Cria o objeto do Modelo de Dados
oModel := MPFormModel():New('${User_Function}M', /*bPreValidacao*/, /*bPosValidacao*/, /*bCommit*/, /*bCancel*/ )
// Adiciona ao modelo uma estrutura de formulário de edição por campo
oModel:AddFields( '${Alias}MASTER', /*cOwner*/, oStru${Alias}, /*bPreValidacao*/, /*bPosValidacao*/, /*bCarga*/ )
// Adiciona ao modelo uma estrutura de Grid
oModel:AddGrid("${Alias2}DETAIL", "${Alias}MASTER"/*cOwner*/, oStru${Alias2} , ,/*bLinePost*/,/*bPre*/,/*bPost*/,/*Carga*/)
// Relacionamento entre os modelos
oModel:SetRelation("${Alias2}DETAIL",{{"${Alias2}_FILIAL",'xFilial("${Alias2}")'},{"${Alias2}_CODIGO","${Alias}_CODIGO"}},${Alias2}->(IndexKey()))
//Chave Primaria
oModel:SetPrimaryKey( {"${Alias}_FILIAL", "${Alias}_CODIGO"})
// Adiciona a descricao do Modelo de Dados
oModel:SetDescription( '${Descricao}' )
// Adiciona a descricao do Componente do Modelo de Dados
oModel:GetModel( '${Alias}MASTER' ):SetDescription( '${Descricao}' )
Return oModel
//-------------------------------------------------------------------
/*/{Protheus.doc} ViewDef
${Descricao} - Interface com usuário
@author ${user}
@since ${date}
@version undefined
@type function
/*/
//-------------------------------------------------------------------
Static Function ViewDef()
// Cria um objeto de Modelo de Dados baseado no ModelDef do fonte informado
Local oModel as object
// Cria a estrutura a ser usada na View
Local oStru${Alias} as array
Local oStru${Alias2} as array
Local oView as object
oModel := FWLoadModel( '${User_Function}' )
oStru${Alias} := FWFormStruct( 2, '${Alias}', /*bAvalCampo*/)
oStru${Alias2} := FWFormStruct( 2, '${Alias2}', /*bAvalCampo*/)
// Cria o objeto de View
oView := FWFormView():New()
// Define qual o Modelo de dados será utilizado
oView:SetModel( oModel )
//Adiciona no nosso View um controle do tipo FormFields(antiga enchoice)
oView:AddField( 'VIEW_${Alias}', oStru${Alias}, '${Alias}MASTER' )
//Adiciona no nosso View um controle do tipo Grid
oView:AddGrid( 'VIEW_${Alias2}', oStru${Alias2}, '${Alias2}DETAIL' )
// Criar um "box" horizontal para receber algum elemento da view
oView:CreateHorizontalBox( 'SUPERIOR' , 50 )
oView:CreateHorizontalBox( 'INFERIOR' , 50 )
// Relaciona o ID da View com o "box" para exibicao
oView:SetOwnerView( 'VIEW_${Alias}', 'SUPERIOR' )
oView:SetOwnerView( 'VIEW_${Alias2}', 'INFERIOR' )
// Liga a identificacao do componente
//oView:EnableTitleView('VIEW_${Alias}','${Descricao}')
//Indica se a janela deve ser fechada ao final da operação. Se ele retornar .T. (verdadeiro) fecha a janela
oView:bCloseOnOK := {|| .T.}
Return oView
|
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
#INCLUDE "TOTVS.CH" #INCLUDE "PROTHEUS.CH" /*/{Protheus.doc} ${name} ${description} @author ${user} @since ${date} @version 1.0 @type function /*/ User Function ${name}() ${cursor} Return() |
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas