protheus - mvc

Download Protheus - MVC

Post on 19-Jan-2016

138 views

Category:

Documents

17 download

Embed Size (px)

TRANSCRIPT

  • AdvPl utilizando MVC 1

    AdvPl utilizando MVC

    A arquitetura Model-View-Controller ou MVC, como mais conhecida, um padro de

    arquitetura de software que visa separar a lgica de negcio da lgica de apresentao (a

    interface), permitindo o desenvolvimento, teste e manuteno isolada de ambos.

    Aqueles que j desenvolveram uma aplicao em AdvPL vo perceber, que justamente a

    diferena mais importante entre a forma de construir uma aplicao em MVC e a forma

    tradicional, essa separao e que vai permitir o uso da regra de negcio em aplicaes que

    tenham ou no interfaces, como Web Services e aplicao automtica, bem como seu reuso em

    outras aplicaes.

  • 2 - AdvPl utilizando MVC

    ndice AdvPl utilizando MVC ......................................................................................................................................... 1

    ndice .................................................................................................................................................................. 2

    1.Arquitetura MVC ............................................................................................................................................. 6

    2.Principais funes da aplicao em AdvPL utilizando o MVC ......................................................................... 7

    2.1 O que a funo ModelDef? .................................................................................................................... 7

    2.2 O que a funo ViewDef? ...................................................................................................................... 8

    2.3 O que a funo MenuDef?..................................................................................................................... 8

    2.4 Novo comportamento na interface ........................................................................................................ 10

    3.Aplicaes com Browses (FWMBrowse) ....................................................................................................... 10

    3.1 Construo de um Browse ..................................................................................................................... 10

    3.2 Construo bsica de um Browse .......................................................................................................... 10

    3.3 Legendas de um Browse (AddLegend) ................................................................................................... 11

    3.4 Filtros de um Browse (SetFilterDefault) ................................................................................................. 12

    3.5 Desabilitao de detalhes do Browse (DisableDetails) .......................................................................... 12

    3.6 Campos virtuais no Browse .................................................................................................................... 12

    3.7 Exemplo completo de Browse ................................................................................................................ 13

    4.Construo de aplicao AdvPL utilizando MVC ........................................................................................... 13

    5.Construo de aplicao MVC com uma entidade ....................................................................................... 14

    5.1 Construo de uma estrutura de dados (FWFormStruct) ...................................................................... 14

    5.2 Construo da funo ModelDef............................................................................................................ 15

    5.3 Criao de um componente de formulrios no modelo de dados (AddFields) ..................................... 16

    5.4 Descrio dos componentes do modelo de dados (SetDescription) ..................................................... 16

    5.5 Finalizao de ModelDef ........................................................................................................................ 16

    5.6 Exemplo completo da ModelDef ............................................................................................................ 16

    5.7 Construo da funo ViewDef .............................................................................................................. 17

    5.8 Criao de um componente de formulrios na interface (AddField) ..................................................... 18

    5.9 Exibio dos dados na interface (CreateHorizontalBox / CreateVerticalBox) ........................................ 18

    5.10 Relacionando o componente da interface (SetOwnerView) ................................................................ 18

    5.11 Finalizao da ViewDef ......................................................................................................................... 19

    5.12 Exemplo completo da ViewDef ............................................................................................................ 19

  • AdvPl utilizando MVC 3

    5.13 Finalizao da criao da aplicao com uma entidade ...................................................................... 19

    6.Construo de uma aplicao MVC com duas ou mais entidades ................................................................ 20

    6.1 Construo de estruturas para uma aplicao MVC com duas ou mais entidades ............................... 20

    6.2 Construo de uma funo ModelDef ................................................................................................... 20

    6.3 Criao de um componente de formulrios no modelo de dados (AddFields) ..................................... 21

    6.4 Criao de um componente de grid no Modelo de dados (AddGrid) .................................................... 21

    6.5 Criao de relao entre as entidades do modelo (SetRelation) ........................................................... 22

    6.6 Definio da chave primria (SetPrimaryKey) ........................................................................................ 22

    6.7 Descrevendo os componentes do modelo de dados (SetDescription) .................................................. 22

    6.8 Finalizao da ModelDef ........................................................................................................................ 23

    6.9 Exemplo completo da ModelDef ............................................................................................................ 23

    6.10 Construo da funo ViewDef ............................................................................................................ 24

    6.11 Criao de um componente de formulrios na interface (AddField) ................................................... 24

    6.12 Criao de um componente de grid na interface (AddGrid) ................................................................ 24

    6.13 Exibio dos dados na interface (CreateHorizontalBox / CreateVerticalBox) ...................................... 25

    6.14 Relacionando o componente da interface (SetOwnerView) ................................................................ 26

    6.15 Finalizao da ViewDef ......................................................................................................................... 26

    6.16 Exemplo completo da ViewDef ............................................................................................................ 26

    6.17 Finalizao da criao da aplicao com duas ou mais entidades ....................................................... 27

    7.Tratamentos para o modelo de dados e para interface................................................................................ 28

    8.Tratamentos para o modelo de dados .......................................................................................................... 28

    8.1 Mensagens exibidas na interface ........................................................................................................... 28

    8.2 Obteno de componente do modelo de dados (GetModel) ................................................................ 29

    8.3 Validaes ............................................................................................................................................... 29

    8.3.3 Validao de linha duplicada (SetUniqueLine) ................................................................................ 30

    8.3.5 Validao da ativao do modelo (SetVldActive) ............................................................................ 32

    8.4 Manipulao da componente de grid .................................................................................................... 32

    8.4.1 Quantidade de linhas do componente de grid (Length) ................................................................. 32

    8.4.2 Ir para uma linha do componente de grid (GoLine) ........................................................................ 33

    8.4.3 Status da linha de um componente de grid .................................................................................... 33

    8.4.4 Adio uma linha a grid (AddLine)................................................................................................... 34

    8.4.5 Apagando e recuperando uma linha da grid (DeleteLine e UnDeleteLine) ..................................... 35

  • 4 - AdvPl utilizando MVC

    8.4.6 Permisses para uma grid ............................................................................................................... 35

    8.4.7 Permisso de grid sem dados (SetOptional) .........................................................