Pular para o conteúdo
Início » Advpl Modelo3

Advpl Modelo3

Modelo3

Tipo: Processamento

Executa cadastro semelhante ao cadastro de Pedidos de Venda, cabeçalho variável com itens.

Sintaxe

Modelo3(cTitulo,cAliasEnchoice,cAliasGetD,aCpoEnchoice,cLinOk,cTudOk,nOpcE,nOpcG,cFieldOk,

[lVirtual,nLinhas,aAltEnchoice])

Parâmetros

cTitulo – Título da janela

cAliasEnchoice – Álias do cabeçalho

cAliasGetd – Álias dos itens

aCpoEnchoice – Array com os campos que serão mostrados

cLinOk – Função para validar a mudança de linha nos itens.

cTudOk – Função para validar todos os itens.

nOpce – Número da opção do menu para o cabeçalho (Enchoice)

nOpcG – Número da opção do menu para o itens (GetDados)

cFieldOk – Função para validar os campos dos itens (GetDados)

lVirtual – Permite visualizar campos virtuais na enchoice.

Default = .F.

nLinhas – Limita o número máximo de linhas (GetDados)

Default = 99.

aAltEnchoice – Array com campos alteráveis (Enchoice)

Default = Todos.

Retorna

lRet – Retorno da função modelo3. Se True a operação foi confirmada.

Exemplo

aRotina := {{ “Pesquisa”,”AxPesqui”, 0 , 1},;

{ “Visual”,”AxVisual”, 0 , 2},;

{ “Inclui”,”AxInclui”, 0 , 3},;

{ “Altera”,”AxAltera”, 0 , 4, 20 },;

{ “Exclui”,”AxDeleta”, 0 , 5, 21 }}

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿

//³ Opcoes de acesso para a Modelo 3 ³

//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

cOpcao:=”VISUALIZAR”

Do Case

Case cOpcao==”INCLUIR”; nOpcE:=3 ; nOpcG:=3

Case cOpcao==”ALTERAR”; nOpcE:=3 ; nOpcG:=3

Case cOpcao==”VISUALIZAR”; nOpcE:=2 ; nOpcG:=2

EndCase

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿

//³ Cria variaveis M->????? da Enchoice ³

//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

RegToMemory(“SC5”,(cOpcao==”INCLUIR”))

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿

//³ Cria aHeader e aCols da GetDados ³

//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

nUsado:=0

dbSelectArea(“SX3”)

dbSeek(“SC6”)

aHeader:={}

While !Eof().And.(x3_arquivo==”SC6″)

If Alltrim(x3_campo)==”C6_ITEM”

dbSkip()

Loop

Endif

If X3USO(x3_usado).And.cNivel>=x3_nivel

nUsado:=nUsado+1

Aadd(aHeader,{ TRIM(x3_titulo), x3_campo, x3_picture,;

x3_tamanho, x3_decimal,”AllwaysTrue()”,;

x3_usado, x3_tipo, x3_arquivo, x3_context } )

Endif

dbSkip()

End

If cOpcao==”INCLUIR”

aCols:={Array(nUsado+1)}

aCols[1,nUsado+1]:=.F.

For _ni:=1 to nUsado

aCols[1,_ni]:=CriaVar(aHeader[_ni,2])

Next

Else

aCols:={}

dbSelectArea(“SC6”)

dbSetOrder(1)

dbSeek(xFilial()+M->C5_NUM)

While !eof().and.C6_NUM==M->C5_NUM

AADD(aCols,Array(nUsado+1))

For _ni:=1 to nUsado

aCols[Len(aCols),_ni]:=FieldGet(FieldPos(aHeader[_ni,2]))

Next

aCols[Len(aCols),nUsado+1]:=.F.

dbSkip()

End

Endif

If Len(aCols)>0

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿

//³ Executa a Modelo 3 ³

//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

cTitulo:=”Teste de Modelo3()”

cAliasEnchoice:=”SC5″

cAliasGetD:=”SC6″

cLinOk:=”AllwaysTrue()”

cTudOk:=”AllwaysTrue()”

cFieldOk:=”AllwaysTrue()”

aCpoEnchoice:={“C5_CLIENTE”}

_lRet:=Modelo3(cTitulo,cAliasEnchoice,cAliasGetD,aCpoEnchoice,cLinOk,cTudOk,nOpcE,nOpcG,cFieldOk)

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿

//³ Executar processamento ³

//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

If _lRet

Aviso(“Modelo3()”,”Confirmada operacao!”,{“Ok”})

Endif

Endif

Return

Estude para provas de certificações em TI com os simulados Bynem

Veja também: