Download - AdvPL Utilizando MVC v1 0 - Português
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
1/134
AdP ad MVC 1
AP MVC
A aea MVC, c a checda, ad deaea de fae e a eaa a gca de egc da gca de aeea (aeface), ed deee, ee e ae ada de ab.
Aee e deeea a aca e AdPL ecebe, e aee adfeea a ae ee a fa de c a aca e MVC e a faadca, ea eaa e e a e da ega de egc e acae eeha eface, c e aca aca, be c e e ea acae.
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
2/134
2 AdP ad MVC
AP MC ......................................................................................................................................... 1
..................................................................................................................................................................2
1.A MC .............................................................................................................................................62.P .........................................................................7
2.1 O MD?....................................................................................................................7
2.2 O D?......................................................................................................................8
2.3 O MD?.....................................................................................................................8
2.4 N ........................................................................................................10
3.A B () .......................................................................................................10
3.1 C B .....................................................................................................................10
3.2 C B ..........................................................................................................10
3.3 L B (AL)...................................................................................................11
3.4 F B (FD) .................................................................................................12
3.5 D B (DD) ..........................................................................12
3.6 C B ....................................................................................................................12
3.7 E B................................................................................................................13
4.C ...........................................................................................13
5.C .......................................................................................145.1 C (FF)......................................................................14
5.2 C MD............................................................................................................15
5.3 C (AF) .....................................16
5.4 D (D) .....................................................16
5.5 F MD ........................................................................... .............................................16
5.6 E MD............................................................................................................16
5.7 C D..............................................................................................................17
5.8 C (AF).....................................................18
5.9 E (CHB / CB)........................................18
5.10 (O)................................................................18
5.11 F D.........................................................................................................................19
5.12 E D ............................................................................................................19
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
3/134
AdP ad MVC 3
5.13 F ......................................................................19
6.C ................................................................20
6.1 C MC ...............................20
6.2 C MD ...................................................................................................20
6.3 C (AF) .....................................21
6.4 C M (AG)....................................................21
6.5 C ()...........................................................22
6.6 D (PK)........................................................................................22
6.7 D (D)..................................................22
6.8 F MD ........................................................................................................................23
6.9 E MD............................................................................................................23
6.10 C D............................................................................................................246.11 C (AF)...................................................24
6.12 C (AG)................................................................24
6.13 E (CHB / CB)......................................25
6.14 (O)................................................................26
6.15 F D.........................................................................................................................26
6.16 E D ............................................................................................................26
6.17 F .......................................................27
7. ................................................................................28
8. ..........................................................................................................28
8.1 M ...........................................................................................................28
8.2 O (GM) ................................................................29
8.3 ...............................................................................................................................................29
8.3.3 (L) ................................................................................30
8.3.5 (A)............................................................................32
8.4 M ....................................................................................................328.4.1 Q (L) .................................................................32
8.4.2 I (GL) ........................................................................33
8.4.3 ....................................................................................33
8.4.4 A (AL)...................................................................................................34
8.4.5 A (DL DL).....................................35
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
4/134
4 AdP ad MVC
8.4.6 P ...............................................................................................................35
8.4.7 P (O) ...................................................................................36
8.4.8 G (F / F )...................36
8.4.9 D (ML)..................................................37
8.5 O .........................................................................37
8.6 C.....................................................................................................................................39
8.6.1 A (O) ...............................39
8.6.2 N (OQ)................................39
8.6.3 O (GO) .................................................39
8.6.4 G (FFC) ...............................................................................40
8.7 (A)....................................................................................................41
9. ..............................................................................................................................429.1 C I (AIF)..............................................................................................42
9.2 C (AB).......................................................................43
9.3 (E)...............................................................................................44
9.4 E C (P) .............................................................45
9.5 C (CF) ...........................................................................................................46
9.6 A (AG)...................................................................................................48
9.7 A (A).........................................................................................................50
9.8 A (FA)........................................................................................51
9.9 O (AOO) ........................................................................................................51
10. ...........................................................................................................55
10.1 (FF) .........................................................................55
10.2 (F) ...............................................................................56
10.3 A (P) ...........................................................................56
10.4 C (AF)........................................................................58
10.5 F (FBF)...................................................6110.6 C MEMO (FM) .............................................................................62
10.7 C (A / F).....................................................................63
10.8 (NF)..........................................................................64
10. 9 (NG)........................................64
11.C () ................................................................................64
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
5/134
AdP ad MVC 5
12.O ...........................................................................................................................68
12.1 E (FE)........................................................................................68
12.2 M (FMA) ...........................................................................................69
12.3 I (FA)............................................................................................................69
12.4 C (FLM) ....................................69
12.5 C (FL) ....................................................70
12.6 C (FLM)...................................................70
12.7 O (FMCM) ........................................................................................70
13.B (FMB) ..................................................................................71
14.M B.......................................................................................................................................75
15. .......................................................................................................................................82
16.P .........................................................................................................................9417. MC ............................................................................................................................101
17.1 ...................................................101
17.2 I C .........................................................................................101
17.3 A ML ..............................................................................................................101
17.4 O ML (GMLD)...................................................103
17.5 I ML .......................................................................................104
17.6 (MLD).....................................................................................................104
17.7 (PMLD)..................................................................................105
17.8 O D (G)......................................................105
17.9 E ....................................................................................................106
17.10 ................................107
18. ....................................................................................................................111
18.1 N M .......................................................................................................................111
19. ..................................................................124
19.1 A ................................................................................................12419.2 ............................................................................125
19.3 E ................129
A A .....................................................................................................................................................131
.............................................................................................................................................133
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
6/134
6 AdP ad MVC
1.A MVC
Peaee a eede e a aea .
A aea MVC MVC, c a checda, ad deaea de fae e a eaa a gca de egc da gca de aeea (aeface), ed deee, ee e ae ad de ab.
Aee e deeea a aca e ecebe, e aee adfeea a ae ee a fa de c a aca e e a faadca ea eaa.
E ea e a e da ega de egc e acae e eha eface,c Web Sece e aca aca, be c e e e a acae.
A aea cee bc:
M : eeea a fae d d d aca e fece
fe aa ea dad, , ee c a fcadade d aca. Needef a ega de egc: abea, ca, ea, eacae ec.. O dede dad () ab ee fca a () ad dadfe aead.
V : ee edea de de dad () e ba aea d , ea, ee eb dad.
C: ede ae d , ba daa Mde de dad ()e eeca a cedee.
Paa faca e aga deee, a eea d fea , deeed abaha c a defe de Mde de dad () e , a ae
ee e C ea eca.
Fad be, a gade daa, gade aadga a e ebad a fa de ea e edeee a aca e AdPL ad MVC a eaa da ega de egc daeface. Paa e fe e fa deeda a a cae e d AdPL.
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
7/134
AdP ad MVC 7
2.P APL MVC
Aeea aga de de c de a aca ead .
O deeede e a acae e ee def a ege fe:
MD: Ce a c e a def d , ebad e Mde de dad()c a ega de egc;
VD: Ce a c e def da Ve, ea, e a c da ;
MD: Ce a def da eae de aa de de dad ().
Cada fe e (PRW) de ce a de cada dea fe. S de e aMD, a VDe a MD.
A e fae a aca ead , aacaee a fa, ea aca e de:
P E de;
U W Saa a a;
I eage XML.
Pde e ada, aee a e a a aca da acae e .
U ae a aca e e ea e baea eceaaee eeadad (dc). C ee a a fee, ea e baea e ea e ea a e e de d eadad (dc) ee cda aaee.
2.1 O MD?
A f MdeDef defe a ega de egc aee da de defda:
T (abea) e fa ae d de de dad ();
R ee a edade;
V(de ca e aca);
Pd dad (gaa).Paa a MD ec eceaaee hae a . C a ega deegc aee eaada da , de a a MD eae a aca, a a a deeada MDc bae aa aa cea.
A edade da MD e baea eceaaee e eadad (dc).C ee a a fee, ea e baea e ea e ea a e e de d eadad ee cda aaee.
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
8/134
8 AdP ad MVC
A MDdee e a S Fde da aca.
2.2 O VD?
A f VeDef defe c e a e a c eage c de de dad () ecebed dad fad e , feced a de
de dad (defd a MD)e aeead ead.A de e baeada aee acaee e eadad (dc),ed:
R d cdg da , a bca de eacecda de cee;
S deee de cea. U ee d aea acae de a GRID deede de a. N a c deacae e e GRIDdeedee eeaee fc;
A deee, a ca e a ae e a a ge;
M . Pdee e dfeee aacada aa de ege de ecad, c ae.
A VDdee e a S Fde da aca.
2.3 O MD?
Ua f MeDef defe a eae e e eaada ea aca, a c, , , ec..
Dee ea e fa eecfc c a ege fae:
1. T;
2. N ;
3. R;
4. T T .
E e de e:
1 P
2 V
3 I
4 A
5 E
6 I
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
9/134
AdP ad MVC 9
7 C
5. N ;
6. H M F;
E: ()
( , '', '.021', 0, 2, 0, )
( , '' , '.021', 0, 3, 0, )
( , '' , '.021', 0, 4, 0, )
( , '' , '.021', 0, , 0, )
( , '' , '.021', 0, , 0, )
( , '' , '.021', 0, , 0, )
Ne e 2 ae a a chaada dea de a aca, ea fa efeca a ade deead fe (PRW).
A ea dee 2 ae e fa:
See efeecae a VD de fe, ea a f ee ea ada aca.
Paa faca deee, a MDeceaa da ege fa:
()
'' '.021' 2 0
'' '.021' 3 0
'' '.021' 4 0
'' '.021' 0
'' '.021' 0
'' '.021' 0
O ead fa e, e dfee aea a fa de c, a 2 e a fa de cad e e de e, a eea ae e a a fc.
A MDdee e a S Fde da aca.
Uade a f FWMVCM, be e ad c a e: Vaa,Ic, Aea, Ec, I e Ca. Dee e aad c ae e dfe.
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
10/134
10 AdP ad MVC
P ee:
()
""
I caa M eaaee c ee ae. Paa a deahe ea
ca 12.7 O (FWMVCM).2.4 N
Na acae deeda e adca, a a cc de a ea deaea fechae a e ea a .
Na acae e , a a eae de c e aea, a eaeceaa e da ebee a eage de e a ea f be cedda.
3.A B (FWMB)
Paa a c de a aca e B, a a caeFWMB.
Ea cae ebe be Be cd a a de eadad (dc).
Ea cae aa , acae e eab de a. N a ae.
Sa :
Sb cee de
Red e de ae, e ca de ad de e;
Se deedee d abee Mcga Phe.
E aeea c :
Pada de egeda de ce;
Meh abdade aae de f;
Pad de ce, fe e egeda defda e Defcee a;
Red d e de eae SGBD ( 3 ee a d);
N ad a.
3.1 C B
Faae a de ca fe e caaceca aa e acae c .
3.2 C BIca a c bca de .
Peaee ce be da ege fa:
Def a abea e e ebda a ad d SA. A ca,de, ec..
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
11/134
AdP ad MVC 11
A eb bd e eadad (dc).
('0')
Def e e ebd c d SD.
(' /')
E a fa aa a cae.
()
C ea ea bca c a aca c .
O aeead aacaee e:
Pea de eg;
F cfge;
Cfga de ca e aaca;
Ie.
3.3 L B (AL)
Paa de egeda a d AL, e a egeae:
( , , )
E:
( "0'1'", "", "" )
( "0''", "" , "" )
R a ee eaa def a egeda.
C ae e defe a c de cada e da egeda.
S :
GREEN Paa a c Vede
RED Paa a c Veeha
YELLOW Paa a c Aaea
ORANGE Paa a c Laaa
BLUE Paa a c A
GRAY Paa a c Ca
BROWN Paa a c Ma
BLACK Paa a c Pea
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
12/134
12 AdP ad MVC
PINK Paa a c Ra
WHITE Paa a c Baca
D a e e ebda aa cada e da egeda
O:
Cada a da egeda e a aacaee a de f.
Cdad a a a ega da egeda. Se hee ega cfae e ebdaa egeda cedee 1 ega e f afea.
3.4 F B (SFD)
Se e def f aa a d SFD, e a ege ae:
E:
"''"
""
A ee de f e AdPL.
O f defd a aca aa a bdade d fae e f. Of fe e e acad e c c defd a aca (cd de
AND).
E:
Se a aca f defd e e ebd cee e ea dca, e fe f aa eb aea cee d ead de S Pa, e ebd ceeea dca d ead de S Pa. F eecad f d e ada eead f ga da aca.
O:O f da aca de e deabad e .
3.5 D B (DD)
Aacaee aa B ebd, e deahe, dad da ha cada.Paa deaba ea caaceca a d DD.
E:
3.6 C B
Naee, aa e eb ca a , fae da f P.
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
13/134
AdP ad MVC 13
N Be ea ca e a ada a ae, , ad ee eca af P a def de ca a e a bae de dad SGBD (a TOTVSDA), Be acecea INNER JOINa e e eada aSGBD, ehad a deeeh aa a ea d dad.
Pa, ee e a f Paa eb ca a.
3.7 E B
011()
//
: ():()
//
:('0')
//
:( "0'1'", "", "" ):( "0'2'", "" , "" )
//
:( "0'1'" )
//
:(' /')
//
//:()
// :()
4.C APL MVC
Ica aga a c da ae e da aca, e a fe de MD,e ce a ega de egc e a VDe ce a .
U e dee e bead e, a c a MD, MDe a VDe fe.
Se aa a deeada a f ec abaha e a de de de dad(), a aca dee e ebada e fe (PRW) cada c aea aMDe a VD.
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
14/134
14 AdP ad MVC
5.C MVC
Ma c ca a aca e c aea a edade eda.
5.1 C (FWFS)
A ea ca e eca fae ca a ea ada de de dad ().
A ea be e c a defe d dad ecea aa daMD aa a VD.
Ee be c:
Ea d Ca;
dce;
Gah;
Rega de eeche (ee fee); Ec.
C d aeee abaha cad a eadad (dc) dMcga Phe, ee abaha cad a ea. Ea ea, a e, ede e cda a a d eadad.
C a f FWFSa ea e cada a a d eadad.
Sa ae :
( , )
Ode:
T T da c da ea: 1 aa Mde de dad () e 2 aa ()
A Aa da abea eadad;
E:
Lca SZA0 := FWFSc( 1, 'ZA0' )
N ee, be SA0 e a ea aa e de de dad
(). O e ae (1) dca e a ea aa de e egdae dca a a abea d eadad e ada aa a ca da ea (0).
Lca SZA0 := FWFSc( 2, 'ZA0' )
N ee dad, be SA0e a ea aa e a (). Oe ae (2) dca e a ea aa e a e egdae dca a a abea d eadad e ada aa a ca da ea (0).
Ma adae ee c ca ea aaee e c eeca ca e
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
15/134
AdP ad MVC 15
fa ae da ea e aae eecfc da ea.
I: Paa de de dad (), a f FWFS, a aa aea d ca e ce a abea deedeeee d e, d. Cdea ab ca a.
Paa a () a f FWFS, a aa a ea cacfe e, d.
5.2 C MD
C f d aeee, ea f defda a ega de egc de dedad ().
Ea c a defe de:
Edade eda;
Vadae;
Reacae; Peca de dad (gaa);
Ec.
Ica a f MD:
(
( ''
Cd Mde
(( ''
MPFM a cae ada aa a c de be de de de dad().
Dee da defcad() aa de c d e ab aa cadacee.
Ea a caaceca d MVC, d cee d de da dee e ID, c f, GRID, , ec.
COMP011M defcad () dad a Mde, ae eaa c ea a
defcad() d Mde:
Se a aca a F, defcad() d de de dad ()dee e e da f ca e ea ca ecedada aa faca acdfca. P ee, e ea eceed a f XPTO, defcad() dde de dad ()de e XPTO.
Se a aca a U F defcad() d de de dad ()NO de e e e da f ca, caa d de
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
16/134
16 AdP ad MVC
eada e cad aacaee ad deee a aca eMVC. I e a deahad fee (e ca16.P MVC).
5.3 C (AF)
O dAFadca cee de f a de.
A ea d de de dad ()dee ca, bgaaee, c ceede f.
E:
Dee da defcad() aa cada cee d de.
A0MASTER defcad() dad a cee de f de, SA0a ea e e ada f e e f cda aeee ad
FWFS, e e egd ae () f fad, e ee 1 cee d de, P d de de dad () e a e cee e .
5.4 D (SD)
See defd a dec aa cee d de.
C d SD adca a dec a de de dad (), eadec e ada e gae c e ee.
Adca a dec d :
Adca a dec d :
Paa de e c cee aece e eddae da a decaa de de dad () c d e a aa cee, a adeda de de hae a de cee ea a fca a caa.
5.5 F MD
A fa da f MD, dee e ead be de de de dad ()geada f.
5.6 E MD
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
17/134
AdP ad MVC 17
0 ( 1, '0' )
//
//
()('011' )
//
( '0', /**/, 0)
//
( ' /' )
//
( '0' )( ' /' )
//
5.7 C VD
A () ee edea de de dad () e ba aea d , ea, ee eb dad.
O VDc a def de da a ae a da aca.
I : ()
A ()ee abaha baeada e de de dad (). Cae be de de de dad baead MDe deea.
C a f FWLMbe de de dad ()e e defd e fe, ca fe, a ada eda e e de deae fe e , c de eaea e de de dad()e a de a ().
( '011' )
COMP011MVC e d fe de de ee be de de dad ().
I (V)
()()
FWFV a cae e dee e ada aa a c de be de ().
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
18/134
18 AdP ad MVC
Def a de de dad ()e e ad a ().
:( )
5.8 C (AF)
Adca () ce d f (aga E), aa a dAF
A ()dee ca, bgaaee, c cee d f.
:( '0', 0, '0' )
Dee da defcad() aa cada cee d ().
VIEWA0 defcad() dad a cee da (), SA0 aea e e ada e A0MASTER defcad() d cee d de dedad ()cad a ee cee da ().
Cada cee da ()dee e cee d de de dad ()eacad, eae a de e dad d A0MASTER e ebd a () cee VIEWA0
5.9 E (CHB /CVB)
See eca ca 1, be, aa ecebe ag eee da (). E cae ee ha eca aa .
O d aa ca de ha :
:( '' , 100 )
Dee da defcad() aa cada cee da ().
TELA defcad() dad a e e 100eeea ecea da ea ee ad e B.
N MVC h efeca a cdeada aba de ea, cee a ee A C, ea, ca d de f ed
5.10 R (SOV)
Peca eaca cee da ()c aa eb, aa a d SOV.
1D , , P, D,
,
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
19/134
AdP ad MVC 19
:( '0', '' )
Dea fa cee VIEWA0e ebd a ea ad b TELA.
5.11 F VD
A fa da f VD, dee e ead be de ()gead
5.12 E VD
()
// ()
:= ( '011' )
//
0 := ( 2, '0' )
//
//
:= ():()
//
:( )
//
// ( ):( '0', 0, '0' )
// ""
:( '' , 100 )
// () ""
:( '0', '' )
//
5.13 F
Dea fa ca a aca de ad MVC de h aea a edadeeda.
C a MD;
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
20/134
20 AdP ad MVC
C a VD.
Ea aca ea eaee acae de M1e aee fea.
Vee a eg a c de acae ad da a edade.
6.C MVC
V a aga a c de a aca de ea ada aea a edade.Vee a c de da a edade e.
A c da aca eg e a e a aga: C daMDe da VD. A dfeea bca e aga cada a dea a de cee e ee e eaca.
6.1 C MVC
C decee, a ea ca e eca fae ca a ea ada de de dad (). Te e ca a ea aa cada edade e acad de. Se fe 2 edade, 2 ea, e fe 3 edade, 3 ea e a dae.
Mae a aca de e 2 edade e a ea de deedca deMD(PF), c ee Pedd de Veda, de e cabeahd edd ea M (P) e e ea D(F)
A c da ea ea:
1 := ( 1, '1' ) 2 := ( 1, '2' )
N ee ae be SA1e a ea aa e ada e Mdede dad ()aa a edade M(P) e SA2 aa a edade D(F).
O e ae (1) dca e a ea aa e ada e de de dad()e egd dca a a abea e ada aa a ca da ea.
1 := ( 2, '1' )
2 := ( 2, '2' )
N ee aca be SA1e a ea aa e ada e a ()aa a edade M(P)e SA2 aa a edade D(F). O eae (2) dca e a ea aa e ada e a ()e egddca a abea e ada aa a ca da ea.
6.2 C MD
Ica a f MD.
()
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
21/134
AdP ad MVC 21
1 := ( 1, '1' )
2 := ( 1, '2' )
//
Obee e cdg, he a ca de 2 ea a aa cada edade.
Cea a c d Mde
:= ():( '021' )
Dee da defcad() aa Mde de dad ()e aa cada ceed Mde.
COMP021M defcad() dad a Mde de dad ().
6.3 C (AF)
O dAFadca a de cee de f.A ea d de dee ca, bgaaee, c cee de f.
:( '1', /**/, 1 )
Dee da defcad() aa cada cee d Mde.
A1MASTER defcad() dad a f Mde, SA1 a ea ee ada f e e f cda aeee ad FWFS;ee egd ae () f fad, e ee 1 cee dMde, Pd de de dad ()e, a e cee e .
6.4 C M (AG)
A ea de deedca ee a edade de MD, ea, h 1 cca dPaa cca d F(1)
Qad a edade ce ee de e ea a, dee def cee de Gaa ea edade.
O dAGadca a de cee de .
:( '2', '1', 2 )
Dee da defcad() aa cada cee d Mde.
A2DETAIL defcad() dad a cee Mde, SA2 a ea ee ada cee e e f cda aeee ad FWFS, ee egd ae () dea e f fad, e ea edade deededa 1 (), aA1MASTER cee e deA2DETAIL.
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
22/134
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
23/134
AdP ad MVC 23
adca a dec d Mde de Dad, ea dec e ada e gaec e ee.
Adca a dec d de de dad.
:D( ' ' )
Adca a dec d cee d de de dad.:G( 'A1AE' ):D( 'D ' )
:G( 'A2DEA' ):D( 'D A D ' )
Ne e dea e def a dec aa de e a aa cada cee dde.
6.8 F MD
A fa da f MD, dee e ead be de Mde de dad ()geada f.
6.9 E MD F D()
// C D
A1 := FF( 1, 'A1' )
A2 := FF( 1, 'A2' )
//
// C D
:= F():( 'C021' )
// A
:AF( 'A1AE', /**/, A1 )
// A
:AG( 'A2DEA', 'A1AE', A2 )
// F
:( 'A2DEA', 'A2FA', 'F( "A2" )' , 'A2CA','A1CA' , A2>( ( 1 ) ) )
// A D
:D( ' ' )
// A C D
:G( 'A1AE' ):D( 'D ' )
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
24/134
24 AdP ad MVC
:G( 'A2DEA' ):D( 'D A D ' )
//
6.10 C VD
Ica a f.
F D()
A ()ee abaha baeada e de de dad ().
Ca be de Mde de dad baead MDe deea.
C a f FWLMbe de de dad ()e e defd e fe, ca, fe, a ada ede e e de de dad()de ae fe e , c de eaea e Mdede dad ()e a de a ().
:= F( 'C021C' )
COMP021MVC e d fe de de ee be .
Cea a c da ()
:= FF():()
FWFV a cae e dee e ada aa a c de be de ().
Def a Mde de dad ()e e ad a ().
:( )
6.11 C (AF)
Adca a a () ce d f (aga E), aa a dAF.
A ()dee ca, bgaaee, c cee d f.
:AF( 'EA1', A1, 'A1AE' )
Dee da defcad() aa cada cee d (). VIEWA1 defcad() dad a cee da (), SA1 a ea e eada e A1MASTER defcad () d cee d Mde de dad ()cad a ee cee da ().
Cada cee da ()dee e cee d Mde de dad ()eacad, eae a de e dad d A1MASTER e ebd a () cee VIEWA1.
6.12 C (AG)
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
25/134
AdP ad MVC 25
Adca () ce d (aga GD), aa a dAG.
:AG( 'EA2', A2, 'A2DEA' )
Dee da defcad() aa cada cee d ().
VIEWA2 defcad() dad a cee da (), SA2 aea e e ada e A2DETAIL defcad () d cee d Mde dedad ()cad a ee cee da ().
Cada cee da ()dee e cee d Mde de dad ()eacad, eae a de e dad d A2DETAIL e ebd a () cee VIEWA2.
O:Ne e a faa e edade e a a, e eaf d de de dad. A () efee dad d de.
6.13 E (CHB /
CVB)
See eca ca ce, be, aa ecebe ag eee da ().
E cae ee ha eca aa .
O d aa ca de b ha :
:CHB( 'E', 15 )
Dee da defcad() aa cada cee d (). SUPERIOR defcad() dad a e e 15eeea ecea da ea e e ade .
C ee d cee eca def a b aa egd cee
:CHB( 'FE', 85 )
INFERIOR defcad() dad a e e 85 eeea ecea da eae e ad ee.
O:A a d ecea d be de e e dee e ee 100%.
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
26/134
26 AdP ad MVC
6.14 R (SOV)
Peca eaca cee da ()c aa eb, aa a d SOV.
:( 'EA1', 'E' )
:( 'EA2', 'FE' )
Dea fa cee VIEWA1 e ebd a ea e b SUPERIOR e cee VIEWA2e ebd a ea e bINFERIOR.
O.: Ne e dad da edade Pca 15% da ea e da edade F85%, :
I M I V I B
ZA1MASTER VIEW_ZA1 SUPERIOR (15%)
ZA2DETAIL VIEW_ZA2 INFERIOR (85%)
6.15 F VD
A fa da f VD, dee e ead be de ()gead.
6.16 E VD
F D()
// C D := F( 'C021C' )
// C
A1 := FF( 2, 'A1' )
A2 := FF( 2, 'A2' )
//
// C
:= FF():()
// D
:( )
// A ( E)
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
27/134
AdP ad MVC 27
:AF( 'EA1', A1, 'A1AE' )
//A G ( G)
:AG( 'EA2', A2, 'A2DEA' )
// C ""
:CHB( 'E', 15 )
:CHB( 'FE', 85 )
// (D) ""
:( 'EA1', 'E' )
:( 'EA2', 'FE' )
//
6.17 F
Dea fa ca a aca dead de h 2 edade eda.
C a MD;
C a VD.
Ea aca ea eaee acae de M3e aee fea.
Se a ecedade f a c de a aca c a de 2 edade ce e e e ad aa 2. A dfeea e ee a adade de cada cee be e e cad.
Paa de de dad ()e a aca e 3 edade, e ec 3 ea, 3cee AF AG e 2 eacae. Se a aca e 4 edade,e ec 4 ea, 4 cee AF AG e 3 eacae ea dae.
Paa a () e a aca e 3 edade, e ec 3 ea, 3ceeAFAGe 3 be. Se a aca e 4 edade, e ec4 ea, 4 ceeAFAGe 4 be e a dae.
O de de dad e a cece a edda e e cece a adade de edadeeacada. P a fa bca de c ee a ea.
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
28/134
28 AdP ad MVC
7.T
Aga e abe c c a aa aca e ad edade, e deae ee ca aae eecfc aa aga ecedadea c de a aca aa a ega de egc e aa , e e de
heaa a da ee a ea.
E:
Vadae;
Pee;
Mea e ha;
Obe e ab ae;
Peca d dad;
Ca be;
Ca fde; ec.
8.T
Vee ag aae e de e fe de de dad ()cfe aecedade:
Vadae;
Cae;
Maa da .
Obe e ab ae a de de dad ();
Gaa d dad aaee;
Rega de eeche.
8.1 M
A eage ada caee dae a adae fea de de dad.
V : U bc d a eaa da ega de egc da .
A ada ce eecad de da ega de egc e a eea eagede e e e ebda a , ce e dee e eecad a , ea, de e eecad a ega de egc.
Paa abaha ea a f fe aae aa a f H.
A f Hde e ada a fe de d de de dad (), a gada ea eage e ea e ebda ad ce a aa a.
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
29/134
AdP ad MVC 29
P ee, a deeada f ce:
== 0 //
H( ,, 'H',, ' .', 1, 0 )
E
Sd e a eage de e f acada e e 0 (e), eee e ebd ada a , de e bead a fe. Vce e a aa ea f Hada acece, , ad ce e aaa a , a eage ebda.
Ee aae f fe aea aa a f H, fe c MS, MI,MYN,A, ME,ec. e ada.
8.2 O (GM)
Dae deee a ee ee e aa de de dad (),aa faca ea aa de a de abaha c de d, abaha
c a ae eecfca ( cee) de cada e.
Paa a d GM.
A2 := :G( 'A2DEA' )
MA2 be e c cee d de de dad () eA2DETAIL defcad() d cee e ee.
Se e a ae d de de dad () e e ega de ceab de a GM.
:= A2:G()
M be e c de de dad ()ce.
8.3 V
De d de de dad eee de de e eda a adaeecea ega de egc. O de de dad ()c d e e ecada cee d de ab.
8.3.1 P
a ada eaada a eeche d de de dad ()e a cfa.Sea eaee a ag ce de TO.
O de de dad () fa a ada e ca bga de d cee d de fa eechd, ea ada eecada a .
Def a ada d de de dad () c bc de cdg 3ae da cae de c d de MPFM.
:= F():( 'C011',
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
30/134
30 AdP ad MVC
O bc de cdg ecebe c ae be e de e e de e aad f e fa a ada.
011( )
..
// ...
A f chaada e bc de cdg dee ea a gc, de e .T. (edade)a ea eaada e .F. (fa) eaada.
8.3.2 P
E de de dad () de ea cee de ,de e defda aada e e eecada a ca da ha d . Sea eaee a ag
ce de LO.
Def a ada de ha c bc de cdg 5 ae d dAG.
( '2', '1', 2, , 021()
O bc de cdg ecebe c ae be e a ae d de cedeeaea a e e de e aad aa a f e fa a ada.
A f chaada e bc de cdg dee ea a gc, de e .T. (edade)a ca de ha eaada e .F. (fa) eaada.
8.3.3 V (SUL)
E de de dad de ea cee de de e defd a ca e de e ee de dee .
P ee, age Pedd de Veda e de e e cdg d de ea, de def de ee cae, e eca ecee ehaf eecfca aa .
O d d de de dad ()e dee e ad SUL.
//
( '2' )( '2' )
N ee ae ca A2_AUTOR de e e ced eed a .Tab de e fad a de ca, cad a ce c chaeca.
( '2' )( '2', '2' )
N ee ae a cba d ca A2_AUTORe A2_DATA de e eced eed a .
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
31/134
AdP ad MVC 31
Iddaee a ee a de ce, a e c .
ZA2_AUTOR ZA2_DATA
001 01/01/11 O
001 02/01/11 O
002 02/01/11 O
001 01/01/11 N ed
8.3.4 P
E de de dad de ea cee de de e defda a adae e eecada a ae da ha d . Pde eede ea ae aab de ae, aaga ecea a ha.
Def a ada de ha c bc de cdg 4 ae d dAG.
( '2', '1', 2, , , , 021(, , , )
O bc de cdg ecebe c ae:
U be e a ae d de cedee aea a ;
O e da ha;
A a eecada:
SETVALUE Paa a ab de ae;
DELETE Paa dee e ecea da ha.
Ca de e ea abd a, aa dee e ecea da ha aad.
Ee ae de e aad aa a f e fa a ada.
A f chaada e bc de cdg dee ea a gc, de e .T. (edade)a ca de ha eaada e .F. (fa) eaada.
U ee da a da ada de ha:
023( , , , )
..
()
()
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
32/134
32 AdP ad MVC
//
== .. ==
:= ..
( ,, '',, ' .' +;
+ ' ' + ( ( ) ), 1, 0 )
N ee ae e eda a dee da ha a ea de aea.
8.3.5 V (SVA)
a ada eaada e da aa d de, ed a a aa.
Def a ada da aa ad d SVA.
:( 011( ) )
O bc de cdg ecebe c ae be e d de cedee,, de ada e dad caegad, a caga d dad fea a a aaa.
A f chaada e bc de cdg dee ea a gc, de e .T. (edade)a aa eaada e .F. (fa) eaada.
8.4 M
Vee aga ag aae e de e fe cee de de de de dad ()
8.4.1 Q (L)
Paa e be a adade de ha ddee a d L.
A ha aagada ab cdeada a cage.
021( )
:= ..
2 := :( '2' )
:= 0
:= 1 2:()
// ...
Se f aad ae d L, e e aea a adade deha aagada da .
:= 2:( .. ) //
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
33/134
AdP ad MVC 33
8.4.2 I (GL)
Paa ea , ea, da a ha, de e cad,a d GL aad c ae e da ha de e deeaca.
021( )
:= ..
2 := :( '2' )
:= 0
:= 1 2:()
2:( )
// ...
8.4.3 S
Qad ea faad d de de dad ()e 3 eae bca: I,A E.
Qad a ea de c, d cee d de de dad ()ecd, ee acc ab e aca ec, e ea a ea, d cee e e dad ecd.
P, ad faa da ea de aea, be a.
E de de dad de ea cee d, a ea de aea de e ha cda, aeada ecda, ea, de de dad ()ea eaea a de e d a 3 eae e a ha.
E e abe e eae a ha fe e ege d de :
ID: Ifa e a ha f aagada. Read .T. (edade) a ha faagada.
IU: Ifa e a ha f aeada. Read .T. (edade) a ha faeada.
II: Ifa e a ha f eda, ea, e a ha a a .Read .T. (edade) a ha f eda.
E:
23()
:= ()
2 := :( '2' )
:= 0
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
34/134
34 AdP ad MVC
:= 0
:= 0
:= 0
:= ()
:= 1 2:()
2:( )
2:()
++
2:()
++
2:()
++
( ,, '',, ' ' + + ;
( ( ) ) + ' ' + + ;
( ( ) ) + ' ' + + ;
( ( ) ) + ' ' + ;
, 1, 0)
Ma de d de a de ea .T. (edade) aa a ea ha. Se a haf cda, IIea .T. (edade), e egda ea f aeada, IUea .T. (edade) e e egda a ea ha f aagada, ID abea .T. (edade).
8.4.4 A (AL)
Paa adca a ha a cee dd de de dad ()a dAL.
++
2:() ==
//
O d AddLe ea a adade a de ha da. Se a 2 ha ed ce be a ad da ha, AddLe eaa 3, e ce ag beaea 2, a a ha f eda.
O aa a e e be cedda de e ag ca bga fad, a ada da ha e .F. (fa), ag a adade a de ha
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
35/134
AdP ad MVC 35
aa , ee.
8.4.5 A (DL UDL)
Paa aaga a ha de cee de d de de dad ()a d DL.
: ()
2 : :( '2' )
: 0
: 1 2:()
2:( )
!2:()
2:()
O d DLea .T. (edade) e a dee f be cedda. U aae ea a ada da ha ea .F. (fa).
Se e ecea a ha da e e aagada a dUDL.
: ()
2 : :( '2' )
: 0
: 1 2:()
2:( )
2:()
2:()
O d UDL ea .T. (edade) e a ecea f be cedda. U aa e ea a ada da ha ea .F. (fa).
8.4.6 P
Se e a e a ha da a e eda, aeada aagada, aafae a ca, ee, a d d aba:
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
36/134
36 AdP ad MVC
SNIL:N e ee eda ha a .
E:
:( '2' ):( .. )
SNUL: N ee aea a ha d.
E:
:( '2' ):( .. )
SNDL: N ee aaga ha d.
E:
:( '2' ):( .. )
Ee d de e fad e da def d de de dad ().
8.4.7 P (SO)
P ad, ad e de de dad ()de h cee de , deee fada e e a ha ee.
Ma a aga de de e cada de d e e ace. de , ee aa cada d ace, a ab eed e ace ag. A, ea ega de e dee hae e e aha fada a de e acada.
Nee ca a d SO aa e e eha ee a ha dgada, ea, aa de e a dga de dad d ca.
Ee d dee e fad a def de de dad ().
E:
:( '2' ):( .. )
Se f ca e a ea he ca bga, e adad e eeca fa fad e ee e a ha fe aga aea e ae ca.
O dIOde e ad aa abe e cee de e eacaaceca. Se ea .T. (edade) cee ee e ea ha
dgada. Ee d de e e adae.8.4.8 G (FWSR /FWRR )
U cdad e dee e ad ecee a f, e e ea aa e , eaa a ea da abea e deca.
Aagaee, dee e e cdad aa cee d edeca e a f, c d d GL, ee.
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
37/134
AdP ad MVC 37
Paa ae a fe FWSRaa aa cae da ha d d de de dad ()e FWRR aa eaa ee cae.
E:
23()
: ()
2 : :( '2' )
: 0
: ()
: 1 2:()
2:( )
//
( )
O.: O FWSR gada cae de d d de de dad()e FWSReaa cae de d d .
8.4.9 D (SML)
P ad a adade a de ha de cee de 990.
Se f ece aea ea adade ae dSML. Ee d deee ad a def d de de dad (), ea, a MD.
I: A adade e efee ee a a de ha, deedeeee e eae aagada .
8.5 O
A eae a c e fae e de de dad () be e abae.
Paa a d d aba:
GV: Ob dad d de de dad (). Pde be dad a a dde ce a a de cee dee.
A a d de de dad ()ce.
: :( '1', '1 )
Ode A1MASTER defcad () d cee e A1MUSICA ca d a e deea be dad.
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
38/134
38 AdP ad MVC
O a a de cee d de de dad ().
2 : :( '1' )
: 2:('1 )
SV: Ab dad a de de dad (). Pde ab dad a a
d de ce a a de a ae dee.
A a d de de dad ()ce
:( '1', '1', '000001' )
Ode A1MASTER defcad () d cee e A1MUSICA ca a e deea ab dad e 000001 dad e e deeaab.
O a a de cee d de de dad ().
2 : :( '1' )
2:('1', '000001' )
Qad a SVaa ab dad a ca a adaedee ca eecada e ab daad e gah.
O SVea .T. (edade) e a ab f be cedda, aa e ea de e e dad afe a ada d deed (WHEN) f afe, ec.
LV: Ab dad a de de dad (). Pde ab dad a ad de ce a a de a ae dee.
A a d de de dad ()ce
:( '1', '1', '000001' )
Ode A1MASTER defcad () d cee e A1MUSICA ca de e deea ab dad e 000001 dad e e deea ab.
O a a de cee d de de dad ().
2 : :( '1' )
...
2:('1', '000001' )
A dfeea ee LVe SV e LV eeca a adaee daa gah d ca. Ee fa a ab de dad.
I: Ue ee SV aa ab dad, ee LV. S e ad f eeaee ece.
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
39/134
AdP ad MVC 39
8.6 C
Vee c aea ag d cae ade d de de dad ().
8.6.1 A (SOV)
Se e e deead cee d de de dad () eaaea e e dad, e ea aea aa aa, a dSOV.
Ee d dee e fad e da def d Mde.
E:
:( '2' ): ( .. )
8.6.2 N
(SOQ)
A eca d dad (gaa) fea aacaee e de de dad ().
Se e e deead cee d de de dad ()ea ce/ aea e e dad, , e ee dad ea gaad, a d SOQ.
Ee d dee e fad e da def d Mde.
E:
:( '2' ): ( .. )
8.6.3 O (GO)
Paa abe a ea c e de de dad ()e abahad, a d GO.
Ee d ea:
O a 3 ad a ;
O a 4 ad a ;
O a 5 ad a . 023( , , , )
: ..
: :()
: :()
//
'' .. 3
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
40/134
40 AdP ad MVC
..
( ,, '',, ' .' + +
' ' + ( ( ) ), 1, 0 )
N fa cada a dea de ca #DEFINE aa faca deee e a a ea de a aca a fc.
Paa a ee #DEFINE ec c a ege dea fe:
#
'.'
Paa a eae d de de dad ()de e ad:
MODELOPERATIONINSERTaa ;
MODELOPERATIONUPDATEaa ;
MODELOPERATIONDELETEaa .
A ee dad aca de ecee:
'' ..
8.6.4 G (FWFC)
A gaa d dad d de de dad () (eca) eaada e de gaad d dad da edade d .
P, de hae a ecedade de e efea gaae e a edade e aca d de. P ee, ad c Pedd de Veda ec aaa a de edd e abe d Cada de Cee. O cabeah e e d edd faeae d de e e gaad, cada de Cee fa ae, a eca eaaad ab.
Paa ee de a e e e da gaa d dad.
Paa def bc de cdg 4. ae da cae de c d dede dad ()MPFM.
()( '011', , , )
O bc de cdg ecebe c ae be e de e e de e aad f e fa a gaa.
Dfeeeee d bc de cdg defd de de dad ()aa ada eceea a adae fea e , bc de cdg aa gaa b agaa d dad. E a e defd bc de cdg aa gaa, aa eeabdade da f cada, a gaa de d dad ce dad d dede dad e .
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
41/134
AdP ad MVC 41
Paa faca deee f cada a f FWFCe fa a gaa ddad d be de de de dad ()fad.
011 ( )
( )
//
//
I: N dee e fea abe de dad de ()de da fde gaa. Cceaee a e ca a gaa, de de dad () a da a ada, a ea ab a, ee a de afae a ada dca ad de de dad () adad aee e e ce agaa de dad cee.
8.7 R (AR)
Ua a caaceca e f eeada a ega de eeche, de eeche de ca deede d eeche de .
P ee, de def e ca Cdg da La de a edade, de eeechd a eeche d ca Cdg d Cee.
A ega de eeche de e de 3 :
T 1 PV
Adca a ea de deedca ee ca d f, edd aab de a ca ca de deedca eha a abd. P
ee, eeche d ca Cdg da La de e eechd a eeche d ca Cdg d Cee.
T 2 PV
Adca a ea de deedca ee a efeca de ge e de,cad a eaaa d de e ca de aaa da ge. P ee,a eeche d ca Cdg da La a ada eaaad ca Cdgd Cee. ea aead.
T 3 P PV
S 1 e 2 aeaee
E:
( '3', '3', '3', '3', 1 )
OA3MASTER defcad() d cee d de de dad ()de ea ca de de, A3LOJA ca de, egd A3MASTER d ceed de de dad ()de e ca de ge,A3DATA ca de ge.
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
42/134
42 AdP ad MVC
9.T
Vee ag aae e de e fe a ()cfe a ecedade.
Ca de be;
Ca de aa; Agae de ca; Icee de ca;
Ec.
9.1 C I (AIF)
Pde fae c e ca d de de dad () e faa ae de cee de ,a e ceead aaee a cada a ha eda.
P ee, age Pedd de Veda, e, e d e de e ca ceea.
Paa a dAIF.
E:
( '2', '2' )
Ode VIEWA2 defcad() d cee da (), de e eca ca eA2ITEM e d ca e e ceead.
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
43/134
AdP ad MVC 43
Vaee e :
I: Ee cae acece ad a aca e ed ada a (). Qad de de dad ad deaee ( , aaca, ec.) ca ceea e e e fad aee.
9.2 C (AUB)
Paa a ca de be adca a baa de be da a dAUB.
E:
( ' ', '', 021() )
Ode I A, e e e aeead b,CLIPS e da aged RPO2 e e ada aa b e 3 ae bc de cdg e e eecada aca b.
2PO M P
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
44/134
44 AdP ad MVC
Vaee e:
9.3 T (ETV)N de ab aa defca cada cee da , aa a d ETV.
E:
('2','')
Ode VIEWA2 defcad() d cee da (), e 'MUSICAS' e deea aa cee
Pde ada a:
('2')
Ode e e ebd e f defd d SDd de dedad () aa cee.
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
45/134
AdP ad MVC 45
Vaee e:
9.4 E C (SVP)
Ua a caaceca e da , aa cee de ,fae a e e a ed de dad deaee a e/ e a ea a def.
Paa a d SVP. Ee d haba agcae eecfc a cee da (), cfe a dea ecebda.
E:
:( 'A2', "ABA", 60 )
Ode VIEWA2 defcad() d cee da (), de e eca ca e ENABLEDGRIDDETAIL a dea e haba cae.
60 ecea e f de ed ca d aah e cee de ca aaee. Eefcad ecaee, e aa cee de fdefd e ee a 50% da ea, a e cca 60 (60%) ae, e e dcae d 50% dead a cee de , 60% e ad aa f deed.
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
46/134
46 AdP ad MVC
Vaee e:
9.5 C (CF)
E de ca aa de e ccad cee da ().
Paa a d CF.
E:
:C( 'AA' )
Dee da defcad() aa cada cee da (). PASTAS defcad() dad aa.
A a ca da aa ca, eca ca a aba dea aa. Paa ad
dAS.
P ee, cae 2 aba:
:A( 'AA', 'ABA01', 'C' )
:A( 'AA', 'ABA02', '' )
Ode PASTAS defcad() da aa, eABA01eABA02 ID dad a cada abae CeI de cada aba.
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
47/134
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
48/134
48 AdP ad MVC
()ca ea aa. Se cee ccad e a da aba aadefda eadad, ea aa e cada de da aba de ee e eca.
Vaee e:
9.6 A (AG)
Ua a caaceca e aa da aa cee def, fae agae d ca a ea.
P ee, e cada de cee de e ca aa edee de eega,cedca e faae. Paa a aa eh dea aga cade cada edee.
Paa a dAG.
E:
A0:A( '01', 'A ', '', 1 )
A0:A( '02', ' ', '', 2 )
Dee da defcad() aa cada cee da ().
GRUPO01 defcad () dad a agae, 2 ae e e
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
49/134
AdP ad MVC 49
aeead agae e 1 de agae, ded e 1 Jaea; 2 Seaad
C agae cad, eca de a ca fa ae dee agae.Paa aeae a edade da ea de ag ca. Uae dSP, e de e a deahadaee ca E! Fe de efeca
ecada. E! Fe de efeca ecada..// C '
A0:( '*' , CB, '01' )
//
A0:( 'A0', CB, '02' )
A0:( 'A0' , CB, '02' )
Vaee e:
O:O agae e ebd a ()a de de a ca.
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
50/134
50 AdP ad MVC
9.7 A (SVA)
Ee a bdade de e eeca a f e aga ae da (). Ee ec de e ad ad ee eeca ag a e e e efe de de dad ()c Rde ea ee.
I e a ege ae:
da eface;
Acae d b cfa da ;
Acae d b cacea da ;
Dee da ha da
Reaa da ha da
Paa a d a SVA
A a ae ::A( , )
Ode:
AID ID d de a a e eecada e de e:
REFRESH Eeca a a Rda Ve;
BUTTONOK Eeca a a acae d b cfa da Ve;
BUTTONCANCEL Eeca a a acae d b cacea da Ve;
DELETELINE Eeca a a a dee da ha da
UNDELETELINE Eeca a a a eaa da ha da
A Bc c a a a e eecada. Recebe c ae:
REFRESH Recebe c ae be de Ve;
BUTTONOK Recebe c ae be de Ve;
BUTTONCANCEL Recebe c ae be de Ve;
DELETELINE Recebe c ae be de Ve, defcad () daVe e e da ha.
UNDELETELINE Recebe c ae be de Ve, defcad() daVe e e da ha
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
51/134
AdP ad MVC 51
E:
:A( 'B' , ( ) )
:A( 'BCAC', ( ) )
I: Ea ae eecada aea ad ee a (). O e ce ad e cae de d de, a aca . Deee ea e cca ea fe ae e a feca a ega deegc, a eec da aca e ea ae e eecada.
9.8 A (SFA)
Ee a bdade de e eeca a f a a ada de ca de agcee d de de dad ().
Ee ec de e ad ad ee eeca ag a e e eefe de, c Rde ea ab a ea aa, ee.
Paa a d a SFA.
A a ae :
:A( , )
Ode:
IDF ID d ca (e):
A Bc c a a a e eecada, ecebe c ae:
Obe De Ve
O defcad() Da Ve O defcad() D Ca
Ced D Ca
E:
:A( 'A1C', , , , ( , ,, ) )
I:
Ea ae eecada a a ada d ca.
Ea ae eecada aea ad ee a (). O e ce ad e cae de d de, a aca .
Deee ea e cca ea fe ae e a feca a ega deegc, a eec da aca e ea ae eeecada.
9.9 O (AOO)
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
52/134
52 AdP ad MVC
Na c de aga acae de e e eha e adca cee e fa ae da ad d , c gfc, caed,ec.
Paa ae dAOO
Sa ae :AOO( , )
Ode 1 ae defcad ()d AOOe 2 ae cdg debc e e eecad aa a ca d be.
O e a a fae a chaada da f, a eabdade de c e aaad dad cabe a deeed e a f.
E:
( "", 23( ) )
Ne e 2 ae ecebe c ae be e de deeed dee cca e be.
Aba ege ee d d d, de cca e eda da ()2be. Obee ce fe:
:= ():()
:( )
:( '3', 3, '3' )
:( '4', 4, '4' )
:( '5', 5, '5' )
// ""
:( '' , 20 )
:( '' , 40 )
:( '', 40 )
// 2 ""
:( '', 20, '' )
:( '', 80, '' )
// () ""
:( '3', '' )
:( '4', '' )
:( '5', '')
//
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
53/134
AdP ad MVC 53
:E( 'IEA3' )
:E( 'IEA4', "ICA D LB" )
:E( 'IEA5', "IEEE DA ICA" )
// A C
// A(FID,B)
// ID I
// B B C.
:A("HEAEL", C23B())
// A
:("HEAEL",'EBAIDI')
//
F C23B( )
L := .F.
// A
@ 10, 10 B 'E' 36, 13 'C FG' AC23ACA( 'A4DEAIL', 'E G ' )
@ 30, 10 B 'A/I.' 36, 13 'I A/I' A FE('I FE','C011C', DELEAIIE, , .. )
IL
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
54/134
54 AdP ad MVC
Vaee e:
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
55/134
AdP ad MVC 55
10.T
C d aeee abaha cad a eadad d Mcga Phe,ee abaha cad a ea. Ea ea, a e e de e cdaa a d eadad (dc).
Vee ag aae e de e fe a ea cfe a ecedade.
10.1 S (FWFS)
A ca a ea baeada eadad (dc), ad a fFWFS, ea ea e cdea d ca da edade, eead e,d, , ec.
Se e eeca a ca d eadad (dc) e fa ae daea, dee a 3 ae da FWFS, e bc de cdg ee eecada aa cada ca e a f e d eadad (dc) e eecebe c ae e d ca.
O bc de cdg dee ea a gc, de e .T. (edade) ca fa aeda ea, e .F. (fa) fa.
E:
L A0 := FF( 2, 'A0', C C11(C) )
Ode a f de e:
F C11( C )
L := ..
I C == 'A0D'
:= .F.
EI
N ee de f dad caA0QTDMUS fa ae da ea.
O dc de ca (SX3) d eadad cad aa cada ca.
I: Ee aae de e fe a aa a ea e e ada de de dad ()a a ().
M :Se f ed da ea da () cabga, e ee ed ebd aa , de de dad () fa aa ada ded e ca bga f eechd.
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
56/134
56 AdP ad MVC
10.2 R (RF)
Ua fa aa a eada de ca da ea d d RF.
E:
L A0 := FF( 2, 'A0')
A0: F('A0D')
N ee aca caA0QTDMUSf ed da ea.
I: Ee aae de e fe a aa a ea e e ada de de dad ()a a ().
M : Se f ed da ea da () cabga, e ee ed ebd aa , de de dad () fa aa ada ded e ca bga f eechd.
10.3 A (SP)
A ca a ea baeada eadad (dc), ad a fFWFS, eeada a edade e ca e c ada,caad ad e d de ed, ec.
Se he a ecedade de da aga edade d ca a ea, ae d SPaa .
A0:( 'A0D' , DELFIELDHE,'ICLI')
Ode 1 ae e d ca e e deea da ab a edade 2
a edade e ea ed aada e 3 a aa a edade.N ee ae caA0QTDMUS de e edad a ea de c.
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
57/134
AdP ad MVC 57
A edade aa ca da ea d de de dad ():
P (M)
T D
MODEL_FIELD_TITULO C T
MODEL_FIELD_TOOLTIP C Dec cea d ca
MODEL_FIELD_IDFIELD C Ne ()
MODEL_FIELD_TIPO C T
MODEL_FIELD_TAMANHO N Taah
MODEL_FIELD_DECIMAL N Deca
MODEL_FIELD_VALID b Vada
MODEL_FIELD_WHEN B Md de ed
MODEL_FIELD_VALUES A La de ae ed d ca (cb)
MODEL_FIELD_OBRIGAT L Idca e ca e eeche
bga
MODEL_FIELD_INIT B Icaad ad
MODEL_FIELD_KEY L Idca e ca chae
MODEL_FIELD_NOUPD L Idca e ca de ecebe a e a
ea de .
MODEL_FIELD_VIRTUAL L Idca e ca a
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
58/134
58 AdP ad MVC
A edade aa ca da ea da ():
P (V) T D
MVC_VIEW_IDFIELD C Ne d Ca
MVC_VIEW_ORDEM C Ode
MVC_VIEW_TITULO C T d ca
MVC_VIEW_DESCR C Dec d ca
MVC_VIEW_HELP A Aa c He
MVC_VIEW_PICT C Pce
MVC_VIEW_PVAR B Bc de Pce Va
MVC_VIEW_LOOKUP C Ca F3
MVC_VIEW_CANCHANGE L Idca e ca ede
MVC_VIEW_FOLDER_NUMBER C Paa d ca
MVC_VIEW_GROUP_NUMBER C Agae d ca
MVC_VIEW_COMBOBOX A La de ae ed d ca (Cb)
MVC_VIEW_MAXTAMCMB N Taah Ma da a d cb
MVC_VIEW_INIBROW C Icaad de
MVC_VIEW_VIRTUAL L Idca e ca a
MVC_VIEW_PICTVAR C Pce Vae
O e de edade cad a abea dada a edade dea de cad #DEFINE.
Paa a ee #DEFINE ec c a ege dea fe:#ICLDE 'FCDEF.CH'
Tab e ab a edade aa d ca da ea de ead e d ca aec "*"
A0:( '*' , DELFIELDHE,'ICLI')
10.4 C (AF)
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
59/134
AdP ad MVC 59
Se e ca ca e a ea eee, a dA.
H dfeea a eca de ae dee d aa adca ca aa aea d de de dad () da ().
Sa ae aa de de dad ():
AF ( cT, cT, cIdFed, cT, Taah, Deca, bVad, bWhe, aVae,Obga, bI, Ke, NUd, Va, cVad)
O:
T T d ca;
T T d ca;
IF Id d Fed;
T T d ca;
T Taah d ca;
D Deca d ca;
V Cdebc de ada d ca;
Cdebc de ada d d de ed d ca;
V La de ae ed d ca;
O Idca e ca e eeche bga;
I Cdebc de caa d ca;
K Idca e aa de ca chae;
NU Idca e ca de ecebe a e a ea de ;
V Idca e ca a;
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
60/134
60 AdP ad MVC
A eg eefca e :
L SA0 := FWFS( 1, 'A0' )
SA0:AF( ; // O. T D.
AT( 'E 1' ) , ; // 01 C T
AT( 'C E 1' ) , ; // 02 C TT
'A0XEXEM1' , ; // 03 C (ID) F
'C' , ; // 04 C T
1 , ; // 05 N T
0 , ; // 06 N D
FBF( STRUCTFEATUREVALID,"P('12')"), ; // 07 B C
NIL , ; // 08 B C W
'1=S','2=N' , ; // 09 A L
NIL , ; // 10 L I
FBF( STRUCTFEATUREINIPAD, "'2'" ) , ; // 11 B C
NIL , ; // 12 L I
NIL , ; // 13 L I .
.T. ) // 14 L I
Sa ae aa a ():AF( cIdFed, cOde, cT, cDecc, aHe, cTe, cPce, bPcVa, cLU,CaChage, cFde, cG, aCbVae, MaLeCb, cIB, Va, cPcVa,IeLe )
O:
IF Ne d Ca;
O Ode;
T T d ca;
D Dec cea d ca;
H Aa c He;
T T d ca;
P Pce;
PV Bc de PceVa;
LU Ca F3;
CC Idca e ca ede;
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
61/134
AdP ad MVC 61
F Paa d ca;
G Agae d ca;
CV La de ae ed d ca (cb);
MLC Taah da a d cb;
IB Icaad de V Idca e ca a;
PV Pce Vae;
Aba eefca e ::
L SA0 := FWFS( 2, 'A0' )
SA0:AF( ; // O. T D.
'A0XEXEM1' , ; // 01 C N C
'50' , ; // 02 C O
AT( 'E 1' ) , ; // 03 C T
AT( 'C E 1' ) , ; // 04 C D
'E C M 1' , ; // 05 A A H
'C' , ; // 06 C T
'@!' , ; // 07 C P
NIL , ; // 08 B B P V
'' , ; // 09 C C F3
.T. , ; // 10 L I
NIL , ; // 11 C P
NIL , ; // 12 C A
'1=S','2=N' , ; // 13 A L (C)
NIL , ; // 14 N T M
NIL , ; // 15 C I B
.T. , ; // 16 L I
NIL ) // 17 C P V
O.: O ca d gc e ebd c a ()
10.5 F (FWBF)
Aga edade d ca da ea ede a c eecfca de bc decdg. A e ab aa ea edade ea dee e fada ade eea.
A e aa ea edade aa e acae deee a a fFWBFaa ca.
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
62/134
62 AdP ad MVC
E:
FBF( STRUCTFEATUREVALID,"P('12')" )
Ode 1 ae dca a a edade a e cda e 2 ced a eabd. O 2 ae dee ee e ea dad d caace.
A edade e eca e aada c ea f :
STRUCTFEATUREVALID Paa a
STRUCTFEATUREHEN Paa
STRUCTFEATUREINIPAD Paa
STRUCTFEATUREPICTVAR Paa PV
O e de edade cad aca a edade #DEFINE. Paa a ee#DEFINE ec c a ege dea fe:
#INCLUDE 'FWMVCDEF.CH'
O.: Ue ee ea a f FWBFaa a c da edade dc de ce e a aca, a c a aaa da ae deea aa cee de f.
10.6 C MEMO (FWMV)
Ag ca d MEMO ae de abea aa a gaa de e ae (SYP 3),ee ca dee e fad a ea aa e cga fae e
aae ceaee.
Ua aa a f FWMV.
E:
FWMV( SA1, 'A0CDSYP1' , 'A0MMSYP1' , 'A0CDSYP2' , 'A0MMSYP2'
)
Paa ee ca MEMO ee dee hae ca e ce cdg c e ca MEMO f aaead a abea aa
N ee, SA1 a ea e c ca MEMO e egd ae
e bdea de cada a eaca ca da ea e c cdg dca MEMO c ca MEMO aee d.
3P M P MEMO
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
63/134
AdP ad MVC 63
Se a abea aa a e ada f a SYP, 3 ae dee e aad ebdea, c aa da abea aa.
FWMV( SA1, 'A0CDSYP1' , 'A0MMSYP1', '1' , 'A0CDSYP2' ,'A0MMSYP2' , '1' )
O:Ta ca MEMO a ca e aaea e cdg dee faeae da ea.
10.7 C (AT / FST)
Se e adca gah a a ea eee, a dAT
Sa ae :
AT( IF, TIF, P, SV )
Ode:
IF Ne ()d ca de ge;
TIF Ne ()d ca de de;
P Bc de cdg de ada da eec d gah;
SV Bc de cdg de eec d gah;
O bc de cdg dee d ede a c eecfca. A e ab aa ea edade dee e fada ad e eea.
Paa faca a c d gah f cada a f FST, ea ea
c 4 eee faad aa AT.
Sa ae :
FST ( cD, cCD, cRega, See, cAa, Ode, cChae, cCdc )
O:
D Ca D;
CD Ca de Cad;
R Rega de Peeche;
S Se caa ae da eec d gah;
A Aa da abea a e cada;
O Ode da abea a e cada;
C Chae de bca da abea a e cada;
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
64/134
64 AdP ad MVC
C Cd aa eec d gah ;
Eefcad:
L SA2 := FWFS( 2, 'A2' )
L A :=
A := FST(;
'A2AUTOR' ,;
'A2NOME' ,;
'A0>A0NOME'..,;
.T...............,;
'A0'........ ,;
1............ ,;
'F("A0")+M>A2AUTOR')
S:AT( ;
A1 , ; // 01 (ID)
A2 , ; // 02 (ID)
A3 , ; // 03 B
A4 ) // 04 B
10.8 R (SNF)
Se e ea a aa e e cfgada e a ea, ee, e da f FWFS, a d SNF. Da ege fa:
L SA0 := FWFS( 2, 'A0' )
// R
SA0:SNF()
10. 9 R (SNG)
Se e ea agae de ca e e cfgada e a ea,
ee, ad a a f FWFS, a d SNG. Daege fa:
L SA0 := FWFS( 2, 'A0' )
// R
SA0:SNG()
11.C (AC)
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
65/134
AdP ad MVC 65
E e ca aacaee cee c de caaade cade, cee de cc.
O ca d cee de cc baead e cee de d de.Aaad cee de aacaee ca d cee de cce aaad.
OA cee de de de dad ()ee
Sa ae :
AC (cId, cOe, cIdF, cIdFed, cIdCac, cOea, bCd, bIVae, cTe,bFa, Taah, Deca)
O:
I Idefcad d cee de cc;
O Idefcad d cee e (). N eceaaee
cee de de de dad. Naee e AFca d de de dad ()
IF Cdg d cee de e c ca, a e e efee cacacad;
IF Ne d ca d cee de a e e efee ca cacad;
IC Idefcad (e) aa ca cacad;
O Idefcad da ea a e eaada.
A :
SUM Fa a a d ca d cee de
COUNT Fa a cage d ca d cee de
AVG Fa a da d ca d cee de
FORMULA Eeca a fa aa ca d cee de
C Cd aa aaa d ca cacad. Recebe c ae bed de. Read .T. (edade) eeca a ea d ca cacad;
Ee: Mde ee (Mde);
IV Bc de cdg aa a ca aa ca cacad. Recebe cae be d de;
Ee: Mde ee (Mde);
T T aa ca cacad;
F Fa a e ada ad ae cOea d FORMULA.
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
66/134
66 AdP ad MVC
Recebe c ae: be d de, a da aa d cafa, ced d ca d cee de , ca gc dcad e a eec de a (.T. (edade)) ba (.F. (fa));
O a ead e abd a ca cacad;
E: Mde, TaAa, Va, Sad Cac( Mde, TaAa, Va,Sad ) ;
T Taah d ca cacad (Se f fad a aahad). O aah ade aa a eae :
SUM Se aah d ca d cee de + 3;
Se ca d cee de e aah de 9, cacacad e 12.
COUNT Se aah e f e 6;
AVG Se aah d ca d cee de . Se ca dcee de e aah de 9, ca cacad e 9;
FORMULA Se aah d ca d cee de + 3. Se ca dcee de e aah de 9, ca cacad e 12;
D Ne de caa deca d ca cacad;
O:Paa a eae de SUMe AVG ca d cee de e de ed c.
E:
S F MD()
...
M:AC( 'COMP022CALC1', 'A1MASTER', 'A2DETAIL', 'A2AUTOR', 'A2TOT01','COUNT', FW COMP022CAL( FW, .T. ) ,,'T P' )
M:AC( 'COMP022CALC1', 'A1MASTER', 'A2DETAIL', 'A2AUTOR', 'A2TOT02','COUNT', FW COMP022CAL( FW, .F. ) ,,'T I' )
...
O:
COMP022CALC1 defcad d cee de cc;A1MASTER defcad d cee e (e);
A2DETAIL cdg d cee de gd de de dad;
A2AUTOR e d ca d cee de gd a e e efee cacacad;
A2TOT01 Idefcad (e) aa ca cacad;
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
67/134
AdP ad MVC 67
COUNT Idefcad da ea a e eaada;
FW COMP022CAL( FW, .T. ) a cd aa aaa d ca cacad;
'T P' aa ca cacad;
Na VDab e e fae a def d cee de cc. O dad ad
e cee de cc baead e cee de , , a aeb e d da ea fa e cee de f, a aa cee de cc AFe aa be a ea e f cada a MDa FWCS.
E:
S F V
...
// C E
C1 := FWCS( M:GM( 'COMP022CALC1') )
//A V FG( )V:AF( 'VIEWCALC', C1, 'COMP022CALC1' )
...
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
68/134
68 AdP ad MVC
12.O MVC
Aga fe de e eecaee e dae deee de a aca.
12.1 E (FWEV)
Fa a eec da ()c a deeada ea.
Ea f aca a ()e ceeeee de de dad ()ca eae de , , . A e dea fae aee e faa a feAXVISUAL,AXINCLI,AXALTERAeAXDELETA.
Sa ae :
FWEV (cT, cPgaa, Oea, Dg, bCeOO, bO, PecRedca,aEabeB, bCace )
O:
T T da aea;
P Ne d gaafe;
O Idca cdg de ea (c, aea ec);
D Obe da aea e e Ve dee e ccad. Se fad, aa aea e cada;
COOK Idca e a aea dee e fechada a fa da ea. Se ee ea .T.(edade) fecha a aea;
O Bc eecad acae d b cfa e ead .F. (fa)ed fechae da aea;
PR Se fad ed a aea e eceaee;
EBIdca be da baa de be e ea habad;
C Bc eecad acae d b cacea e ead .F. (fa)ed fechae da aea;
O :
0 Se faa a ea c b cfa;
1 Se faa a ea c b cacea;
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
69/134
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
70/134
70 AdP ad MVC
Paa ca be c de de dad de a aca, a fFWLM.
Sa ae :
FWLM( )
E:
S F MD()
// U
R FWLM( 'COMP011MVC' )
12.5 C (FWLV)
Paa ca be c de de dad de a aca, a fFWLV.
Sa ae :
FWLV( )
E:
S F VD()
// U
R FWLV( 'COMP011MVC' )
12.6 C
(FWLM)Paa ca e c a e de e de a aca, a a fFWLM.
Sa ae :
( )
E:
S F MD()
// U
R FWLMD( 'COMP011MVC' )
12.7 O (FWMVCM)
Pde ca e c e ad aa MVC ad a f FWMVCMENU.
Sa ae :
FWMVCMENU( )
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
71/134
AdP ad MVC 71
E:
//
S F MD()
R FWMVCM( 'COMP011MVC' ))
Se cad e ad c a e: V, I, A, E, I C.
13.B (FMB)
Se e c a aca c e e a ca aa aca,aee a f MB adca, ae a caeFWMB.
A c a FWB (e ca. 0 3.Acae c Be (), aFWMB ecaee d de e ada ab acae e
a.
Nee ced afdae ec da FWMB, faae a dea ca fe e caaceca aa e acae c .
C ea, ec e haa ca a abea d caace c aah de 2 ee ecebe fcaee a aca. Se geada a aca dfeee cada e e aFWMBf eecada.
Icae a c bca de FWMB.
Peaee deee ca be Bda ege fa:
M := FWMB():N()
Def a abea e e ebda a Be d SA. A ca, de, ec.aa a eb e bd aa d eadad (dc)
M:SA('A0')
Def e e ebd c d SD.
M:SD('S C A/I')
Def a e ca da abea e ecebe a aca fca.
M:SFM( 'A0OK' )
E a fa aa a cae
M:A()
C ea ea bca c a aca c B.
Ma ea e aea Bc ca de aca, eca def a
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
72/134
72 AdP ad MVC
a aa e acad. Paa , de cca MDda aca a fe aa acad.
ADD OPTION R TITLE 'P' ACTION 'UCOMP25PROC()' OPERATION 2 ACCESS 0
Na f e aa acad e ec defca e eg ea
acad. Paa abe a aca e ea ed ad e a dM.
L M := M:M()
E aa abe e eg e acad a d IMaad c aea aca.
I M:IM(M)
e ab cca a e c aa aea e de e(MD), a e ec ca ab de de dad ()e a ().
Tda a a caaceca da FWMBab e aca a FWMBcegeda, f, deahe, ec.
U ec e a FWMB e ce de aca eca d eg e.
Ode e 2 abe e FWMBe eae aca e eg FWMB e e aea dee eece a aca. Paa habaea caaceca a d SS.
Aba, ege ee da a d FWMB
U F COMP025MVC()
P M
// I
M := FWMB():N()
// D
M:SA('A0')
// D M:SS(.T.)
// D
M:SD('S C A/I')
// D
M:SFM( 'A0OK' )
// D
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
73/134
AdP ad MVC 73
M:AL( "A0TIPO=='1'", "YELLOW", "A" )
M:AL( "A0TIPO=='2'", "BLUE" , "I" )
// D
M:SFD( "A0TIPO=='1'" )
// A
M:A()
R NIL
//
S F MD()
L R :=
ADD OPTION R TITLE 'V' ACTION 'VIEWDEF.COMP025MVC' OPERATION 2 ACCESS 0
ADD OPTION R TITLE 'P' ACTION 'UCOMP25PROC()' OPERATION 2 ACCESS 0
R R
//
S F MD()
// U
R FWLM( 'COMP011MVC' )
//
S F VD()
// U V
R FWLV( 'COMP011MVC' )
//
U F COMP25PROC()
L A := GA()
L M := M:M()
L C := 0
A0>( GT() )
W !A0>( EOF() )
I M:IM(M)
C++
EI
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
74/134
74 AdP ad MVC
A0>( S() )
E
AMI( 'F ' + AT( S( C ) ) + ' .' )
RA( A )
R NIL
Vaee ee:
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
75/134
AdP ad MVC 75
14.M B
C a a da cae FWBde ecee acae c a de bedea cae, ea, de ecee acae e abaha c a B.
Pde ee deee a aca aa edd de eda, de eea B c cabeah d e e a c e a ea ea e cfef aegad e eg da B de cabeah, aacaee e aaad a a B.
Paa , baa ca a a aca 2 be da FWMBe eac ee. Aba deceee c fae . Cae a aca c 3 B.
Pe ca a ea Dc, cada d Bdee ea e be , aa ae FWLc 2 ha e e a dea haccae 2 ca.
Paa a deahe d FWLce a dcea eecfca TDN4.
C024C()
C := FGD( )
, F, , , B, B, B,A4, A5
D D D ' FB' F C1, C2 C3,C4
//
// C //
F := F():()
F:( D, .F., .. )
//
// D
//
F:A( '', 50, .F. ) // C "" 50%
F:AC( 'A', 100, .., '' ) // ""
100%
:= F:GC( 'A', '' ) //
4DN O D N M P
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
76/134
76 AdP ad MVC
//
//
//
F:A( 'D', 50, .F. ) // C "" 50%
F:AC( 'EF' , 50, .., 'D' ) // ""
50% F:AC( 'GH', 50, .., 'D' ) // "" 50%
:= F:GC( 'EF' , 'D' ) //
:= F:GC( 'GH', 'D' ) //
Fe ca a 3 B cfe dec ca 0 3.A B(FWMB).
Ee 1 B.
//
// FB A
//
B:= FB():()
B:( ) // A
//
B:D( "A" )
B:A( 'A3' )
B:D( 'C024C' ) // D
//
B:D( '1' ) // (D) BB:FB() // F
//
B:A()
Ne 2 d defd ee B: SPIDe FQB
O d SPID defe defcad() aa B, ece eee a de Ba aca.
O d FQB fa c e b Sea ebd a e dee B.C hae a de B b S e ccad aacaee e
eh dee, ee d fa c e ee aaea B.
Ne ab e a d SMD aa def de a fe dee ead aa a be MD. Qad a SMDaacaee Bbca fe de ee e eca Ma e ad.
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
77/134
AdP ad MVC 77
Ee 2 3B:
B:= FB():()
B:( )
B:D( '' )
B:D( '' ) //
//
B:DD()
B:A( 'A4' )
B:D( '2' )
B:A()
B:= FB():()
B:( )
B:D( 'A/' )B:D( '' ) //
//
B:DD()
B:A( 'A5' )
B:D( '3' )
B:A()
Ne e ee Ba d SMDc a efeca aa, cee e aea B ca eha be de a, e def SMD, aacaee, Bbca fe de ee e eca e c
a efeca aa ebd be.
Aga e def Beca fae eacae ee ee, aa e aefea e e , aacaee ea aaad.
Paa ca eacae ae a cae FWBR. Saee a eeacae ee edade fe de de dad () ec de a achae de eacae d aa .
Iacae FWBRe ae e dAR.
A ae dee d d FWBR:
AR( , , )
C e 3 ee 2 eacae:
A4:= FB():()
A4:A( , , 'A4FA', 'F( "A4" )' , 'A4AB' , 'A3AB' )
A4:A()
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
78/134
78 AdP ad MVC
A5:= FB():()
A5:A( , , 'A5FA', 'F( "A5" )' , 'A5AB' , 'A4AB' , 'A5CA', 'A4CA' )
A5:A()
Sege ee ce da aca c a B:
F C024C()
C := FGD( )
, F, , , B, B, B,A4, A5
D
D D D ' FB' F C1, C2 C3,C4
//
// C
//
F := F():()
F:( D, .F., .. )
//
// D
//F:A( '', 50, .F. )
// C "" 50%
F:AC( 'A', 100, .., '' )
// "" 100%
:= F:GC( 'A', '' )
//
//
//
//
F:A( 'D', 50, .F. )
// C "" 50%
F:AC( 'EF' , 50, .., 'D' )
// "" 50%
F:AC( 'GH', 50, .., 'D' )
// "" 50%
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
79/134
AdP ad MVC 79
:= F:GC( 'EF' , 'D' ) //
:= F:GC( 'GH', 'D' ) //
//
// FB A
//
B:= FB():()
B:( )
// A
B:D( "A" )
B:A( 'A3' )
B:D( 'C024C' )
// D
B:D( '1' )
B:FB()B:A()
//
// E
//
B:= FB():()
B:( )
B:D( '' )
B:D( '' )
//
B:DD()
B:A( 'A4' )
B:D( '2' )
B:A()
//
// D A/
//
B:= FB():()
B:( )
B:D( 'A/' )
B:D( '' )
//
B:DD()
B:A( 'A5' )
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
80/134
80 AdP ad MVC
B:D( '3' )
B:A()
//
//
/
A4:= FB():()
A4:A( B , B , 'A4FA', 'F( "A4" )' , 'A4AB' , 'A3AB' )
A4:A()
A5:= FB():()
A5:A( B, B, 'A5FA', 'F( "A5" )' , 'A5AB' , 'A4AB' , 'A5CA', 'A4CA' )
A5:A()
A D D C
//
F D()
FD( 'C023C' )
//
F D()
//
F( 'C023C' )
//
F D()
//
F( 'C023C' )
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
81/134
AdP ad MVC 81
Vaee ee:
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
82/134
82 AdP ad MVC
15.R
Qad a aca deeda ade cce de e a cae, deefae de e de de dad e a acae, aee a e ea a deee adca.
N ee a da f MSEA. A da bca aca de de dad()e e deea, ab ae a ee e fae a ada.
Paa eh eede, ae de ee fe aba, de e fa e eea a aa a de cada e.
Obee ce.
//
//
//
031()
:=
:=
:= 0
:= ' '
1 := ' /'
2 := ' .'
3 := ''
:= ..
( , 1 )
( , 2 )
( , 3 )
( , 1, .., := 1, () )
( , 2, .., () )
( , , )
== 1
( := () ,'','...',..)
( ' .', '' )
( ' .', '' )
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
83/134
AdP ad MVC 83
//
//
//
()
: ..
:
//
:
( , '0', '000100' )
( , '0' , ' ' )
( , '0' , '...' )( , '0' , '' )
!( '0', )
: ..
//
:
( , '0', '000102' )
( , '0' , ' ' )
( , '0' , '...' )
( , '0' , '' )
!( '0', )
: ..
//
:
( , '0', '000104' )
( , '0' , ' ' )
( , '0', '...' )
( , '0' , '' )
!( '0', )
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
84/134
84 AdP ad MVC
..
EI
R R
//
// I
//
S F I( A, C )
L M, A, S
L I := 0
L P := 0
L R := .T.
L A :=
SA( A )
SO( 1 )
// A (M)
// N COMP011MVC
// /
M := FWLM( 'COMP011MVC' )
// T : 3 I / 4 A / 5 E
M:SO( 3 )
// A
M:A()
// I
A := M:GM( A + 'MASTER' )
// O
S := A:GS()
A := S:GF()
F I := 1 T L( C )
// V
I ( P := S(A, AT( 3 )== AT(CI1) ) ) > 0
// M
I !( A := M:SV( A + 'MASTER', CI1, CI2) )
// C , (,
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
85/134
AdP ad MVC 85
)
// SV .F.
R := .F.
E
EI
EI
N I
I R
// F ,
// " "
// , .
I ( R := M:VD() )
// S ()
M:CD()EI
EI
I !R
// S LOG
E := M:GEM()
// A :
// 1 (ID)
// 2 (ID)
// 3 (ID) // 4 (ID)
// 5 (ID)
// 6
// 7
// 8 V
// 9 V
AGL( "I :" + ' ' + ATC( E1 ) + '' )
AGL( "I : " + ' ' + ATC( E2 ) + '' )
AGL( "I : " + ' ' + ATC( E3 ) + '' )
AGL( "I : " + ' ' + ATC( E4 ) + '' )
AGL( "I : " + ' ' + ATC( E5 ) + '' )
AGL( "M : " + ' ' + ATC( E6 ) + '' )
AGL( "M : " + ' ' + ATC( E7 ) + '' )
AGL( "V : " + ' ' + ATC( E8 ) + '' )
AGL( "V : " + ' ' + ATC( E9 ) + '' )
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
86/134
86 AdP ad MVC
ME()
EI
// D M
M:DA()
R R
Nee ee, e a a aa de de dad de h a ea deMD(PF). Tab e fae aca de de dad ()e deea, ab ae ee e fae a ada, e fae aa a daedade.
Obee ce:
//
// R I
//
U F COMP032MVC()
L S :=
L B :=
L O := 0
L T := 'IMPORTACAO DE MUSICAS'
L D1 := 'E '
L D2 := ' .'
L D3 := ''
L O := .T.
A( S, D1 )
A( S, D2 )
A( S, D3 )
A( B, 1, .T., O := 1, FB() )
A( B, 2, .T., FB() )
FB( T, S, B )
I O == 1
P( O := R() ,'A','P...',.F.)
I O
AMI( 'P .', 'ATENO' )
E
AMS( 'P .', 'ATENO' )
EI
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
87/134
AdP ad MVC 87
EI
R NIL
//
// R I
//
S F R()
L R := .T.
L CC :=
L CD :=
L A :=
// C
CC := CD :=
A( CC, 'A1TITULO' , 'LA, LA, LA,' )
A( CC, 'A1DATA', D() )
A :=
A( A, 'A2ITEM' , '01' )
A( A, 'A2AUTOR', '000100' )
A( CD, A )
A :=
A( A, 'A2ITEM' , '02' )
A( A, 'A2AUTOR', '000104' )
A( CD, A )
I !I( 'A1', 'A2', CC, CD )
R := .F.
EI
// I
CC := CD :=
A( CC, 'A1TITULO' , 'BLA, BLA, BLA' )
A( CC, 'A1DATA', D() )
A :=
A( A, 'A2ITEM' , '01' )
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
88/134
88 AdP ad MVC
A( A, 'A2AUTOR', '000102' )
A( CD, A )
A :=
A( A, 'A2ITEM' , '02' )
A( A, 'A2AUTOR', '000104' )
A( CD, A )
I !I( 'A1', 'A2', CC, CD )
R := .F.
EI
// I
CC :=
CD :=
A( CC, 'A1TITULO' , 'AP, AP, AP' )A( CC, 'A1DATA', D() )
A :=
A( A, 'A2ITEM' , '01' )
A( A, 'A2AUTOR', '000100' )
A( CD, A )
A :=
A( A, 'A2ITEM' , '02' )
A( A, 'A2AUTOR', '000102' )
A( CD, A )
I !I( 'A1', 'A2', CC, CD )
R := .F.
EI
R R
//// I
//
S F I( M, D, CM, CD )
L M, A, S
L I := 0
L J := 0
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
89/134
AdP ad MVC 89
L P := 0
L R := .T.
L A :=
L C :=
L H :=
L IE := 0
L A := .T.
SA( D )
SO( 1 )
SA( M )
SO( 1 )
// A (M)// N COMP022MVC
//
M := FWLM( 'COMP022MVC' )
// T : 3 I / 4 A / 5 E
M:SO( 3 )
// A
M:A()
// I
A := M:GM( M + 'MASTER' )
// O
S := A:GS()
A := S:GF()
I R
F I := 1 T L( CM )
// V
I ( P := S( A, AT( 3 ) == AT(CMI1 ) ) ) > 0
// M
I !( A := M:SV( M + 'MASTER', CMI1,
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
90/134
90 AdP ad MVC
CMI2 ) )
// C , (, )
// SV .F.
R := .F.
E
EI
EI
N
EI
I R
// I
A := M:GM( D + 'DETAIL' )
// O
S := A:GS()A := S:GF()
IE := 0
F I := 1 T L( CD )
// I
// ATENO: O (FORMGRID),
// , 2
I I > 1
// I
I ( IE := A:AL() ) I
// S AL() ,// // . S 1
R := .F.
E
EI
EI
F J := 1 T L( CDI )
// V
I ( P := S( A, AT( 3 ) == AT(CDIJ1 ) ) ) > 0
I !( A := M:SV( D + 'DETAIL',CDIJ1, CDIJ2 ) )
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
91/134
AdP ad MVC 91
// C , (, )
// SV .F.
R := .F.
IE := IE
EI
EI
N
I !R
E
EI
N
EI
I R
// F , ""
// , .
I ( R := M:VD() )
// S
// ()
M:CD()
EI
EI
I !R
// S
// LOG
E := M:GEM()
// A :
// 1 (ID)
// 2 (ID)
// 3 (ID)
// 4 (ID)
// 5 (ID)
// 6
// 7
// 8 V
// 9 V
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
92/134
92 AdP ad MVC
AGL( "I :" + ' ' + ATC( E1 ) + '' )
AGL( "I : " + ' ' + ATC( E2 ) + '' )
AGL( "I : " + ' ' + ATC( E3 ) + '' )
AGL( "I : " + ' ' + ATC( E4 ) + '' )
AGL( "I : " + ' ' + ATC( E5 ) + '' )
AGL( "M : " + ' ' + ATC( E6 ) + '' )
AGL( "M : " + ' ' + ATC( E7 ) + '' )
AGL( "V : " + ' ' + ATC( E8 ) + '' )
AGL( "V : " + ' ' + ATC( E9 ) + '' )
I IE > 0
AGL( "E I: " + ' ' + AT( ATC(IE ) ) + '' )
EI
ME()
EI
// D M
M:DA()
R R
Ua a e de e ecada, ca e e e e ceed aaca eee aa a ea de , fa da aca ea eaada aaabaha c a aca e ceeeee de hae a a acae e
a ea a aca.
A f FWMVCRA f cada aa e ea ece e ea acae, ehe a a chaada da a ad, de a fa de abaha, a aca fceda aa .
A f a ae aad fa ae de a aca(MSEXECAUTO) e fa acae d de, ab de ae e ada fa , gaad gaa egad.
Sa ae :
( M, A, OA, A, S, P )
Ode:
M Obe c de d f de dad;
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
93/134
AdP ad MVC 93
A Aa d ca;
OA Cdg de defca d de ceae da a aca;
[3] Ic
[4] Aea[5] Ec
A Aa c dad da a aca a ege ea;
[][1] Cdg d f d Mde e e a ab;
[][2] Aa ad d dad da EchA e GeDA, cfe dceaae;
S Idca e a ca dee e cad c bae dad fecd;
P Idca e Oc dee e cacad c bae aRa;
A a aca e e f ceda de abaha da da fa:
A a aca e
Icae d de.
N ee a eg e a a de cada de h aae aa , e dad RA, OA fe aad, dca e a aca f chaada aaca e a a a FWMVCRA.
E ea c ede e e a acae ab e ace de de dad()deaee.
F MATA030MVC(RA,OA)
L MB
I RA == NIL
B := FMB():N()
B:SA('SA1')
B:SD("C C")
B:A()
E
R := MD()
FMVCRA(MD(),"SA1",OA,"MATA030SA1",RA)
E
R NIL
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
94/134
94 AdP ad MVC
16.P MVC
P de eada de cad eecad dece da acae.
A e ecee a aca ad , aacaee ea de
de eada defd.
A da de de eada, aa fe deed ade cce de e acae, c dfeee da acae deeda de aea ceca.
N fe ceca e aa cada de eada cad, ee, aa MATA010 Cada de Pd, e de eada: MT010BRW,MTA010OK, MT010CAN, ec. E , dea fa.
E ca c de eada e ee chaad e e de daaca deeda.
Ee de eada c dee e a U Fe e c e defcad()d de de dad () d fe. Pege de ee fe d Md Jdc:JURA001. Nee fe defcad() d de de dad (defd a f MD) abJURA001, a a e ecee de eada dea aca, faa:
U F JURA001()
L P := PARAMIB
L R := .T.
...
R R
O de eada cad ecebe a ae (PARAMIXB) e c fae
efeee aca. Ee ae aa aa cada a, e c d ee e 3 e eee e ad aba, ad ege ee a ea deae aa cada ID:
Pe d aa de ae c a d ID:
POS. TIPO DESCRIO
1 O Obe d f d de, cfe ca
2 C ID d ca de eec d de eada
3 C ID d f
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
95/134
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
96/134
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
97/134
AdP ad MVC 97
FORMCOMMITTTSPRE
Ae da gaa da abea d f.
Pae Recebd:
1 O Obe d f d de, cfe ca.2 C ID d ca de eec d de eada.
3 C ID d f.
4 L Se .T. (edade) dca eg (Ic) e .F.(fa) eg eee (Aea / Ec) .
Re:
N eea e.
FORMCOMMITTTSPOS
A a gaa da abea d f.
Pae Recebd:
1 O Obe d f d de, cfe ca.
2 C ID d ca de eec d de eada.
3 C ID d f.
4 L Se .T. (edade) dca eg (Ic) e .F.(fa) eg eee (Aea / Ec).
Re:
N eea e.
FORMCANCEL
N caceae d b.
Pae Recebd:
1 O Obe d f d de, cfe ca.
2 C ID d ca de eec d de eada.
3 C ID d f.
Re:
Ree e gc.
MODELVLDACTIVE
Na aa d de
Pae Recebd:
1 O Obe d f d de, cfe ca.
2 C ID d ca de eec d de eada.
3 C ID d f.
Re:
Ree e gc.
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
98/134
98 AdP ad MVC
BUTTONBAR
Paa a c de be a CBa.
Paa ca be deee ea aa bdea c aege ea de cada e:
1 C T aa b.
2 C Ne d Ba aa eb.
3 B CdeBc a e eecad.
4 C TT (Oca).
Pae Recebd:
1 O Obe d f d de, cfe ca.
2 C ID d ca de eec d de eada.
3 C ID d f.
Re:Ree aa de e c ea defda.
O:
Qad de de dad cee ( ee, de ), a 3 d e a defcad() dee cee;
Qad de e de deead e de eec f aad f aad c ead e ebda a eage ce aad be. Td ID e eea e dee e aad de eada.
I:
A e ecee fe e e e a U F, cdad a e ab defcad() d de de dad (), ee de e e ed fe (PRW). Se fe e e FONT001, defcad() d de dedad () de e ab FONT001, e e ca aU Fc e de FONT001(d de de dad) aa deeada.
E:
U F JURA001()
L P := PARAMIB
L R := .T.
L O := ''
L IP := ''
L IM := ''
L IG := .F.
L L := 0
L QL := 0
-
8/11/2019 AdvPL Utilizando MVC v1 0 - Portugus
99/134
AdP ad MVC 99
:= ''
I I
:= 1
I := 2
I := 3
IG := ( ( ) > 3 )
I IG
:= :G()
:= :
EI
I I == 'DE'
:= 'C (DE).' + CF
+= 'ID ' + I + CF
I !( := A( + 'C ?' ) )
H( ,, 'H',, ' DE .F.', 1, 0 )EI
EI I == 'F'
:= 'C (F).' + CF
+=