Árvore de páginas

Ponto de Entrada

Descrição:

Este ponto de entrada tem como finalidade permitir que o usuário possa inserir campos na tela de listagens dos orçamentos.

Parâmetros:

1o Parâmetro - Posição no Vetor

2o Parâmetro - .F. se foi chamado no momento de montagem da tela.

.T. se foi chamado no momento do Duplo Clique

Eventos:

aIntCab := {}

aIntIte := {}

aAdd(aIntCab,{STR0005 ,"C",60,"@!" })

aAdd(aIntCab,{STR0006 ,"C",60,"@!" })

aAdd(aIntCab,{STR0007 ,"D",35,"@D" })

aAdd(aIntCab,{STR0008 ,"N",55,"@E 999,999,999.99"})

 

 

aAdd(aTotais,{STR0014,0,0}) // TOTAL GERAL

aAdd(aTotais,{STR0015,0,0}) // TOTAL SELECIONADO

 

nPosVet := 1

while !((cQryAl001)->(eof()))

 

aAdd(aIntIte,{;

(cQryAl001)->(VS1_NUMORC),;

(cQryAl001)->(VS1_TIPORC),;

stod((cQryAl001)->(VS1_DATORC)),;

(cQryAl001)->(VS1_VTOTNF) })

 

// Ponto de entrada para inclusão de campo no listbox da tela

If ExistBlock("OX021TEL")

ExecBlock("OX021TEL",.f.,.f.,{nPosVet})

EndIf

 

aTotais[1,2] ++

aTotais[1,3] += (cQryAl001)->(VS1_VTOTNF)

aTotais[2,2] ++

aTotais[2,3] += (cQryAl001)->(VS1_VTOTNF)

nPosVet++

 

 

(cQryAl001)->(dbSkip())

enddo    

 

Programa Fonte:

OFIXA021.PRW  

Função:

OFIXA021         

Retorno:

N/A

 

Exemplo:

User Function OX021TEL()

nPosVet := ParamIxb[01] // Posicao do vetor

lDuploCli := ParamIxb[02] // Se .t. foi chamado no Duplo Clique

 

if !lDuploCli .and. nPosVet == 1

aAdd(aIntCab,{"Vendedor","C",60,"@!" })

aAdd(aIntCab,{"Cliente","C",60,"@!" })

Endif

 

dbSelectArea("VS1")

dbSetOrder(1)

dbSeek(xFilial("VS1")+(cQryAl001)->(VS1_NUMORC))

 

aAdd(aIntIte[nPosVet],VS1->VS1_CODVEN)

aAdd(aIntIte[nPosVet],VS1->VS1_CLIFAT)

 

Return