×
Linguagem de Programação ADVPL
Perguntas Funcão F4 Lote
- romm4nno
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 16
- Obrigados Recebidos: 0
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
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.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
12 anos 1 mês atrás #6543
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
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.
- romm4nno
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 16
- Obrigados Recebidos: 0
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
É 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.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
12 anos 1 mês atrás #6547
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
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
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.
- romm4nno
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 16
- Obrigados Recebidos: 0
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
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.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
12 anos 1 mês atrás #6552
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
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.138 segundos