Escolar Documentos
Profissional Documentos
Cultura Documentos
ADVPL II - MVC
ADVPL II - MVC
Índice
I) Framework
II) Informações técnicas
III) Conteúdo Programático
IV) Exercícios
V) MVC Designer
VI) Revisão
2
Framework
ADVPL II - MVC
Model
View Controller
Ação do usuário
“Nada é tão fácil quanto parece, nem tão difícil quanto a explicação do manual” - Murphy
4
ADVPL II - MVC
Nosso modelo
Framework
Business Objects
ViewDef Persistência
ModelDef Regras de negócio
GDP
(FWCommit)
Designer Analista
“Toda solução cria novos problemas” - Murphy
5
ADVPL II - MVC
View
Define como o usuário interage com o modelo de dados. Capturando os
dados informados pelo usuário, fornecendo ao BO e apresentando o
resultado.
6
ADVPL II - MVC
FWBrowse - View
FWBrowse
FWFormBrowse
FWMBrowse
FWMarkBrowse
7
ADVPL II - MVC
FWBrowse - View
FWMBrowse
FWFormBrowse
FWBrowse
Dicionário de dados
8
ADVPL II - MVC
FWFormField - View
FWFormField
Desenvolvido para:
Substituir todos os componentes de edição de campos
Possibilitar sua utilização em qualquer container de interface
Reduzir o tempo de manutenção, em caso de adição de um novo requisito
Ser independente do ambiente Microsiga Protheus
Melhorias implementas:
Novos padrões de agrupamento (Groups e Docks)
Novo padrão de orientação de títulos dos campos (à esquerda ou acima)
Padrão de fontes personalizável – Deficiente visual
Melhor aproveitamento da área de visualização (não estar limitada a duas colunas)
Novos componentes (Radio e Edição de Imagem)
9
ADVPL II - MVC
FWFormField - View
FWFormField
FWEditPanel
10
ADVPL II - MVC
FWFormGrid - View
FWFormGrid
Desenvolvido para:
Substituir todos os componentes de edição em grid
Possibilitar sua utilização em qualquer container de interface
Utilizar como base as características do componentes FWBrowse
Ser independente do ambiente Microsiga Protheus
Melhorias implementas:
Todas as relacionadas no FWBrowse
11
ADVPL II - MVC
FWFormGrid - View
FWFormFieldView
FWFormGridView
FWBrowse
12
ADVPL II - MVC
FWFormContainer - View
Modelo1 Modelo2
FWFormContainer
Modelo 3 Modelo X
EnchoiceBar/ToolBar
Desenvolvido para:
Substituir a EnchoiceBar
Possibilitar a divisão dos componentes de meta-dado em containers
Ser independente do ambiente Microsiga Protheus
Melhorias implementas:
Possibilidade de rearranjo da interface sem necessidade de codificação pelo cliente
13
ADVPL II - MVC
FWFormContainer - View
Box
Box
FWFormCursor
14
ADVPL II - MVC
ModelDef
Define o modelo da estrutura e persistência de dados, utilizando o modelo
padronizado de codificação
15
Informações técnicas
ADVPL II - MVC
Diagrama de Classe
Main Function ModelDef ViewDef
FWFormModel FwFormView
-cId
-bPost
-bPre +SetModel()
-bCommit +SetOwner()
FWMBrowse +SetOwnerView()
-bCancel
-aModelStruct +MakeControlBar()
-aModeRules +GetValue()
+SetAlias()
+getValidMsg()
+SetLocate() +GetModel () +AddField()
+Activate() +AddRules() +AddGrid ()
+AddLegend() +GetFormData() +Activate ()
+LoadXmlData() +DeActivate()
+SetRelation() +setOperation()
+SetValue() +EnableControlBar()
+GetValue() +createVerticalBox()
FWFormModelStruct
+SetOperation() +createHorizontalBox()
-aFields +VldData()
-aTriggers +CommitData()
+addField() +CancelData()
+RemoveField()
+LoadFields()
+addTrigger()
+LoadTrigger()
+getFields() FWFormViewStruct
-aFields
-aTriggers
MPFormModel +addField()
+RemoveField()
+LoadFields()
+AddFields() +getFields()
+AddGrid()
17
Conteúdo Programático
ADVPL II - MVC
Conteúdo Programático
Browse
Criar Browse (FwMBrowse)
Criar Legendas (AddLegend)
Validação de Ativação do Model (SetVldActive)
Criar Filtro (SetFilterDefault)
Criar Browse com marcação (MarkBrowse)
19
ADVPL II - MVC
Conteúdo Programático
Visualização dos Dados (VIEW)
Criar botões (AddUserButton)
Criar Folder(s) no fonte (CreateFolder)
Usar Outros Objetos não MVC (AddOtherObject)
FORMGRID
GetValue / SetValue / LoadValue
AddLine / DeleteLine / UnDeleteLine
IsDeleted / IsUpdated / IsInserted
GoLine
GetQtdLin
SetNoDeleteLine / SetNoUpdateLine / SetNoInsertLine
20
ADVPL II - MVC
Conteúdo Programático
Geral
Utilizar operação de outra View (FwExecView)
Uso do Model de Uma Rotina (Antiga Rotina Automática)
Pontos de Entrada
Uso do WebService
21
Exercícios
ADVPL II - MVC
23
ADVPL II - MVC
24
ADVPL II - MVC
25
ADVPL II - MVC
26
ADVPL II - MVC
27
ADVPL II - MVC
28
ADVPL II - MVC
29
ADVPL II - MVC
30
ADVPL II - MVC
31
ADVPL II - MVC
32
ADVPL II - MVC
33
ADVPL II - MVC
Exercícios – Aula 01
34
ADVPL II - MVC
Exercícios – Aula 02
Alterar a rotina EXERC04 para:
35
ADVPL II - MVC
Exercícios – Aula 03
Alterar EXERC04 para só deixar alterar turmas com a situação
ATIVA
36
ADVPL II - MVC
Exercícios – Aula 04
Alterar EXERC04 para exibir a informação de quantidade de
linhas lançadas.
37
MVC Designer
ADVPL II - MVC
Num objetivo de facilitar o desenvolvimento, deixando o mais fácil e mais rápido, foi pensado em
desenvolver um RAD(Rapid Application Development), que possibilita a construção de rotina
MVC, de maneira fácil e intuitiva.
39
ADVPL II - MVC
40
Revisão
ADVPL II - MVC
42
ADVPL II - MVC
Questões
Palestrante
Departamento
e-mail@totvs.com.br
43