× Linguagem de Programação ADVPL

Perguntas Funcão F4 Lote

Mais
12 anos 1 mês atrás #6542 por romm4nno
Funcão F4 Lote foi criado por romm4nno
Pessoal, boa tarde.

Alguém sabe como faço para retornar o lote selecionado em um MsNewGetDados utilizando a função F4Lote()?

Criei um MsNewGetDados e consigo chamar a tela de seleção de lotes, porém ao dar duplo clique sobre o lote selecionado ou clicar em OK, este não é retornado.

Alguém já passou por isso?

Obrigado!
Fernando Nascimento

Por favor Acessar ou Registrar para participar da conversa.

Mais
12 anos 1 mês atrás #6543 por lalberto
Respondido por lalberto no tópico Re: Funcão F4 Lote
Qual é o nome da função padrão é f4lote() mesmo ?

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br

Por favor Acessar ou Registrar para participar da conversa.

Mais
12 anos 1 mês atrás #6546 por romm4nno
Respondido por romm4nno no tópico Re: Funcão F4 Lote
Olá Luiz!

É essa mesmo! F4Lote().
É a função que traz os lotes ao apertar a tecla F4, seja na rotina de inventário, transferências e etc.

Vc já viu ou fez alguma coisa do tipo?

Obrigado!
Fernando

Por favor Acessar ou Registrar para participar da conversa.

Mais
12 anos 1 mês atrás #6547 por lalberto
Respondido por lalberto no tópico Re: Funcão F4 Lote
Fernando faz um teste,

nas colunas aonde vc precisa retornar lote, renomeie o Header dela para

Alguma Coisa "_LOTECTL"

Pois a função aparentemente pesquisa o aheader e localiza a posição do acols com base no nome,
se estiver uzando uma tabela customizada, tente criar o campo parecido

por exemplo Z1_LOTECTL e adiciona na sua getdados, pra ver se funfa.

Esses são os campos preenchidos:

Do Case
Case (cESx == "D") .And. (cCampo == "_PRCVEN")
nPosPRC := nIndex

Case !(cESx == "D") .And. (cCampo == "_VUNIT")
nPosPRC := nIndex


Case !(cESx == "D") .And. (cCampo == "_PICM")
nPosAliqIcm := nIndex

Case (cCampo == "_NFORI")
nPosNNF := nIndex

Case cCampo == "_SERIE"
nPosSER := nIndex

Case cCampo == "_SERIORI"
nPosSER := nIndex

Case cCampo == "_ITEMORI"
nPosItOri:= nIndex

Case cCampo == "_IDENTB6"
nPosID6 := nIndex

Case cCampo == "_QUANT"
nPosQTD := nIndex

Case cCampo == "_QTDVEN"
nPosQTD := nIndex

Case cCampo == "_LOCAL"
nPosLoc := nIndex

Case cCampo == "_LOTECTL"
nPosLote:= nIndex

Case cCampo == "_NUMLOTE"
nPosSLote:= nIndex

Case cCampo == "_DTVALID"
nPosDtVld:= nIndex

Case cCampo == "_POTENCI"
nPosPoten:= nIndex
Case cCampo == "_PROVENT"
nPProvEnt:= nIndex

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br

Por favor Acessar ou Registrar para participar da conversa.

Mais
12 anos 1 mês atrás #6548 por romm4nno
Respondido por romm4nno no tópico Re: Funcão F4 Lote
Luiz,

Veja como estou criando os campos do aHeader:

dbSelectArea("SX3")
SX3->(dbSetOrder(2))
For _nX:=1 To Len(_aCampos)
If SX3->(dbSeek(_aCampos[_nX]))
nUsado++
If _aCampos[_nX] == "BC_PRODUTO"
_cTam := SX3->X3_TAMANHO
_cDec := SX3->X3_DECIMAL
_cPict := SX3->X3_PICTURE
_cNome := SX3->X3_TITULO
_cValid := " "
ElseIf _aCampos[_nX] == "B7_LOTECTL"
_cTam := SX3->X3_TAMANHO
_cDec := SX3->X3_DECIMAL
_cPict := SX3->X3_PICTURE
_cNome := SX3->X3_TITULO
_cValid := " "
ElseIf _aCampos[_nX] == "BC_TIPO"
_cTam := SX3->X3_TAMANHO
_cDec := SX3->X3_DECIMAL
_cPict := SX3->X3_PICTURE
_cNome := SX3->X3_TITULO
_cValid := " "
ElseIf _aCampos[_nX] == "BC_MOTIVO"
_cTam := SX3->X3_TAMANHO
_cDec := SX3->X3_DECIMAL
_cPict := SX3->X3_PICTURE
_cNome := SX3->X3_TITULO
_cValid := " "
ElseIf _aCampos[_nX] == "BC_DESCRI"
_cTam := SX3->X3_TAMANHO
_cDec := SX3->X3_DECIMAL
_cPict := SX3->X3_PICTURE
_cNome := SX3->X3_TITULO
_cValid := " "
ElseIf _aCampos[_nX] == "BC_QUANT"
_cTam := SX3->X3_TAMANHO
_cDec := SX3->X3_DECIMAL
_cPict := SX3->X3_PICTURE
_cNome := SX3->X3_TITULO
_cValid := " "
EndIf

AADD(aHeader,{ _cNome ,;
SX3->X3_CAMPO ,;
_cPict ,;
_cTam ,;
_cDec ,;
_cValid ,;
" " ,;
SX3->X3_TIPO ,;
SX3->X3_F3 ,;
SX3->X3_CONTEXT ,;
SX3->X3_CBOX ,;
" " ,;
" " ,;
" " ,;
" " ,;
" " ,;
" " })
EndIf
Next _nX

Aparentemente está correto...mas nao retorna o lote de jeito nenhum...

Obrigado!
Fernando

Por favor Acessar ou Registrar para participar da conversa.

Mais
12 anos 1 mês atrás #6552 por lalberto
Respondido por lalberto no tópico Re: Funcão F4 Lote
Você esta passando algum parâmetro ?

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.126 segundos
Joomla templates by a4joomla