Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

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

Advpl Modelo2

Modelo2

Tipo: Processamento

Exibe formulário para cadastro segundo o modelo 2 (como a rotina de Nota Fiscal).

Sintaxe

M o d e l o 2 (c T í t u l o ,a C a b e c ,a R o d a p é ,a G d ,n O p ,c L O k ,c T O k ,

[aGetsGD,bF4,cIniCpos,nMax,aCordw,lDelget])

Parâmetros

cTítulo – Título da janela

aCabec – Array com os campos do cabeçalho

aRodapé – Array com os campos do rodapé

aGd – Array com as posições para edição dos itens (GETDADOS)

nOp – Modo de operação (3 ou 4 altera e inclui itens, 6 altera mas não

inclui itens, qualquer outro número só visualiza os itens)

cLOk – Função para validação da linha

cTOk – Função para validação de todos os dados (na confirmação)

aGetsGD – Array Gets editáveis (GetDados)

Default = Todos.

bF4 – Codeblock a ser atribuído a tecla F4.

Default = Nenhum.

cIniCpos – String com o nome dos campos que devem ser inicializados ao teclar seta para baixo (GetDados).

nMAx – Limita o número de linhas (GetDados).

Default = 99.

aCordw – Array com quatro elementos numéricos, correspondendo às coor-denadas

linha superior, coluna esquerda, linha interior e coluna

direita, definindo a área de tela a ser usada.

Default = Área de Dados Livre.

lDelget – Determina se as linhas podem ser deletadas ou não (GetDados)

Default = .T.

Retorna

lRet – Retorna .T. se for confirmado

Exemplo

//**************************************************

// 3,4 Permitem alterar getdados e incluir linhas

// 6 So permite alterar getdados e nao incluir linhas

// Qualquer outro numero so visualiza

nOpcx:=3

dbSelectArea(“Sx3”)

dbSetOrder(1)

dbSeek(“SX5”)

nUsado:=0

aHeader:={}

While !Eof() .And. (x3_arquivo == “SX5”)

IF X3USO(x3_usado) .AND. cNivel >= x3_nivel

nUsado:=nUsado+1

AADD(aHeader,{ TRIM(x3_titulo),x3_campo,;

x3_picture,x3_tamanho,x3_decimal,;

”ExecBlock(‘Md2valid’,.f.,.f.)”,x3_usado,;

x3_tipo, x3_arquivo, x3_context } )

Endif

dbSkip()

End

aCols:=Array(1,nUsado+1)

dbSelectArea(“Sx3”)

dbSeek(“SX5”)

nUsado:=0

While !Eof() .And. (x3_arquivo == “SX5”)

IF X3USO(x3_usado) .AND. cNivel >= x3_nivel

nUsado:=nUsado+1

IF nOpcx == 3

IF x3_tipo == “C”

aCOLS[1][nUsado] := SPACE(x3_tamanho)

Elseif x3_tipo == “N”

aCOLS[1][nUsado] := 0

Elseif x3_tipo == “D”

aCOLS[1][nUsado] := dDataBase

Elseif x3_tipo == “M”

aCOLS[1][nUsado] := “”

Else

aCOLS[1][nUsado] := .F.

Endif

Endif

Endif

dbSkip()

End

aCOLS[1][nUsado+1] := .F.

cCliente:=Space(6)

cLoja :=Space(2)

dData :=Date()

nLinGetD:=0

cTitulo:=”TESTE DE MODELO2″

aC:={}

// aC[n,1] = Nome da Variavel Ex.:”cCliente”

// aC[n,2] = Array com coordenadas do Get [x,y], em

// Windows estao em PIXEL

// aC[n,3] = Titulo do Campo

// aC[n,4] = Picture

// aC[n,5] = Validacao

// aC[n,6] = F3

// aC[n,7] = Se campo e’ editavel .t. se nao .f.

#IFDEF WINDOWS

AADD(aC,{“cCliente” ,{15,10} ,”Cod. do Cliente”,”@!”,;

‘ExecBlock(“MD2VLCLI”,.F.,.F.)’,”SA1″,})

AADD(aC,{“cLoja” ,{15,200},”Loja”,”@!”,,,})

AADD(aC,{“dData” ,{27,10} ,”Data de Emissao”,,,,})

#ELSE

AADD(aC,{“cCliente” ,{6,5} ,”Cod. do Cliente”,”@!”,;

ExecBlock(“MD2VLCLI”,.F.,.F.)’,”SA1″,})

AADD(aC,{“cLoja” ,{6,40},”Loja”,”@!”,,,})

AADD(aC,{“dData” ,{7,5} ,”Data de Emissao”,,,,})

#ENDIF

aR:={}

// aR[n,1] = Nome da Variavel Ex.:”cCliente”

// aR[n,2] = Array com coordenadas do Get [x,y], em

// Windows estao em PIXEL

// aR[n,3] = Titulo do Campo

// aR[n,4] = Picture

// aR[n,5] = Validacao

// aR[n,6] = F3

// aR[n,7] = Se campo e’ editavel .t. se nao .f.

#IFDEF WINDOWS

AADD(aR,{“nLinGetD” ,{120,10},”Linha na GetDados”,;

“@E 999”,,,.F.})

#ELSE

AADD(aR,{“nLinGetD” ,{19,05},”Linha na GetDados”,;

“@E 999”,,,.F.})

#ENDIF

#IFDEF WINDOWS

aCGD:={44,5,118,315}

#ELSE

aCGD:={10,04,15,73}

#ENDIF

cLinhaOk := “ExecBlock(‘Md2LinOk’,.f.,.f.)”

cTudoOk := “ExecBlock(‘Md2TudOk’,.f.,.f.)”

// lRet = .t. se confirmou

// lRet = .f. se cancelou

lRet:=Modelo2(cTitulo,aC,aR,aCGD,nOpcx,cLinhaOk,cTudoOk)

// No Windows existe a funcao de apoio CallMOd2Obj() que

// retorna o objeto Getdados Corrente

Return

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

Veja também: