Árvore de páginas

Exemplo de Ponto de entrada

Produto:

ADVPL

Versões:

Todas

Ocorrência:

Exemplo de ponto de entrada MA261CPO, MA261In e MA261D3

Ambiente:

P12

Passo a passo:

#include "protheus.ch"

#DEFINE USADO CHR(0)+CHR(0)+CHR(1)

User Function MA261CPO()


Local aTam := {}

aTam := TamSX3('D3_TESTE')

Aadd(aHeader, {'Titulo do Campo do Usuario' , 'D3_TESTE' , PesqPict('SD3', 'D3_TESTE' , aTam[1]) , aTam[1], aTam[2], '', USADO, 'C', 'SD3', ''})


Alert("MA261CPO")
Return Nil



User Function MA261In
Local nPosObs := aScan(aHeader,{|x|UPPER(Alltrim(x[2])) == "D3_TESTE"})

Alert("MA261IN")
SD3->(DbSkip(-1))
aCols[Len(aCols),nPosObs] := SD3->D3_TESTE // meu campo

SD3->(DbSkip())

// ajuste para nao ocorrer erro
Asize(acols[Len(aCols)], Len(aheader)+1)
aCols[Len(aCols), Len(aheader)+1] := .f.

Return


User Function MA261D3
Local nPosObs := aScan(aHeader,{|x|UPPER(Alltrim(x[2])) == "D3_TESTE"})

Alert("MA261D3")
RecLock('SD3',.F.)
SD3->D3_TESTE := aCols[n,nPosObs]

MsUnlock()

Return


Observações:

http://tdn.totvs.com/display/public/PROT/MA261IN+-+Preenche+valores+de+campos+na+tela+de+estorno

MA261D3 - Atualiza campos no momento da gravação

MA261CPO - Inclui campos para digitação em array